ACE3/addons/medical/functions/fnc_adjustPainLevel.sqf

35 lines
910 B
Plaintext
Raw Normal View History

#include "..\script_component.hpp"
/*
* Author: PabstMirror
* Public interface to allow external modules to safely adjust pain levels.
* Added pain can be positive or negative (Note: ignores painCoefficient setting)
*
* Arguments:
* 0: The patient <OBJECT>
* 1: Added ammount of pain (can be negative) <NUMBER>
*
* Return Value:
* The new pain level <NUMBER>
*
* Example:
2024-07-17 19:49:23 +00:00
* [player, 0.5] call ace_medical_fnc_adjustPainLevel
*
* Public: Yes
*/
2024-07-17 19:49:23 +00:00
if (!EGVAR(common,settingsInitFinished)) exitWith {
EGVAR(common,runAtSettingsInitialized) pushBack [LINKFUNC(adjustPainLevel), _this];
};
if !(GETEGVAR(medical,enabled,false)) exitWith {};
params [["_unit", objNull, [objNull]], ["_addedPain", 0, [0]]];
if (!local _unit) exitWith { ERROR_1("unit [%1] is not local",_unit); };
private _pain = GET_PAIN(_unit);
_pain = 0 max (_pain + _addedPain) min 1;
_unit setVariable [VAR_PAIN, _pain];