mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
61 lines
2.1 KiB
Plaintext
61 lines
2.1 KiB
Plaintext
|
#include "script_component.hpp"
|
||
|
|
||
|
if (isServer) then {
|
||
|
_this spawn {
|
||
|
waitUntil { time > 0 };
|
||
|
private["_mortar", "_pitchBank", "_dir", "_rd", "_wpos", "_offset", "_stake1pos", "_rdDeg", "_stake1", "_stake2"];
|
||
|
|
||
|
_mortar = _this;
|
||
|
|
||
|
_pitchBank = _mortar call BIS_fnc_getPitchBank;
|
||
|
_pitchBank = _mortar call BIS_fnc_getPitchBank;
|
||
|
|
||
|
_mortar setVectorUp [0,0,0.0001];
|
||
|
|
||
|
_dir = getDir _mortar;
|
||
|
_stakesInfo = if (time < 30) then { [400,25] } else { [] };
|
||
|
_colInfo = _mortar getVariable ["ace_arty_collimator_setup", []];
|
||
|
_offsetPos = getArray(configFile >> "CfgVehicles" >> (typeOf _mortar) >> "ACE_ARTY_SETUP_OFFSETPOS");
|
||
|
_offsetAngle = 0.37;//getNumber(configFile >> "CfgVehicles" >> (typeOf _mortar) >> "ACE_ARTY_SETUP_OFFSET_STAKEANGLE");
|
||
|
if (count _stakesInfo == 2) then {
|
||
|
_stakesDeflection = _stakesInfo select 0;
|
||
|
_stakesDistance = _stakesInfo select 1;
|
||
|
_rd = DEG2MIL(_dir) - (_stakesDeflection-0.4);
|
||
|
if (_rd < 0) then {
|
||
|
_rd = _rd + 6400;
|
||
|
};
|
||
|
_rdDeg = MIL2DEG(_rd);
|
||
|
_wpos = _mortar modelToWorld _offsetPos;
|
||
|
_wpos set[2, 0];
|
||
|
|
||
|
_offset = (_rdDeg + MIL2DEG(_offsetAngle)) mod 360;
|
||
|
if(_offset < 360) then {
|
||
|
_offset = _offset + 360;
|
||
|
};
|
||
|
_stake1pos = [_wpos, _stakesDistance, _offset] call BIS_fnc_relPos;
|
||
|
_stake2pos = [_wpos, (_stakesDistance*2), _offset] call BIS_fnc_relPos;
|
||
|
|
||
|
_stake1pos set[2, -0.75];
|
||
|
_stake1 = "ACE_Arty_AimingPost_M1A2_M58" createVehicle _wpos;
|
||
|
|
||
|
_stake1 setDir _rdDeg+180 mod 360;
|
||
|
_stake1 setPos _stake1pos;
|
||
|
_stake1 setVectorUp [0,0,0.0001];
|
||
|
|
||
|
_stake2 = "ACE_Arty_AimingPost_M1A2_M59" createVehicle _wpos;
|
||
|
|
||
|
_stake2 setDir _rdDeg + 180 mod 360;
|
||
|
_stake2pos set[2, -0.5];
|
||
|
_stake2 setPosATL _stake2pos;
|
||
|
|
||
|
_stake2 setVectorUp [0,0,0.0001];
|
||
|
if (count _colInfo != 5) then {
|
||
|
_mortar animate ["OpticRevolve", _stakesDeflection];
|
||
|
_mortar setVariable [QGVAR(resetCounter), 3200-_stakesDeflection, true];
|
||
|
_mortar animate ["OpticElevate", 1100];
|
||
|
};
|
||
|
};
|
||
|
//_mortar setVariable [QGVAR(resetCounter), 3200+(_m119 getVariable QUOTE(GVAR(resetPhase))), true];
|
||
|
};
|
||
|
};
|