ACE3/addons/zeus/functions/fnc_moduleUnconscious.sqf
SilentSpike e147138274 Update setUnconscious module with to be indefinite
The zeus toggle unconscious module was using the default value for minimum unconscious time when it should have been indefinite (to act as a toggle)
2015-07-31 17:32:13 +01:00

48 lines
1.3 KiB
Plaintext

/*
* Author: SilentSpike
* Flips the unconscious state of the unit the module is placed on.
*
* Arguments:
* 0: The module logic <LOGIC>
* 1: units <ARRAY>
* 2: activated <BOOL>
*
* ReturnValue:
* nil
*
* Public: no
*/
#include "script_component.hpp"
PARAMS_3(_logic,_units,_activated);
private ["_mouseOver","_unit","_conscious"];
if !(_activated && local _logic) exitWith {};
if (isNil QEFUNC(medical,setUnconscious)) then {
[LSTRING(RequiresAddon)] call EFUNC(common,displayTextStructured);
} else {
_mouseOver = GETMVAR(bis_fnc_curatorObjectPlaced_mouseOver,[""]);
if ((_mouseOver select 0) != "OBJECT") then {
[LSTRING(NothingSelected)] call EFUNC(common,displayTextStructured);
} else {
_unit = effectivecommander (_mouseOver select 1);
if !(_unit isKindOf "CAManBase") then {
[LSTRING(OnlyInfantry)] call EFUNC(common,displayTextStructured);
} else {
if !(alive _unit) then {
[LSTRING(OnlyAlive)] call EFUNC(common,displayTextStructured);
} else {
_conscious = GETVAR(_unit,ACE_isUnconscious,false);
// Function handles locality for me
[_unit, !_conscious, 10e10, true] call EFUNC(medical,setUnconscious);
};
};
};
};
deleteVehicle _logic;