ACE3/addons/medical_status/functions/fnc_setCardiacArrestState.sqf

37 lines
1.1 KiB
Plaintext
Raw Permalink Normal View History

#include "..\script_component.hpp"
/*
* Author: Glowbal
* Marks a unit as in cardiac arrest and sets heart rate to 0.
* Will put the unit in an unconscious state if not already.
* For Internal Use: Called from the state machine entered/leftState funcs.
2015-02-07 23:08:36 +00:00
*
* Arguments:
* 0: The unit that will be put in cardiac arrest state <OBJECT>
* 1: Set CardiacArrest <BOOL>
*
* Return Value:
2015-08-22 17:47:23 +00:00
* None
*
* Example:
* [player, true] call ace_medical_status_fnc_setCardiacArrestState
*
* Public: No
2015-02-07 23:08:36 +00:00
*/
params ["_unit", "_active"];
TRACE_2("setCardiacArrestState",_unit,_active);
2015-02-07 23:08:36 +00:00
// No change to make
if (_active isEqualTo IN_CRDC_ARRST(_unit)) exitWith { TRACE_2("no change",_active,IN_CRDC_ARRST(_unit)); };
// No heart rate in cardiac arrest, low heart rate if revived
_unit setVariable [VAR_CRDC_ARRST, _active, true];
_unit setVariable [VAR_HEART_RATE, [40, 0] select _active, true];
2015-02-07 23:08:36 +00:00
// Cardiac arrest is an extension of unconsciousness, but only set when entering Cardiac arrest
if (_active) then {
[_unit, true] call FUNC(setUnconsciousState);
};
2015-02-07 23:08:36 +00:00
["ace_cardiacArrest", [_unit, _active]] call CBA_fnc_localEvent;