comment " Name | Source | Projectile | Instigator | | | VDM | Driver | Null | Null Vehicle Gun | Vehicle | Bullet | Gunner From Vehicle | Player | Bullet | Player On Foot | Player | Bullet | Player Fall Damage | Player | Null | Null Crashing | Null | Null | Null Fire | Null | Null | Null Explosion | Null | Explosion | Null "; cursorTarget addEventHandler [ "HandleDamage", { private _unit = param [0]; private _selectionName = param [1]; private _damage = param [2]; private _source = param [3]; private _projectile = param [4]; private _hitPartIndex = param [5]; private _instigator = param [6]; private _oldDamage = if (_hitPartIndex isEqualTo -1) then { damage _unit; } else { _unit getHitIndex _hitPartIndex; }; private _newDamage = call { comment "Ignore 0 Damage"; if (_damage isEqualTo _oldDamage) exitWith { _damage; }; comment "Crashing, Fire, Explosion"; if (isNull _source) exitWith { _damage; }; comment "Fall Damage" if (_source isEqualTo _unit) exitWith { _damage; }; private _sourceParent = objectParent _source; comment "VDM"; if (_projectile isEqualTo "") exitWith { comment "Check the source is in a vehicle"; if !(isNull _sourceParent) then { hint format ["You were VDM'd by %1", name _source]; }; _oldDamage; }; comment "Source is not on foot, shooting a vehicle's gun, or shooting from a vehicle that isn't a car / boat"; if !(isNull _sourceParent || { _sourceParent isKindOf "Car" } || { _sourceParent isKindOf "Boat" }) exitWith { _oldDamage; }; comment "Being shot by player"; private _sourceSide = side _source; private _sourceWeapon = currentWeapon _source; private _unitParent = objectParent _unit; comment "Player is Cop"; if (_sourceSide isEqualTo west) then { comment "Tazer: P07 Silenced, Rook-40 Silenced - Green Tracer 9mm"; if (_sourceWeapon in ["hgun_P07_snds_F", "hgun_Rook40_snds_F"] && { _projectile in ["B_9x21_Ball_Tracer_Green"] }) exitWith { comment "Only play animation if they are on foot"; if (isNull _unitParent) then { _unit switchMove "AinjPfalMstpSnonWnonDf_carried_fallwc"; }; _oldDamage; }; comment "Rubber Bullet: MK20, MK20C, SDAR - Green Tracer 556, Dual Purpose 556"; if (_sourceWeapon in ["arifle_Mk20_plain_F", "arifle_Mk20C_plain_F", "arifle_SDAR_F"] && { _projectile in ["B_556x45_Ball_Tracer_Green", "B_556x45_dual"] }) exitWith { comment "Only play animation if they are on foot"; if (isNull _unitParent) then { _unit switchMove "AcinPercMstpSnonWnonDnon_agony"; }; _oldDamage; }; }; }; comment "Default"; if (isNil "_newDamage") then { ["Invalid Damage: %1", _this] call BIS_fnc_error; _newDamage = _damage; }; _newDamage; } ];