2016-09-04 09:25:03 +00:00
|
|
|
#include "script_component.hpp"
|
|
|
|
|
|
|
|
["ace_settingsInitialized", {
|
2016-09-06 03:35:01 +00:00
|
|
|
TRACE_1("settingsInitialized", GVAR(enabledFor));
|
|
|
|
if (GVAR(enabledFor) == 0) exitWith {}; // 0: disabled
|
|
|
|
if ((GVAR(enabledFor) == 1) && {!isServer} && {hasInterface}) exitWith {}; // 1: Don't Run on non-hc Clients
|
|
|
|
|
2016-09-04 09:25:03 +00:00
|
|
|
// Only run for AI that does not have to deal with advanced medical
|
|
|
|
if (EGVAR(medical,enableFor) == 1 || {hasInterface && {EGVAR(medical,level) == 2}}) exitWith {};
|
|
|
|
|
|
|
|
["ace_firedNonPlayer", {
|
|
|
|
_unit setVariable [QGVAR(lastFired), CBA_missionTime];
|
|
|
|
}] call CBA_fnc_addEventHandler;
|
|
|
|
|
|
|
|
if (hasInterface) then {
|
|
|
|
["ace_unconscious", {
|
|
|
|
params ["_unit", "_unconscious"];
|
|
|
|
if (!_unconscious || {_unit != ACE_player}) exitWith {};
|
|
|
|
|
|
|
|
private _medic = objNull;
|
|
|
|
{
|
|
|
|
if ((!isPlayer _x) && {[_x] call EFUNC(medical,isMedic)}) exitWith {
|
|
|
|
_medic = _x;
|
|
|
|
};
|
|
|
|
} forEach (units _unit);
|
|
|
|
if (isNull _medic) exitWith {};
|
|
|
|
|
|
|
|
private _healQueue = _medic getVariable [QGVAR(healQueue), []];
|
|
|
|
_healQueue pushBack _unit;
|
|
|
|
_medic setVariable [QGVAR(healQueue), _healQueue];
|
|
|
|
}] call CBA_fnc_addEventHandler;
|
|
|
|
};
|
|
|
|
|
|
|
|
GVAR(statemachine) = [configFile >> "ACE_Medical_AI_StateMachine"] call CBA_statemachine_fnc_createFromConfig;
|
|
|
|
}] call CBA_fnc_addEventHandler;
|