diff --git a/A3A/addons/core/functions/Revive/fn_handleDamage.sqf b/A3A/addons/core/functions/Revive/fn_handleDamage.sqf index 6c71f1eae2..64758c5cb8 100644 --- a/A3A/addons/core/functions/Revive/fn_handleDamage.sqf +++ b/A3A/addons/core/functions/Revive/fn_handleDamage.sqf @@ -4,7 +4,8 @@ params ["_unit","_part","_damage","_injurer","_projectile","_hitIndex","_instiga // Functionality unrelated to Antistasi revive // Helmet popping: use _hitpoint rather than _part to work around ACE calling its fake hitpoint "head" -if (_damage >= 1 && {_hitPoint == "hithead"}) then +private _randomNumber = [1,100] call BIS_fnc_randomNum; +if (_damage >= 1 && {_hitPoint == "hithead"} && {helmetLossChance >= _randomNumber}) then { if (headgear _unit isNotEqualTo "") then { diff --git a/A3A/addons/core/functions/Revive/fn_handleDamageAAF.sqf b/A3A/addons/core/functions/Revive/fn_handleDamageAAF.sqf index 15c7cdf059..87272363d5 100644 --- a/A3A/addons/core/functions/Revive/fn_handleDamageAAF.sqf +++ b/A3A/addons/core/functions/Revive/fn_handleDamageAAF.sqf @@ -5,8 +5,9 @@ params ["_unit","_part","_damage","_injurer","_projectile","_hitIndex","_instiga // Functionality unrelated to Antistasi revive if (side group _injurer == teamPlayer) then { + private _randomNumber = [1,100] call BIS_fnc_randomNum; // Helmet popping: use _hitpoint rather than _part to work around ACE calling its fake hitpoint "head" - if (_damage >= 1 && {_hitPoint == "hithead"}) then + if (_damage >= 1 && {_hitPoint == "hithead"} && {helmetLossChance >= _randomNumber}) then { if (headgear _unit isNotEqualTo "") then {