Add AIM-120A

This commit is contained in:
Brandon Danyluk 2021-04-16 20:05:49 -06:00
parent 265670cafa
commit 8b88142b03
3 changed files with 89 additions and 1 deletions

View File

@ -1,6 +1,55 @@
class CfgAmmo {
class ammo_Missile_AMRAAM_C;
class M_Zephyr;
// AIM-120
class GVAR(a): M_Zephyr {
missileLockCone = 30;
missileKeepLockedCone = 30;
missileLockMaxDistance = 16000;
missileLockMinDistance = 500;
author = "Brandon (TCVM)";
maneuvrability = 0;
flightProfiles[] = {"Direct", "Loft"};
class Direct {}; // dummy to allow for F cycling of missile mode
class Loft {};
class ace_missileguidance {
enabled = 1;
pitchRate = 30; // Minium flap deflection for guidance
yawRate = 30; // Maximum flap deflection for guidance
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
// Guidance type for munitions
defaultSeekerType = "DopplerRadar";
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" };
defaultNavigationType = "ZeroEffortMiss";
navigationTypes[] = { "ZeroEffortMiss" };
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 50; // Angle from the shooter's view that can track the missile
seekerAccuracy = 1; // seeker accuracy multiplier
seekerMinRange = 75;
seekerMaxRange = 2500; // Range from the missile which the seeker can visually search
// Attack profile type selection
defaultAttackProfile = "DIR";
attackProfiles[] = {"DIR", "LOFT"};
useModeForAttackProfile = 1;
};
};
class GVAR(c): ammo_Missile_AMRAAM_C {
missileLockCone = 30;
missileKeepLockedCone = 30;

View File

@ -8,6 +8,30 @@ class CfgMagazines {
class PylonRack_Missile_AMRAAM_D_x1;
class PylonRack_Missile_AMRAAM_D_x2;
class 4Rnd_GAA_missiles;
class PylonRack_1Rnd_GAA_missiles;
class PylonMissile_1Rnd_GAA_missiles;
class GVAR(a): 4Rnd_GAA_missiles {
author = "Brandon (TCVM)";
displayName = "1x AIM-120A [ACE]";
ammo = QGVAR(a);
};
class GVAR(PylonRack_1Rnd_a): PylonRack_1Rnd_GAA_missiles {
author = "Brandon (TCVM)";
displayName = "1x AIM-120A [ACE]";
ammo = QGVAR(a);
pylonWeapon = GVAR(aim120Launcher);
};
class GVAR(PylonMissile_1Rnd_a): PylonMissile_1Rnd_GAA_missiles {
author = "Brandon (TCVM)";
displayName = "1x AIM-120A [ACE]";
ammo = QGVAR(a);
pylonWeapon = GVAR(aim120Launcher);
};
// AIM-120
class GVAR(c): magazine_Missile_AMRAAM_C_x1 {
author = "Brandon (TCVM)";

View File

@ -1,12 +1,27 @@
class CfgWeapons {
class weapon_AMRAAMLauncher;
class MissileLauncher;
class GVAR(aim120Launcher): weapon_AMRAAMLauncher {
author = "Brandon (TCVM)";
displayName = "AIM-120 [ACE]";
weaponLockDelay = 0.5;
magazines[] = { QGVAR(c), QGVAR(PylonMissile_Missile_c_x1), QGVAR(PylonRack_Missile_c_x1), QGVAR(PylonRack_Missile_c_x2), QGVAR(PylonMissile_Missile_d_x1), QGVAR(PylonMissile_Missile_d_INT_x1), QGVAR(PylonRack_Missile_d_x1), QGVAR(PylonRack_Missile_d_x2)};
magazines[] = {
QGVAR(a),
QGVAR(PylonRack_1Rnd_a),
QGVAR(PylonMissile_1Rnd_a),
QGVAR(c),
QGVAR(PylonMissile_Missile_c_x1),
QGVAR(PylonRack_Missile_c_x1),
QGVAR(PylonRack_Missile_c_x2),
QGVAR(PylonMissile_Missile_d_x1),
QGVAR(PylonMissile_Missile_d_INT_x1),
QGVAR(PylonRack_Missile_d_x1),
QGVAR(PylonRack_Missile_d_x2)
};
modes[] = {"Direct", "Loft"};
class Direct: MissileLauncher {