diff --git a/addons/aim9/CfgAmmo.hpp b/addons/aim9/CfgAmmo.hpp index 46a1ba49bc..139a1cbefb 100644 --- a/addons/aim9/CfgAmmo.hpp +++ b/addons/aim9/CfgAmmo.hpp @@ -1,6 +1,11 @@ class CfgAmmo { class Missile_AA_04_F; class GVAR(m): Missile_AA_04_F { + missileLockCone = 45; + missileKeepLockedCone = 45; + missileLockMaxDistance = 5000; + missileLockMinDistance = 250; + author = "Brandon (TCVM)"; maneuvrability = 0; @@ -30,7 +35,7 @@ class CfgAmmo { seekerAccuracy = 0.8; // seeker accuracy multiplier seekerMinRange = 75; - seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + seekerMaxRange = 5000; // Range from the missile which the seeker can visually search // Attack profile type selection defaultAttackProfile = "DIR"; @@ -40,6 +45,11 @@ class CfgAmmo { class ammo_Missile_BIM9X; class GVAR(x): ammo_Missile_BIM9X { + missileLockCone = 120; + missileKeepLockedCone = 120; + missileLockMaxDistance = 5000; + missileLockMinDistance = 250; + author = "Brandon (TCVM)"; maneuvrability = 0; @@ -69,7 +79,52 @@ class CfgAmmo { seekerAccuracy = 0.95; // seeker accuracy multiplier seekerMinRange = 75; - seekerMaxRange = 2500; // Range from the missile which the seeker can visually search + seekerMaxRange = 5000; // Range from the missile which the seeker can visually search + + // Attack profile type selection + defaultAttackProfile = "DIR"; + attackProfiles[] = {"DIR"}; + }; + }; + + // AIM-132 + class M_Air_AA; + class GVAR(aim132): M_Air_AA { + missileLockCone = 120; + missileKeepLockedCone = 120; + missileLockMaxDistance = 8000; + missileLockMinDistance = 250; + + author = "Brandon (TCVM)"; + maneuvrability = 0; + + class ace_missileguidance { + enabled = 1; + + 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 + + // Guidance type for munitions + defaultSeekerType = "IR"; + seekerTypes[] = { "IR" }; + + flareDistanceFilter = 50; + flareAngleFilter = 0.8; // can filter out flares that are >= flareAngleFilter to known target velocity + + defaultSeekerLockMode = "LOBL"; + seekerLockModes[] = { "LOBL" }; + + defaultNavigationType = "ZeroEffortMiss"; + navigationTypes[] = { "ZeroEffortMiss" }; + + seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos] + seekerAngle = 120; // Angle from the shooter's view that can track the missile + seekerAccuracy = 0.98; // seeker accuracy multiplier + + seekerMinRange = 75; + seekerMaxRange = 8000; // Range from the missile which the seeker can visually search // Attack profile type selection defaultAttackProfile = "DIR"; diff --git a/addons/aim9/CfgMagazines.hpp b/addons/aim9/CfgMagazines.hpp index 272ae0948c..c63a0a51c4 100644 --- a/addons/aim9/CfgMagazines.hpp +++ b/addons/aim9/CfgMagazines.hpp @@ -3,6 +3,7 @@ class CfgMagazines { class PylonRack_1Rnd_Missile_AA_04_F; class PylonMissile_1Rnd_Missile_AA_04_F; + // AIM-9 class GVAR(2Rnd_Missile_9m): 2Rnd_Missile_AA_04_F { author = "Brandon (TCVM)"; displayName = "2x AIM-9M [ACE]"; @@ -54,5 +55,58 @@ class CfgMagazines { ammo = QGVAR(x); pylonWeapon = QGVAR(x); }; + + // AIM-132 + class 2Rnd_AAA_missiles; + class 2Rnd_AAA_missiles_MI02; + class 2Rnd_AAA_missiles_MI06; + class 4Rnd_AAA_missiles; + class 4Rnd_AAA_missiles_MI02; + class PylonRack_1Rnd_AAA_missiles; + class PylonMissile_1Rnd_AAA_missiles; + + class GVAR(aim132_2Rnd): 2Rnd_AAA_missiles { + author = "Brandon (TCVM)"; + displayName = "2x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + }; + + class GVAR(aim132_2Rnd_MI02): 2Rnd_AAA_missiles_MI02 { + author = "Brandon (TCVM)"; + displayName = "2x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + }; + + class GVAR(aim132_2Rnd_MI06): 2Rnd_AAA_missiles_MI06 { + author = "Brandon (TCVM)"; + displayName = "2x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + }; + + class GVAR(aim132_4Rnd): 4Rnd_AAA_missiles { + author = "Brandon (TCVM)"; + displayName = "4x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + }; + + class GVAR(aim132_4Rnd_MI02): 4Rnd_AAA_missiles_MI02 { + author = "Brandon (TCVM)"; + displayName = "4x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + }; + + class GVAR(PylonRack_1Rnd_aim132): PylonRack_1Rnd_AAA_missiles { + author = "Brandon (TCVM)"; + displayName = "1x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + pylonWeapon = QGVAR(aim132); + }; + + class GVAR(PylonMissile_1Rnd_aim132): PylonMissile_1Rnd_AAA_missiles { + author = "Brandon (TCVM)"; + displayName = "1x AIM-132 [ACE]"; + ammo = QGVAR(aim132); + pylonWeapon = QGVAR(aim132); + }; }; diff --git a/addons/aim9/CfgWeapons.hpp b/addons/aim9/CfgWeapons.hpp index 36b2aa5717..166539d2a2 100644 --- a/addons/aim9/CfgWeapons.hpp +++ b/addons/aim9/CfgWeapons.hpp @@ -1,4 +1,5 @@ class CfgWeapons { + // AIM-9 class Missile_AA_04_Plane_CAS_01_F; class GVAR(m): Missile_AA_04_Plane_CAS_01_F { lockAcquire = 1; // auto lock @@ -18,5 +19,24 @@ class CfgWeapons { weaponLockDelay = 0.5; magazines[] = { QGVAR(magazine_Missile_9x), QGVAR(PylonMissile_Missile_9x), QGVAR(PylonRack_Missile_9x), QGVAR(PylonRack_Missile_9x_2) }; }; + + // ASRAAM + class missiles_ASRAAM; + class GVAR(aim132): missiles_ASRAAM { + lockAcquire = 1; // auto lock + + author = "Brandon (TCVM)"; + displayName = "AIM-132 [ACE]"; + weaponLockDelay = 0.5; + magazines[] = { + QGVAR(aim132_2Rnd), + QGVAR(aim132_2Rnd_MI02), + QGVAR(aim132_2Rnd_MI06), + QGVAR(aim132_4Rnd), + QGVAR(aim132_4Rnd_MI02), + QGVAR(PylonRack_1Rnd_aim132), + QGVAR(PylonMissile_1Rnd_aim132) + }; + }; };