2023-09-12 18:58:10 +00:00
|
|
|
#include "..\script_component.hpp"
|
2022-09-01 18:38:22 +00:00
|
|
|
/*
|
|
|
|
* Author: PabstMirror
|
|
|
|
* Turret changed event handler. Determine if in a master turret
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* 0: Unit <OBJECT>
|
|
|
|
* 1: Turret <ARRAY>
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* None
|
|
|
|
*
|
|
|
|
* Example:
|
|
|
|
* [player, [0]] call ace_hunterkiller_fnc_turretChangedEH
|
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
|
|
|
|
|
|
|
params ["_player", "_playerTurret"];
|
|
|
|
TRACE_2("turretChangedEH",_player,_playerTurret);
|
|
|
|
|
|
|
|
GVAR(mode) = 0;
|
|
|
|
GVAR(targetTurret) = [];
|
|
|
|
|
|
|
|
if (_playerTurret isEqualTo []) exitWith {};
|
|
|
|
private _vehicle = vehicle _player;
|
|
|
|
private _config = configOf _vehicle;
|
|
|
|
|
|
|
|
// setVar can be real array or true/false
|
|
|
|
private _hkArray = _vehicle getVariable [QUOTE(ADDON), nil];
|
|
|
|
if (isNil "_hkArray") then {
|
|
|
|
_hkArray = if (isArray (_config >> QUOTE(ADDON))) then {
|
|
|
|
getArray (_config >> QUOTE(ADDON))
|
|
|
|
} else {
|
|
|
|
((getNumber (_config >> QUOTE(ADDON))) == 1)
|
|
|
|
};
|
|
|
|
};
|
|
|
|
if (_hkArray isEqualTo true) then { _hkArray = [[[0], 1], [[0,0], 3]]; };
|
|
|
|
if (_hkArray isEqualTo false) then { _hkArray = []; };
|
|
|
|
|
|
|
|
TRACE_1("",_hkArray);
|
|
|
|
if ((count _hkArray) != 2) exitWith {};
|
|
|
|
|
|
|
|
{
|
|
|
|
_x params ["_xTurret", "_xMode"];
|
|
|
|
TRACE_2("x",_playerTurret,_xTurret);
|
|
|
|
if (_xTurret isEqualTo _playerTurret) exitWith {
|
|
|
|
TRACE_3("seat active",typeOf _vehicle,_xTurret,_xMode);
|
|
|
|
GVAR(mode) = _xMode;
|
|
|
|
GVAR(targetTurret) = _hkArray # ((_forEachIndex + 1) % 2) # 0;
|
|
|
|
};
|
|
|
|
} forEach _hkArray;
|