/* * Author: Glowbal, KoffeinFlummi * Disables/Enables AI * * Arguments: * 0: Unit * 1: Disable AI * * Return Value: * None * * Example: * [bob, true] call ace_common_fnc_disableAI * * Public: No */ #include "script_component.hpp" params [["_unit", objNull, [objNull]], ["_disable", true, [false]]]; if (!local _unit) exitWith {}; if !([_unit] call EFUNC(common,isPlayer)) then { if (_disable) then { _unit disableAI "MOVE"; _unit disableAI "TARGET"; _unit disableAI "AUTOTARGET"; _unit disableAI "FSM"; _unit disableConversation true; } else { //Sanity check to make sure we don't enable unconsious AI if (_unit getVariable ["ace_isunconscious", false] && alive _unit) exitWith { ACE_LOGERROR("Enabling AI for unconsious unit"); }; _unit enableAI "MOVE"; _unit enableAI "TARGET"; _unit enableAI "AUTOTARGET"; _unit enableAI "FSM"; _unit disableConversation false; }; };