Maverick - Update to missile guidance framework (#10032)

This commit is contained in:
Bailey Danyluk 2024-08-23 08:45:21 -06:00 committed by GitHub
parent 8ac2d09c31
commit 2c4c7c2fdf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 151 additions and 7 deletions

View File

@ -2,6 +2,6 @@ class EGVAR(missileguidance,AttackProfiles) {
class maverick { class maverick {
name = "LOAL-DIR"; name = "LOAL-DIR";
nameLocked = "LOBL-DIR"; nameLocked = "LOBL-DIR";
functionName = QEFUNC(missileguidance,attackProfile_DIR); functionName = QEFUNC(missileguidance,attackProfile_LIN);
}; };
}; };

View File

@ -5,6 +5,45 @@ class CfgAmmo {
}; };
class Missile_AGM_02_F: MissileBase {}; class Missile_AGM_02_F: MissileBase {};
class GVAR(D): Missile_AGM_02_F {
author = "Dani (TCVM)";
missileLockMaxDistance = 14000;
maneuvrability = 0;
class ace_missileguidance {
enabled = 1;
pitchRate = 15;
yawRate = 15;
canVanillaLock = 1;
defaultSeekerType = "Optic";
seekerTypes[] = {"Optic"};
defaultSeekerLockMode = "LOBL";
seekerLockModes[] = {"LOBL"};
defaultNavigationType = "AugmentedProportionalNavigation";
navigationTypes[] = { "AugmentedProportionalNavigation" };
seekLastTargetPos = 1;
seekerAngle = 60;
seekerAccuracy = 1;
seekerMinRange = 1;
seekerMaxRange = 14000;
defaultAttackProfile = "maverick";
attackProfiles[] = {"maverick"};
};
};
class GVAR(G): GVAR(D) {
class ace_missileguidance: ace_missileguidance {
enabled = 1;
};
};
class GVAR(L): Missile_AGM_02_F { class GVAR(L): Missile_AGM_02_F {
author = "xrufix"; author = "xrufix";
autoSeekTarget = 0; autoSeekTarget = 0;
@ -16,9 +55,8 @@ class CfgAmmo {
class ace_missileguidance { class ace_missileguidance {
enabled = 1; enabled = 1;
minDeflection = 0; pitchRate = 15;
maxDeflection = 0.002; yawRate = 15;
incDeflection = 0.001;
canVanillaLock = 0; canVanillaLock = 0;
@ -28,6 +66,9 @@ class CfgAmmo {
defaultSeekerLockMode = "LOAL"; defaultSeekerLockMode = "LOAL";
seekerLockModes[] = {"LOAL","LOBL"}; seekerLockModes[] = {"LOAL","LOBL"};
defaultNavigationType = "AugmentedProportionalNavigation";
navigationTypes[] = { "AugmentedProportionalNavigation" };
seekLastTargetPos = 1; seekLastTargetPos = 1;
seekerAngle = 60; seekerAngle = 60;
seekerAccuracy = 1; seekerAccuracy = 1;
@ -49,9 +90,8 @@ class CfgAmmo {
class ace_missileguidance { class ace_missileguidance {
enabled = 1; enabled = 1;
minDeflection = 0; pitchRate = 20;
maxDeflection = 0.002; yawRate = 20;
incDeflection = 0.001;
canVanillaLock = 0; canVanillaLock = 0;
@ -61,6 +101,9 @@ class CfgAmmo {
defaultSeekerLockMode = "LOAL"; defaultSeekerLockMode = "LOAL";
seekerLockModes[] = {"LOAL"}; seekerLockModes[] = {"LOAL"};
defaultNavigationType = "AugmentedProportionalNavigation";
navigationTypes[] = { "AugmentedProportionalNavigation" };
seekLastTargetPos = 1; seekLastTargetPos = 1;
seekerAngle = 40; seekerAngle = 40;
seekerAccuracy = 1; seekerAccuracy = 1;

View File

@ -12,7 +12,71 @@ class CfgMagazines {
class PylonRack_Missile_AGM_02_x1: magazine_Missile_AGM_02_x1 {}; class PylonRack_Missile_AGM_02_x1: magazine_Missile_AGM_02_x1 {};
class PylonRack_Missile_AGM_02_x2: magazine_Missile_AGM_02_x1 {}; class PylonRack_Missile_AGM_02_x2: magazine_Missile_AGM_02_x1 {};
// Optical Mavericks
class GVAR(D_magazine): 6Rnd_Missile_AGM_02_F {
ammo = QGVAR(D);
author = "Dani (TCVM)";
displayName = CSTRING(d_mag_x1);
};
class GVAR(D_pylonRack_1Rnd): PylonRack_1Rnd_Missile_AGM_02_F {
ammo = QGVAR(D);
author = "Dani (TCVM)";
displayName = CSTRING(d_mag_x1);
pylonWeapon = QGVAR(D_Launcher);
};
class GVAR(D_pylonRack_3Rnd): PylonRack_3Rnd_Missile_AGM_02_F {
ammo = QGVAR(D);
author = "Dani (TCVM)";
displayName = CSTRING(d_mag_x3);
pylonWeapon = QGVAR(D_Launcher);
};
class GVAR(G_magazine_x1): magazine_Missile_AGM_02_x1 {
ammo = QGVAR(G);
author = "Dani (TCVM)";
displayName = CSTRING(g_mag_x1);
};
class GVAR(G_pylonmissile_x1): PylonMissile_Missile_AGM_02_x1 {
ammo = QGVAR(G);
author = "Dani (TCVM)";
displayName = CSTRING(g_mag_x1);
pylonWeapon = QGVAR(G_Launcher);
};
class GVAR(G_pylonmissile_x2): PylonMissile_Missile_AGM_02_x2 {
ammo = QGVAR(G);
author = "Dani (TCVM)";
displayName = CSTRING(g_mag_x2);
pylonWeapon = QGVAR(G_Launcher);
};
class GVAR(G_pylonRack_1Rnd): PylonRack_1Rnd_Missile_AGM_02_F {
ammo = QGVAR(G);
author = "Dani (TCVM)";
displayName = CSTRING(g_mag_x1);
pylonWeapon = QGVAR(G_Launcher);
};
class GVAR(G_PylonRack_3Rnd): PylonRack_3Rnd_Missile_AGM_02_F {
ammo = QGVAR(G);
author = "Dani (TCVM)";
displayName = CSTRING(g_mag_x3);
pylonWeapon = QGVAR(G_Launcher);
};
class GVAR(G_PylonRack_x1): PylonRack_Missile_AGM_02_x1 {
ammo = QGVAR(G);
author = "Dani (TCVM)";
displayName = CSTRING(g_mag_x1);
pylonWeapon = QGVAR(G_Launcher);
};
class GVAR(G_PylonRack_x2): PylonRack_Missile_AGM_02_x2 {
ammo = QGVAR(G);
author = "Dani (TCVM)";
displayName = CSTRING(g_mag_x2);
pylonWeapon = QGVAR(G_Launcher);
};
// Laser Mavericks
class GVAR(L_magazine_x1): magazine_Missile_AGM_02_x1 { class GVAR(L_magazine_x1): magazine_Missile_AGM_02_x1 {
ammo = QGVAR(L); ammo = QGVAR(L);
author = "xrufix"; author = "xrufix";

View File

@ -6,6 +6,22 @@ class CfgWeapons {
class MissileLauncher: LauncherCore {}; class MissileLauncher: LauncherCore {};
class Missile_AGM_02_Plane_CAS_01_F: MissileLauncher {}; class Missile_AGM_02_Plane_CAS_01_F: MissileLauncher {};
class GVAR(D_Launcher): Missile_AGM_02_Plane_CAS_01_F {
author = "Dani (TCVM)";
displayname = CSTRING(D);
magazines[] = {QGVAR(D_magazine), QGVAR(D_pylonRack_1Rnd), QGVAR(D_pylonRack_3Rnd)};
weaponLockDelay = 0.1;
weaponLockSystem = 2;
};
class GVAR(G_Launcher): weapon_AGM_65Launcher {
author = "Dani (TCVM)";
displayname = CSTRING(G);
magazines[] = {QGVAR(G_magazine_x1), QGVAR(G_pylonmissile_x1), QGVAR(G_pylonmissile_x2), QGVAR(G_pylonRack_1Rnd), QGVAR(G_PylonRack_3Rnd), QGVAR(G_PylonRack_x1), QGVAR(G_PylonRack_x2)};
weaponLockDelay = 0.1;
weaponLockSystem = 2;
};
class GVAR(L_Launcher): weapon_AGM_65Launcher { class GVAR(L_Launcher): weapon_AGM_65Launcher {
author = "xrufix"; author = "xrufix";
displayname = CSTRING(L); displayname = CSTRING(L);

View File

@ -111,6 +111,27 @@
<Turkish>1x Kh-25ML [ACE]</Turkish> <Turkish>1x Kh-25ML [ACE]</Turkish>
<Spanish>1x Kh-25ML [ACE]</Spanish> <Spanish>1x Kh-25ML [ACE]</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Maverick_d">
<English>AGM-65 Maverick D</English>
</Key>
<Key ID="STR_ACE_Maverick_g">
<English>AGM-65 Maverick G</English>
</Key>
<Key ID="STR_ACE_Maverick_d_mag_x1">
<English>AGM-65 Maverick D [ACE]</English>
</Key>
<Key ID="STR_ACE_Maverick_d_mag_x3">
<English>3x AGM-65 Maverick D [ACE]</English>
</Key>
<Key ID="STR_ACE_Maverick_g_mag_x1">
<English>AGM-65 Maverick G [ACE]</English>
</Key>
<Key ID="STR_ACE_Maverick_g_mag_x2">
<English>2x AGM-65 Maverick G [ACE]</English>
</Key>
<Key ID="STR_ACE_Maverick_g_mag_x3">
<English>3x AGM-65 Maverick G [ACE]</English>
</Key>
</Container> </Container>
<Container name="weapons"> <Container name="weapons">
<Key ID="STR_ACE_Maverick_l"> <Key ID="STR_ACE_Maverick_l">