This commit is contained in:
ulteq 2015-04-15 19:00:24 +02:00
commit b5a82e313e
19 changed files with 147 additions and 50 deletions

View File

@ -67,6 +67,7 @@ rakowozz
Raspu86
Riccardo Petricca <petriccarcc@gmail.com>
Robert Boklahánics <bokirobi@gmail.com>
ramius86 <pasini86@hotmail.com>
simon84
Sniperwolf572 <tenga6@gmail.com>
Tonic

View File

@ -29,11 +29,11 @@ if ((_unit getVariable [QGVAR(isHandcuffed), false]) isEqualTo _state) exitWith
if (_state) then {
_unit setVariable [QGVAR(isHandcuffed), true, true];
[_unit, QGVAR(Handcuffed), true] call EFUNC(common,setCaptivityStatus);
if (_unit getVariable [QGVAR(isSurrendering), false]) then { //If surrendering, stop
[_unit, false] call FUNC(setSurrendered);
};
//Set unit cargoIndex (will be -1 if dismounted)
_unit setVariable [QGVAR(CargoIndex), ((vehicle _unit) getCargoIndex _unit), true];
@ -47,30 +47,29 @@ if (_state) then {
if (_unit getVariable [QGVAR(isHandcuffed), false] && {vehicle _unit == _unit}) then {
[_unit] call EFUNC(common,fixLoweredRifleAnimation);
[_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation);
//Adds an animation changed eh
//If we get a change in animation then redo the animation (handles people vaulting to break the animation chain)
_animChangedEHID = _unit addEventHandler ["AnimChanged", {
PARAMS_2(_unit,_newAnimation);
if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
ERROR("Handcuff animation interrupted");
// systemChat format ["debug %2: new %1", _newAnimation, time];
TRACE_1("Handcuff animation interrupted",_newAnimation);
[_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation);
};
}];
_unit setVariable [QGVAR(handcuffAnimEHID), _animChangedEHID];
};
}, [_unit], 0.01, 0] call EFUNC(common,waitAndExecute);
} else {
_unit setVariable [QGVAR(isHandcuffed), false, true];
[_unit, QGVAR(Handcuffed), false] call EFUNC(common,setCaptivityStatus);
//remove AnimChanged EH
//remove AnimChanged EH
_animChangedEHID = _unit getVariable [QGVAR(handcuffAnimEHID), -1];
_unit removeEventHandler ["AnimChanged", _animChangedEHID];
_unit setVariable [QGVAR(handcuffAnimEHID), -1];
if (((vehicle _unit) == _unit) && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
//Break out of hands up animation loop
[_unit, "ACE_AmovPercMstpScapWnonDnon_AmovPercMstpSnonWnonDnon", 2] call EFUNC(common,doAnimation);

View File

@ -51,8 +51,7 @@ if (_state) then {
_animChangedEHID = _unit addEventHandler ["AnimChanged", {
PARAMS_2(_unit,_newAnimation);
if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
ERROR("Surrender animation interrupted");
// systemChat format ["debug %2: new %1", _newAnimation, time];
TRACE_1("Surrender animation interrupted",_newAnimation);
[_unit, "ACE_AmovPercMstpSsurWnonDnon", 1] call EFUNC(common,doAnimation);
};
}];

View File

@ -14,6 +14,7 @@
<Key ID="STR_ACE_Interact_Menu_UseListMenu">
<English>Display interaction menus as lists</English>
<Spanish>Mostrar los menus de interacción como listas</Spanish>
<Russian>Показывать меню взаимодействия в виде списка</Russian>
</Key>
<Key ID="STR_ACE_Interact_Menu_InteractKey">
<English>Interact Key</English>

View File

@ -9,4 +9,10 @@ class Extended_PostInit_EventHandlers {
init = QUOTE(call COMPILE_FILE(XEH_post_init));
clientInit = QUOTE(call COMPILE_FILE(XEH_clientInit));
};
};
class Extended_FiredBIS_EventHandlers {
class All {
ADDON = QUOTE(_this call FUNC(onFired));
};
};

View File

@ -8,6 +8,9 @@ class CfgWeapons {
weaponInfoType = "ACE_RscOptics_javelin";
modelOptics = PATHTOF(data\reticle_titan.p3d);
canLock = 1;
lockingTargetSound[] = {"",0,1};
lockedTargetSound[] = {"",0,1};
};

View File

@ -14,7 +14,7 @@ class RscInGameUI {
idd = 300;
controls[] = { "ACE_javelin_elements_group", "ACE_Targeting" }; //, "ACE_TargetingConstrains", "ACE_TargetingGate", "ACE_TargetingLines"};
onLoad = QUOTE(_this call FUNC(onOpticLoad));
onUnload = "uiNameSpace setVariable ['ACE_RscOptics_javelin',nil];uiNameSpace setVariable ['ACE_RscOptics_javelin_PFH',nil];";
onUnload = QUOTE(_this call FUNC(onOpticUnload));
class ACE_javelin_elements_group: RscControlsGroup
{

View File

@ -6,6 +6,7 @@ PREP(lockKeyUp);
PREP(cycleFireMode);
PREP(showFireMode);
PREP(onFired);
PREP(onOpticLoad);
PREP(onOpticDraw);

View File

@ -0,0 +1,20 @@
//#define DEBUG_MODE_FULL
#include "script_component.hpp"
PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
// Bail on not missile
if( _shooter != ACE_player) exitWith { false };
if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_base"] call EFUNC(common,inheritsFrom)) ) exitWith { };
_pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil];
if(!isNil "_pfh_handle") then {
//[_pfh_handle] call cba_fnc_removePerFrameHandler;
//uiNamespace setVariable["ACE_RscOptics_javelin_PFH", nil];
__JavelinIGUITargeting ctrlShow false;
__JavelinIGUITargetingGate ctrlShow false;
__JavelinIGUITargetingLines ctrlShow false;
__JavelinIGUITargetingConstraints ctrlShow false;
};

View File

@ -11,18 +11,6 @@ TRACE_1("enter", _this);
private["_isJavelin", "_args", "_lastTick", "_runTime", "_soundTime", "_lockTime", "_newTarget", "_currentTarget", "_range", "_pos", "_targetArray"];
if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_base"] call EFUNC(common,inheritsFrom))
|| { (vehicle ACE_player) != ACE_player }
) exitWith {
__JavelinIGUITargeting ctrlShow false;
__JavelinIGUITargetingGate ctrlShow false;
__JavelinIGUITargetingLines ctrlShow false;
__JavelinIGUITargetingConstraints ctrlShow false;
[(_this select 1)] call cba_fnc_removePerFrameHandler;
uiNamespace setVariable["ACE_RscOptics_javelin_PFH", nil];
};
// Reset arguments if we havnt rendered in over a second
_args = uiNamespace getVariable[QGVAR(arguments), [] ];
if( (count _args) > 0) then {
@ -40,6 +28,19 @@ _runTime = _args select 2;
_lockTime = _args select 3;
_soundTime = _args select 4;
_randomLockInterval = _args select 5;
_fireDisabledEH = _args select 6;
if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_base"] call EFUNC(common,inheritsFrom)) ) exitWith {
__JavelinIGUITargeting ctrlShow false;
__JavelinIGUITargetingGate ctrlShow false;
__JavelinIGUITargetingLines ctrlShow false;
__JavelinIGUITargetingConstraints ctrlShow false;
_fireDisabledEH = [_fireDisabledEH] call FUNC(enableFire);
[(_this select 1)] call cba_fnc_removePerFrameHandler;
uiNamespace setVariable["ACE_RscOptics_javelin_PFH", nil];
};
// Find a target within the optic range
_newTarget = objNull;
@ -106,6 +107,27 @@ if((call CBA_fnc_getFoV) select 1 > 9) then {
__JavelinIGUIWFOV ctrlSetTextColor __ColorGreen;
};
FUNC(disableFire) = {
_firedEH = _this select 0;
if(_firedEH < 0) then {
_firedEH = [ACE_player, "DefaultAction", {true}, {
_canFire = ACE_player getVariable["ace_missileguidance_target", nil];
if(!isNil "_canFire") exitWith { false };
true
}] call EFUNC(common,addActionEventHandler);
};
_firedEH
};
FUNC(enableFire) = {
_firedEH = _this select 0;
if(_firedEH > 0) then {
[ACE_player, "DefaultAction", _firedEH] call EFUNC(common,removeActionEventHandler);
};
-1
};
if (isNull _newTarget) then {
// No targets found
_currentTarget = objNull;
@ -120,8 +142,7 @@ if (isNull _newTarget) then {
ACE_player setVariable ["ace_missileguidance_target",nil, false];
// Disallow fire
if (ACE_player ammo (currentWeapon ACE_player) > 0) then { ACE_player setWeaponReloadingTime [player, (currentWeapon ACE_player), 0.2]; };
_fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire);
} else {
if (_newTarget distance ACE_player < 2500
&& {(call CBA_fnc_getFoV) select 1 > 9}
@ -176,7 +197,7 @@ if (isNull _newTarget) then {
ACE_player setVariable["ace_missileguidance_target", _currentTarget, false];
// Allow fire
ACE_player setWeaponReloadingTime [player, (currentWeapon ACE_player), 0];
_fireDisabledEH = [_fireDisabledEH] call FUNC(enableFire);
if(diag_tickTime > _soundTime) then {
playSound "ACE_Javelin_Locked";
@ -217,7 +238,7 @@ if (isNull _newTarget) then {
_soundTime = diag_tickTime + 0.25;
};
// Disallow fire
if (ACE_player ammo (currentWeapon ACE_player) > 0) then { ACE_player setWeaponReloadingTime [player, (currentWeapon ACE_player), 0.2]; };
_fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire);
};
};
} else {
@ -234,7 +255,7 @@ if (isNull _newTarget) then {
ACE_player setVariable ["ace_missileguidance_target",nil, false];
// Disallow fire
if (ACE_player ammo (currentWeapon ACE_player) > 0) then { ACE_player setWeaponReloadingTime [player, (currentWeapon ACE_player), 0.2]; };
_fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire);
};
};
@ -246,5 +267,6 @@ _args set[1, _currentTarget];
_args set[2, _runTime];
_args set[3, _lockTime];
_args set[4, _soundTime];
_args set[6, _fireDisabledEH];
uiNamespace setVariable[QGVAR(arguments), _args ];

View File

@ -25,7 +25,8 @@ uiNameSpace setVariable [QGVAR(arguments),
0, // Run Time
0, // Lock Time
0, // Sound timer
(random __LOCKONTIMERANDOM) // random lock time addition
(random __LOCKONTIMERANDOM), // random lock time addition
-1
]
];

View File

@ -0,0 +1,20 @@
//#define DEBUG_MODE_FULL
#include "script_component.hpp"
TRACE_1("enter", _this);
uiNameSpace setVariable ['ACE_RscOptics_javelin',nil];
_pfh = uiNamespace getVariable["ACE_RscOptics_javelin_PFH", nil ];
if(!isNil "_pfh") then {
[_pfh] call CBA_fnc_removePerFrameHandler;
uiNameSpace setVariable ['ACE_RscOptics_javelin_PFH',nil];
};
_args = uiNamespace getVariable[QGVAR(arguments), nil ];
if(!isNil "_args") then {
_disableFireEH = _args select 6;
if(_disableFireEH > 0) then {
[ACE_player, "DefaultAction", _disableFireEH] call EFUNC(common,removeActionEventHandler);
};
uiNameSpace setVariable [QGVAR(arguments),nil];
};

View File

@ -4,8 +4,8 @@ TRACE_1("enter", _this);
private["_player", "_currentFireMode"];
_currentFireMode = ACE_player getVariable["ace_missileguidance_attackProfile", "TOP"];
if(_currentFireMode == "TOP") then {
_currentFireMode = ACE_player getVariable["ace_missileguidance_attackProfile", "JAV_TOP"];
if(_currentFireMode == "JAV_TOP") then {
__JavelinIGUITop ctrlSetTextColor __ColorGreen;
__JavelinIGUIDir ctrlSetTextColor __ColorGray;
} else {

View File

@ -17,27 +17,33 @@
<Key ID="STR_ACE_Kestrel_Description">
<English>Kestrel 4500 Pocket Weather Tracker</English>
<Polish>Anemomentr skrzydełkowy Kestrel 4500</Polish>
<Russian>Карманная метеостанция Kestrel 4500NV</Russian>
</Key>
<Key ID="STR_ACE_Kestrel4500_OpenKestrel">
<English>Open Kestrel 4500</English>
<Polish>Otwórz Kestrel 4500</Polish>
<Hungarian>Kestrel 4500 elővétele</Hungarian>
<Russian>Открыть Kestrel 4500NV</Russian>
</Key>
<Key ID="STR_ACE_Kestrel4500_ShowKestrel">
<English>Show Kestrel 4500</English>
<Polish>Pokaż Kestrel 4500</Polish>
<Russian>Показать Kestrel 4500NV</Russian>
</Key>
<Key ID="STR_ACE_Kestrel4500_HideKestrel">
<English>Hide Kestrel 4500</English>
<Polish>Ukryj Kestrel 4500</Polish>
<Russian>Убрать Kestrel 4500NV</Russian>
</Key>
<Key ID="STR_ACE_Kestrel4500_KestrelDialogKey">
<English>Open Kestrel 4500</English>
<Polish>Otwórz Kestrel 4500</Polish>
<Russian>Открыть Kestrel 4500NV</Russian>
</Key>
<Key ID="STR_ACE_Kestrel4500_DisplayKestrelKey">
<English>Show Kestrel 4500</English>
<Polish>Pokaż Kestrel 4500</Polish>
<Russian>Показать Kestrel 4500NV</Russian>
</Key>
</Package>
</Project>

View File

@ -74,6 +74,7 @@
<Czech>Aplikovat škrtidlo</Czech>
<Polish>Załóż stazę</Polish>
<French>Appliquer un garrot</French>
<Russian>Наложить жгут</Russian>
</Key>
<Key ID="STR_ACE_Medical_Bandage">
<English>Bandage</English>
@ -165,7 +166,7 @@
<Spanish>Inyectando Morfina ...</Spanish>
<Polish>Wstrzykiwanie morfiny ...</Polish>
<Czech>Aplikuji morfin ...</Czech>
<Russian>Введение морфина...</Russian>
<Russian>Введение морфина ...</Russian>
<French>Injection de Morphine...</French>
<Hungarian>Morfium beadása ...</Hungarian>
<Portuguese>Injetando Morfina ...</Portuguese>
@ -177,7 +178,7 @@
<Spanish>Inyectando Epinefrina ...</Spanish>
<Polish>Wstrzykiwanie adrenaliny ...</Polish>
<Czech>Aplikuji adrenalin ...</Czech>
<Russian>Введение адреналина...</Russian>
<Russian>Введение адреналина ...</Russian>
<French>Injection d'Adrénaline ...</French>
<Hungarian>Epinefrin beadása ...</Hungarian>
<Portuguese>Injetando Epinefrina ...</Portuguese>
@ -190,7 +191,7 @@
<Czech>Aplikuji atropin ...</Czech>
<Polish>Wstrzykiwanie atropiny ...</Polish>
<French>Injection d'Atropine ...</French>
<Russian>Введение атропина...</Russian>
<Russian>Введение атропина ...</Russian>
<Hungarian>Atropin beadása ...</Hungarian>
</Key>
<Key ID="STR_ACE_Medical_Transfusing_Blood">
@ -199,7 +200,7 @@
<Spanish>Transfusión de sangre ...</Spanish>
<Polish>Przetaczanie krwi ...</Polish>
<Czech>Probíhá transfúze krve ...</Czech>
<Russian>Переливание крови...</Russian>
<Russian>Переливание крови ...</Russian>
<French>Transfusion Sanguine ...</French>
<Hungarian>Infúzió vérrel ...</Hungarian>
<Portuguese>Transfundindo Sangue ...</Portuguese>
@ -212,7 +213,7 @@
<Czech>Probíha transfúze fyziologický roztoku ...</Czech>
<Polish>Przetaczanie solanki ...</Polish>
<French>Transfusion de saline ...</French>
<Russian>Переливание физраствора...</Russian>
<Russian>Переливание физраствора ...</Russian>
<Hungarian>Infúzió sós vizzel ...</Hungarian>
</Key>
<Key ID="STR_ACE_Medical_Transfusing_Plasma">
@ -222,7 +223,7 @@
<Czech>Probíha transfúze plazmy ...</Czech>
<Polish>Przetaczanie osocza ...</Polish>
<French>Transfusion de Plasma ...</French>
<Russian>Переливание плазмы...</Russian>
<Russian>Переливание плазмы ...</Russian>
<Hungarian>Infúzió vérplazmával ...</Hungarian>
</Key>
<Key ID="STR_ACE_Medical_Bandaging">
@ -235,7 +236,7 @@
<Italian>Sto applicando la benda ...</Italian>
<Hungarian>Bekötözés ...</Hungarian>
<Portuguese>Atando ...</Portuguese>
<Russian>Перевязывание...</Russian>
<Russian>Перевязывание ...</Russian>
</Key>
<Key ID="STR_ACE_Medical_Applying_Tourniquet">
<English>Applying Tourniquet ...</English>
@ -244,7 +245,7 @@
<Czech>Aplikuji škrtidlo</Czech>
<Polish>Zakładanie stazy ...</Polish>
<French>Mise en place du Garrot ...</French>
<Russian>Наложение жгута...</Russian>
<Russian>Наложение жгута ...</Russian>
<Hungarian>Érszorító felhelyezése ...</Hungarian>
</Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Medical">
@ -1014,7 +1015,7 @@
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_CONTENT">
<English>Checking Blood Pressure..</English>
<French>Mesure de la tension ...</French>
<Russian>Проверка артериального давления...</Russian>
<Russian>Проверка артериального давления ...</Russian>
<Spanish>Comprobando presión arterial...</Spanish>
<Polish>Sprawdzanie ciśnienia krwi...</Polish>
<German>Blutdruck kontrollieren...</German>
@ -1093,7 +1094,7 @@
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_CONTENT">
<English>Checking Heart Rate..</English>
<French>Vérification du rythme cardiaque ...</French>
<Russian>Проверка пульса...</Russian>
<Russian>Проверка пульса ...</Russian>
<Spanish>Comprobando ritmo cardíaco...</Spanish>
<Polish>Sprawdzanie tętna...</Polish>
<German>Kontrolliere Herzfrequenz</German>
@ -1182,7 +1183,7 @@
</Key>
<Key ID="STR_ACE_MEDICAL_CHECK_REPONSE_UNRESPONSIVE">
<English>%1 is not responsive</English>
<Russian>%1 не реагирует</Russian>
<Russian>%1 не реагирует на раздражители</Russian>
<French>%1 est inconscient</French>
<Spanish>%1 no reacciona</Spanish>
<Polish>%1 jest nieprzytomny</Polish>
@ -1350,7 +1351,7 @@
<Key ID="STR_ACE_MEDICAL_PlacingInBodyBag">
<English>Placing body in bodybag</English>
<Spanish>Colocando cuerpo en bolsa para cadáveres</Spanish>
<Russian>Упаковка тела</Russian>
<Russian>Упаковка тела ...</Russian>
<Polish>Pakowanie ciała do worka na zwłoki</Polish>
<French>Placement du corps dans la housse</French>
<Hungarian>Test hullazsákba helyezése ...</Hungarian>
@ -1391,61 +1392,73 @@
<English>Heavily wounded</English>
<German>Schwer verwundet:</German>
<Polish>Ciężko ranny</Polish>
<Russian>Сильно ранен</Russian>
</Key>
<Key ID="STR_ACE_Medical_LightlyWounded">
<English>Lightly wounded</English>
<German>Leicht verwundet:</German>
<Polish>Lekko ranny</Polish>
<Russian>Легко ранен</Russian>
</Key>
<Key ID="STR_ACE_Medical_VeryLightlyWounded">
<English>Very lightly wounded</English>
<German>Sehr leicht verwundet:</German>
<Polish>B. lekko ranny</Polish>
<Russian>Очень легко ранен</Russian>
</Key>
<Key ID="STR_ACE_Medical_Head">
<English>Head</English>
<German>Kopf</German>
<Polish>Głowa</Polish>
<Russian>Голова</Russian>
</Key>
<Key ID="STR_ACE_Medical_Torso">
<English>Torso</English>
<German>Torso</German>
<Polish>Tors</Polish>
<Russian>Торс</Russian>
</Key>
<Key ID="STR_ACE_Medical_LeftArm">
<English>Left Arm</English>
<German>Linker Arm</German>
<Polish>Lewe ramię</Polish>
<Russian>Левая рука</Russian>
</Key>
<Key ID="STR_ACE_Medical_RightArm">
<English>Right Arm</English>
<German>Rechter Arm</German>
<Polish>Prawe ramię</Polish>
<Russian>Правая рука</Russian>
</Key>
<Key ID="STR_ACE_Medical_LeftLeg">
<English>Left Leg</English>
<German>Linkes Bein</German>
<Polish>Lewa noga</Polish>
<Russian>Левая нога</Russian>
</Key>
<Key ID="STR_ACE_Medical_RightLeg">
<English>Right Leg</English>
<German>Rechtes Bein</German>
<Polish>Prawa noga</Polish>
<Russian>Правая нога</Russian>
</Key>
<Key ID="STR_ACE_Medical_painEffectType">
<English>Pain Effect Type</English>
<German>Schmerzeffekt-Typ</German>
<Polish>Rodzaj efektu bólu</Polish>
<Russian>Вид боли</Russian>
</Key>
<Key ID="STR_ACE_Medical_painEffect_Flash">
<English>Colour Flashing</English>
<German>Farbblinken</German>
<Polish>Pulsujące kolory</Polish>
<Russian>Разноцветные вспышки</Russian>
</Key>
<Key ID="STR_ACE_Medical_painEffect_Chroma">
<English>Chromatic Aberration</English>
<German>Chromatische Aberration</German>
<Polish>Aberracja chromatyczna</Polish>
<Russian>Хроматическая аберрация</Russian>
</Key>
</Package>
</Project>

View File

@ -50,6 +50,8 @@ class CfgAmmo {
//maxDeflection = 0.5;
//incDeflection = 0.005;
canVanillaLock = 0; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "SALH";
seekerTypes[] = { "SALH", "LIDAR", "SARH", "Optic", "Thermal", "GPS", "SACLOS", "MCLOS" };
@ -120,6 +122,8 @@ class CfgAmmo {
//maxDeflection = 0.5;
//incDeflection = 0.005;
canVanillaLock = 0;
// Guidance type for munitions
defaultSeekerType = "Optic";
seekerTypes[] = { "Optic" };

View File

@ -58,10 +58,11 @@ switch( (_state select 0) ) do {
case STAGE_COAST: {
TRACE_1("STAGE_COAST","");
TRACE_1("", ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) );
if(_distanceShooterToTarget < 1250 || _distanceToTarget < ( ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) ) * 1.5) then {
if(_distanceToTarget < ( ((ASLToATL _projectilePos) select 2) - (( ASLToATL _seekerTargetPos) select 2) ) * 1.5) then {
_state set[0, STAGE_TERMINAL];
} else {
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,(_projectilePos select 2)];
};
_returnTargetPos = _seekerTargetPos vectorAdd [0,0,(_projectilePos select 2)];
};
case STAGE_TERMINAL: {
TRACE_1("STAGE_TERMINAL","");

View File

@ -41,15 +41,14 @@ if ( isNil "_lockMode" || { ! ( _lockMode in (getArray (_config >> "seekerLockMo
// If we didn't get a target, try to fall back on tab locking
if(isNil "_target") then {
if(!isPlayer _shooter) then {
// This was an AI shot, lets still guide it on the AI target
_target = _shooter getVariable[QGVAR(vanilla_target), nil];
TRACE_1("Detected AI Shooter!", _target);
} else {
_canUseLock = getNumber (_config >> "canVanillaLock");
if(_canUseLock > 0) then {
// @TODO: Get vanilla target
// @TODO: Get vanilla target
if(_canUseLock > 0 || cadetMode) then {
_vanillaTarget = cursorTarget;
TRACE_1("Using Vanilla Locking", _vanillaTarget);

View File

@ -5,6 +5,7 @@
<Key ID="STR_ACE_Weather_WindInfoKey">
<English>Show Wind Info</English>
<Polish>Pokaż inf. o wietrze</Polish>
<Russian>Показать информацию о погоде</Russian>
</Key>
</Package>
</Project>
</Project>