2021-10-14 15:49:27 +00:00
|
|
|
#include "script_component.hpp"
|
|
|
|
|
|
|
|
["ace_settingsInitialized", {
|
|
|
|
TRACE_1("settings init",GVAR(enabled));
|
|
|
|
if (GVAR(enabled)) then {
|
2024-06-20 05:04:34 +00:00
|
|
|
[QGVAR(medicalDamage), LINKFUNC(medicalDamage)] call CBA_fnc_addEventHandler;
|
|
|
|
|
2021-10-14 15:49:27 +00:00
|
|
|
[QGVAR(bailOut), {
|
|
|
|
params ["_center", "_crewman", "_vehicle"];
|
|
|
|
TRACE_3("bailOut",_center,_crewman,_vehicle);
|
|
|
|
|
|
|
|
if (isPlayer _crewman) exitWith {};
|
2024-06-20 05:04:34 +00:00
|
|
|
if (!alive _crewman || {!([_crewman] call EFUNC(common,isAwake))}) exitWith {};
|
2021-10-14 15:49:27 +00:00
|
|
|
|
|
|
|
unassignVehicle _crewman;
|
|
|
|
_crewman leaveVehicle _vehicle;
|
|
|
|
doGetOut _crewman;
|
|
|
|
|
|
|
|
private _angle = floor (random 360);
|
|
|
|
private _dist = (30 + (random 10));
|
|
|
|
private _escape = _center getPos [_dist, _angle];
|
|
|
|
|
|
|
|
_crewman doMove _escape;
|
|
|
|
_crewman setSpeedMode "FULL";
|
|
|
|
}] call CBA_fnc_addEventHandler;
|
|
|
|
|
|
|
|
["Tank", "init", LINKFUNC(addEventHandler), true, [], true] call CBA_fnc_addClassEventHandler;
|
|
|
|
["Wheeled_APC_F", "init", LINKFUNC(addEventHandler), true, [], true] call CBA_fnc_addClassEventHandler;
|
2021-10-30 21:42:03 +00:00
|
|
|
|
2021-10-14 15:49:27 +00:00
|
|
|
if (GVAR(enableCarDamage)) then {
|
|
|
|
["Car", "init", LINKFUNC(addEventHandler), true, [], true] call CBA_fnc_addClassEventHandler;
|
|
|
|
};
|
|
|
|
|
|
|
|
// blow off turret effect
|
|
|
|
/*
|
|
|
|
Disabled temporarily due to issues with being able to repair tanks after death. Needs work
|
|
|
|
*/
|
|
|
|
/*["Tank", "killed", {
|
|
|
|
if (random 1 < 0.15) then {
|
|
|
|
(_this select 0) call FUNC(blowOffTurret);
|
|
|
|
};
|
|
|
|
}, true, [], true] call CBA_fnc_addClassEventHandler;*/
|
|
|
|
|
|
|
|
// event to add a turret to a curator if the vehicle already belonged to that curator
|
|
|
|
if (isServer) then {
|
|
|
|
[QGVAR(addTurretToEditable), {
|
|
|
|
params ["_vehicle", "_turret"];
|
|
|
|
|
|
|
|
{
|
2021-10-26 23:09:04 +00:00
|
|
|
_x addCuratorEditableObjects [[_turret], false];
|
|
|
|
} forEach (objectCurators _vehicle);
|
2021-10-14 15:49:27 +00:00
|
|
|
}] call CBA_fnc_addEventHandler;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
// init eject from destroyed vehicle
|
|
|
|
{
|
|
|
|
[_x, "init", {
|
|
|
|
params ["_vehicle"];
|
|
|
|
if (!alive _vehicle) exitWith {};
|
|
|
|
TRACE_2("ejectIfDestroyed init",_vehicle,typeOf _vehicle);
|
|
|
|
_vehicle addEventHandler ["HandleDamage", {call FUNC(handleDamageEjectIfDestroyed)}];
|
|
|
|
}, true, [], true] call CBA_fnc_addClassEventHandler;
|
|
|
|
} forEach EJECT_IF_DESTROYED_VEHICLES;
|
|
|
|
}] call CBA_fnc_addEventHandler;
|