Skip to content

Ballistic Armor Level doesn't actually do anything #714

@eezstreet

Description

@eezstreet

Looking at the code for armor impacts here:

simulated function bool HandleBallisticImpact(
    Actor Victim,
    vector HitLocation,
    vector HitNormal,
    vector NormalizedBulletDirection,
    Material HitMaterial,
    ESkeletalRegion HitRegion,
    out float Momentum,
    out float KillEnergy,
    out int BulletType,
    vector ExitLocation,
    vector ExitNormal,
    Material ExitMaterial
    )
{
    local float MomentumToPenetrateVictim;
    local float MomentumLostToVictim;
    local vector MomentumVector;
    local bool PenetratesVictim;
    local int Damage;
    local SkeletalRegionInformation SkeletalRegionInformation;
    local ProtectiveEquipment Protection;
    local int ArmorLevel;
    local int BulletLevel;
    local float DamageModifier, ExternalDamageModifier;
    local float LimbInjuryAimErrorPenalty;
    local IHaveSkeletalRegions SkelVictim;
    local Pawn  PawnVictim;
	local PlayerController OwnerPC;

    BulletType = Ammo.GetBulletType();
    ArmorLevel = Protection.GetProtectionType(); // <-- `Protection` is always None here
    BulletLevel = Ammo.GetPenetrationType();

Protection isn't assigned at the point where it is at, leading to this call always failing and therefore likely not having any actual effect.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions