diff --git a/addons/aim120/CfgAmmo.hpp b/addons/aim120/CfgAmmo.hpp index 48dfefdfb6..2509e3bd5a 100644 --- a/addons/aim120/CfgAmmo.hpp +++ b/addons/aim120/CfgAmmo.hpp @@ -9,8 +9,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 60; // Minium flap deflection for guidance - yawRate = 60; // Maximum flap deflection for guidance + pitchRate = 40; // Minium flap deflection for guidance + yawRate = 40; // Maximum flap deflection for guidance canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode @@ -19,6 +19,10 @@ class CfgAmmo { seekerTypes[] = { "DopplerRadar" }; lockableTypes[] = {"Air"}; + minimumSpeedFilter = 25; // filter out targets that have a closing velocity less than this + minimumTimeFilter = 0.0001; // filter out targets that are this close to the ground (speed of light) + maxTerrainCheck = 16000; // How far we should check for terrain + defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; @@ -49,8 +53,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 80; // Minium flap deflection for guidance - yawRate = 80; // Maximum flap deflection for guidance + pitchRate = 50; // Minium flap deflection for guidance + yawRate = 50; // Maximum flap deflection for guidance canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode @@ -59,6 +63,10 @@ class CfgAmmo { seekerTypes[] = { "DopplerRadar" }; lockableTypes[] = {"Air"}; + minimumSpeedFilter = 15; // filter out targets that have a closing velocity less than this + minimumTimeFilter = 0.00005; // filter out targets that are this close to the ground (speed of light) + maxTerrainCheck = 16000; // How far we should check for terrain + defaultSeekerLockMode = "LOAL"; seekerLockModes[] = { "LOAL", "LOBL" }; diff --git a/addons/aim9/CfgAmmo.hpp b/addons/aim9/CfgAmmo.hpp index 1fdbc683b7..38785d736f 100644 --- a/addons/aim9/CfgAmmo.hpp +++ b/addons/aim9/CfgAmmo.hpp @@ -46,8 +46,8 @@ class CfgAmmo { class ace_missileguidance { enabled = 1; - pitchRate = 90; // Minium flap deflection for guidance - yawRate = 90; // Maximum flap deflection for guidance + pitchRate = 65; // Minium flap deflection for guidance + yawRate = 65; // Maximum flap deflection for guidance canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode diff --git a/addons/missileguidance/functions/fnc_doppler_onFired.sqf b/addons/missileguidance/functions/fnc_doppler_onFired.sqf index e50b66e3f3..915166a25e 100644 --- a/addons/missileguidance/functions/fnc_doppler_onFired.sqf +++ b/addons/missileguidance/functions/fnc_doppler_onFired.sqf @@ -40,6 +40,10 @@ private _projectileThrustTime = [_projectileConfig >> "thrustTime", "NUMBER", 0] private _lockTypes = [_config >> "lockableTypes", "ARRAY", ["Air", "LandVehicle", "Ship"]] call CBA_fnc_getConfigEntry; +private _minimumFilterSpeed = [_config >> "minimumSpeedFilter", "NUMBER", 30] call CBA_fnc_getConfigEntry; +private _minimumFilterTime = [_config >> "minimumTimeFilter", "NUMBER", 1e-4] call CBA_fnc_getConfigEntry; +private _maxTerrainCheck = [_config >> "maxTerrainCheck", "NUMBER", 16000] call CBA_fnc_getConfigEntry; + private _velocityAtImpact = _projectileThrust * _projectileThrustTime; private _timeToActive = 0; if (!isNil "_target" && _velocityAtImpact > 0) then { @@ -73,4 +77,7 @@ _seekerStateParams set [7, [0, 0, 0]]; _seekerStateParams set [8, CBA_missionTime]; _seekerStateParams set [9, isNull _target]; _seekerStateParams set [10, _lockTypes]; +_seekerStateParams set [11, _minimumFilterSpeed]; +_seekerStateParams set [12, _minimumFilterTime]; +_seekerStateParams set [13, _maxTerrainCheck]; diff --git a/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf b/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf index b70bfe38af..6709a574b9 100644 --- a/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_Doppler.sqf @@ -20,11 +20,7 @@ _args params ["_firedEH", "_launchParams", "", "_seekerParams", "_stateParams", _firedEH params ["_shooter","","","","","","_projectile"]; _launchParams params ["_target","","","",""]; _seekerParams params ["_seekerAngle", "", "_seekerMaxRange"]; -_seekerStateParams params ["_isActive", "_activeRadarEngageDistance", "_timeWhenActive", "_expectedTargetPos", "_lastTargetPollTime", "_shooterHasRadar", "_wasActive", "_lastKnownVelocity", "_lastTimeSeen", "_doesntHaveTarget", "_lockTypes"]; - -private _minimumFilterSpeed = 25; -private _minimumFilterTime = 1e-4; -private _maxTerrainCheck = 16000; +_seekerStateParams params ["_isActive", "_activeRadarEngageDistance", "_timeWhenActive", "_expectedTargetPos", "_lastTargetPollTime", "_shooterHasRadar", "_wasActive", "_lastKnownVelocity", "_lastTimeSeen", "_doesntHaveTarget", "_lockTypes", "_minimumFilterSpeed", "_minimumFilterTime", "_maxTerrainCheck"]; if (_isActive || { CBA_missionTime >= _timeWhenActive }) then { if !(_isActive) then {