Files
MissionTemplate/framework/emp/functions/fn_applyLocalObjectEffects.sqf
2024-02-10 16:13:42 -08:00

28 lines
1004 B
Plaintext

#include "..\script_component.hpp"
// Executed on all clients, only continue if object is local.
// Local argument, global effect (the object owner broadcasts new state)
params [["_object", objNull, [objNull]]];
if (isNull _object) exitWith {};
if !(local _object) exitWith {};
_object disableAI "LIGHTS";
_object setPilotLight false;
_object setCollisionLight false;
if (_object isKindOf "CAManBase") then {
[_object] call FUNC(removeUnitElectricInventoryItems);
} else {
[_object] call FUNC(removeVehicleElectricInventoryItems);
};
[{ // once flicker effects are done, permanently disable lights
private _flickerHandle = _object getVariable QGVAR(flickerHandle);
!isNil "_flickerHandle" && {scriptDone _flickerHandle}
}, {
_object setHit ["light_1_hitpoint", 0.97]; //all possible light hitpoints
_object setHit ["light_2_hitpoint", 0.97]; //no lights escape this
_object setHit ["light_3_hitpoint", 0.97];
_object setHit ["light_4_hitpoint", 0.97];
}] call CBA_fnc_waitUntilAndExecute;