diff --git a/addons/medical/functions/fnc_addPain.sqf b/addons/medical/functions/fnc_addPain.sqf index 3becb97a98..10e71bcfac 100644 --- a/addons/medical/functions/fnc_addPain.sqf +++ b/addons/medical/functions/fnc_addPain.sqf @@ -1,10 +1,10 @@ /* * Author: commy2 - * Adds pain to unit and plays a scream sound. + * Adds or removes pain to/from unit. * * Arguments: * 0: Unit - * 1: Pain to add + * 1: Pain to add. Negative to remove * * Return Value: * Nothing @@ -18,9 +18,12 @@ params ["_unit", "_painToAdd"]; -_painToAdd = _painToAdd min 1; - private _pain = _unit getVariable [QEGVAR(medical,pain), 0]; -_pain = _pain + _painToAdd * (1 - _pain); + +if (_pain > 0) then { + _pain = _pain + (_painToAdd min 1) * (1 - _pain); +} else { + _pain = (_pain + _painToAdd) max 0; +}; _unit setVariable [QEGVAR(medical,pain), _pain];