Skip to content

Commit

Permalink
missile_AIM9 - Add, with IR seeking (#10022)
Browse files Browse the repository at this point in the history
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: TyroneMF <TyroneMF@hotmail.com>
Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
Co-authored-by: Kyle Mckay <5459452+kymckay@users.noreply.github.com>
Co-authored-by: jonpas <jonpas33@gmail.com>
Co-authored-by: Elgin675 <elgin675@hotmail.com>
Co-authored-by: Blutze <37950828+Blutze@users.noreply.github.com>
Co-authored-by: Jo David <github@jonathandavid.de>
Co-authored-by: BaerMitUmlaut <BaerMitUmlaut@users.noreply.github.com>
Co-authored-by: commy2 <commy-2@gmx.de>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: Dabako <github@dabakoworld.de>
Co-authored-by: Pascal Dunaj <32539404+t-zilla@users.noreply.github.com>
Co-authored-by: Brett <brett@bmandesigns.com>
Co-authored-by: Dystopian <sddex@ya.ru>
Co-authored-by: R3voA3 <robertseibel@outlook.de>
Co-authored-by: Steve Zhao <ampersand38@gmail.com>
Co-authored-by: Kyle J. McKeown <Drift91@users.noreply.github.com>
Co-authored-by: Salluci <69561145+Salluci@users.noreply.github.com>
Co-authored-by: Dániel Boros <43353942+Malbryn@users.noreply.github.com>
Co-authored-by: Laid3acK <bal2.chris@orange.fr>
Co-authored-by: frankplow <post@frankplowman.com>
Co-authored-by: JoramD <j.davids@hotmail.nl>
Co-authored-by: Dabako <dabako@gmx.de>
Co-authored-by: Abogado <regiregi22@hotmail.com>
Co-authored-by: Dedmen Miller <dedmen@users.noreply.github.com>
Co-authored-by: Lupus the Canine <tymoteusz.2000.0+GitHub@gmail.com>
Co-authored-by: Drofseh <Drofseh@users.noreply.github.com>
Co-authored-by: LorenLuke <LukeLLL@aol.com>
Co-authored-by: SzwedzikPL <szwedzikpl@gmail.com>
Co-authored-by: BrettMayson <brett@mayson.io>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
  • Loading branch information
1 parent bbd40e0 commit 1168acb
Show file tree
Hide file tree
Showing 13 changed files with 601 additions and 2 deletions.
1 change: 1 addition & 0 deletions addons/missile_aim9/$PBOPREFIX$
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
z\ace\addons\missile_aim9
91 changes: 91 additions & 0 deletions addons/missile_aim9/CfgAmmo.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
class EGVAR(missileguidance,type_Sidewinder);
class EGVAR(missileguidance,type_ASRAAM);
class EGVAR(missileguidance,type_R73);
class EGVAR(missileguidance,type_R74);
class CfgAmmo {
class Missile_AA_04_F;
class GVAR(m): Missile_AA_04_F {
missileLockCone = 3; // caged lock
missileKeepLockedCone = 45;
missileLockMaxDistance = 5000;
missileLockMinDistance = 250;

author = "Dani (TCVM)";
maneuvrability = 0;

class ace_missileguidance: EGVAR(missileguidance,type_Sidewinder) {
enabled = 1;
};
};

class ammo_Missile_BIM9X;
class GVAR(x): ammo_Missile_BIM9X {
missileLockCone = 3; // caged lock
missileKeepLockedCone = 120;
missileLockMaxDistance = 5000;
missileLockMinDistance = 250;

author = "Dani (TCVM)";
maneuvrability = 0;

class ace_missileguidance: EGVAR(missileguidance,type_Sidewinder) {
enabled = 1;
pitchRate = 90;
yawRate = 90;
flareDistanceFilter = 50;
flareAngleFilter = 0.8; // can filter out flares that are >= flareAngleFilter to known target velocity
defaultNavigationType = "ZeroEffortMiss";
navigationTypes[] = { "ZeroEffortMiss" };
seekerAngle = 120;
seekerAccuracy = 0.95;
};
};

// AIM-132
class M_Air_AA;
class GVAR(aim132): M_Air_AA {
missileLockCone = 3; // caged lock
missileKeepLockedCone = 120;
missileLockMaxDistance = 8000;
missileLockMinDistance = 250;

author = "Dani (TCVM)";
maneuvrability = 0;

class ace_missileguidance: EGVAR(missileguidance,type_ASRAAM) {
enabled = 1;
};
};

// R-73
class ammo_Missile_AA_R73;
class GVAR(r73): ammo_Missile_AA_R73 {
missileLockCone = 3; // caged lock
missileKeepLockedCone = 40;
missileLockMaxDistance = 5000;
missileLockMinDistance = 250;

author = "Dani (TCVM)";
maneuvrability = 0;

class ace_missileguidance: EGVAR(missileguidance,type_Sidewinder) {
enabled = 1;
};
};

class Missile_AA_03_F;
class GVAR(r74): Missile_AA_03_F {
missileLockCone = 3; // caged lock
missileKeepLockedCone = 75;
missileLockMaxDistance = 8000;
missileLockMinDistance = 250;

author = "Dani (TCVM)";
maneuvrability = 0;

class ace_missileguidance: EGVAR(missileguidance,type_R74) {
enabled = 1;
};
};
};

153 changes: 153 additions & 0 deletions addons/missile_aim9/CfgMagazines.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
class CfgMagazines {
class 2Rnd_Missile_AA_04_F;
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 = "Dani (TCVM)";
displayName = CSTRING(m_2x);
ammo = QGVAR(m);
};

class GVAR(PylonRack_1Rnd_Missile_9m): PylonRack_1Rnd_Missile_AA_04_F {
author = "Dani (TCVM)";
displayName = CSTRING(m_1x);
ammo = QGVAR(m);
pylonWeapon = QGVAR(m);
};

class GVAR(PylonMissile_1Rnd_Missile_9m): PylonMissile_1Rnd_Missile_AA_04_F {
author = "Dani (TCVM)";
displayName = CSTRING(m_1x);
ammo = QGVAR(m);
pylonWeapon = QGVAR(m);
};

class magazine_Missile_BIM9X_x1;
class PylonMissile_Missile_BIM9X_x1;
class PylonRack_Missile_BIM9X_x1;
class PylonRack_Missile_BIM9X_x2;

class GVAR(magazine_Missile_9x): magazine_Missile_BIM9X_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(x_1x);
ammo = QGVAR(x);
};

class GVAR(PylonMissile_Missile_9x): PylonMissile_Missile_BIM9X_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(x_1x);
ammo = QGVAR(x);
pylonWeapon = QGVAR(x);
};

class GVAR(PylonRack_Missile_9x): PylonRack_Missile_BIM9X_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(x_1x);
ammo = QGVAR(x);
pylonWeapon = QGVAR(x);
};

class GVAR(PylonRack_Missile_9x_2): PylonRack_Missile_BIM9X_x2 {
author = "Dani (TCVM)";
displayName = CSTRING(x_2x);
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 = "Dani (TCVM)";
displayName = CSTRING(aim132_2x);
ammo = QGVAR(aim132);
};

class GVAR(aim132_2Rnd_MI02): 2Rnd_AAA_missiles_MI02 {
author = "Dani (TCVM)";
displayName = CSTRING(aim132_2x);
ammo = QGVAR(aim132);
};

class GVAR(aim132_2Rnd_MI06): 2Rnd_AAA_missiles_MI06 {
author = "Dani (TCVM)";
displayName = CSTRING(aim132_2x);
ammo = QGVAR(aim132);
};

class GVAR(aim132_4Rnd): 4Rnd_AAA_missiles {
author = "Dani (TCVM)";
displayName = CSTRING(aim132_4x);
ammo = QGVAR(aim132);
};

class GVAR(aim132_4Rnd_MI02): 4Rnd_AAA_missiles_MI02 {
author = "Dani (TCVM)";
displayName = CSTRING(aim132_4x);
ammo = QGVAR(aim132);
};

class GVAR(PylonRack_1Rnd_aim132): PylonRack_1Rnd_AAA_missiles {
author = "Dani (TCVM)";
displayName = CSTRING(aim132_1x);
ammo = QGVAR(aim132);
pylonWeapon = QGVAR(aim132);
};

class GVAR(PylonMissile_1Rnd_aim132): PylonMissile_1Rnd_AAA_missiles {
author = "Dani (TCVM)";
displayName = CSTRING(aim132_1x);
ammo = QGVAR(aim132);
pylonWeapon = QGVAR(aim132);
};

// R-73
class PylonMissile_Missile_AA_R73_x1;
class magazine_Missile_AA_R73_x1;
class 2Rnd_Missile_AA_03_F;
class PylonRack_1Rnd_Missile_AA_03_F;
class PylonMissile_1Rnd_Missile_AA_03_F;

class GVAR(r73): magazine_Missile_AA_R73_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(r73_1x);
ammo = QGVAR(r73);
};

class GVAR(PylonMissile_Missile_R73_x1): PylonMissile_Missile_AA_R73_x1 {
author = "Dani (TCVM)";
displayName = CSTRING(r73_1x);
ammo = QGVAR(r73);
pylonWeapon = QGVAR(r73);
};

class GVAR(2Rnd_Missile_R74): 2Rnd_Missile_AA_03_F {
author = "Dani (TCVM)";
displayName = CSTRING(r74_2x);
ammo = QGVAR(r74);
};

// R-74 -- improved R-73, same missile in the way that an AIM-9X is the same as an AIM-9M
class GVAR(PylonRack_1Rnd_Missile_R74): PylonRack_1Rnd_Missile_AA_03_F {
author = "Dani (TCVM)";
displayName = CSTRING(r74_1x);
ammo = QGVAR(r74);
pylonWeapon = QGVAR(r74);
};

class GVAR(PylonMissile_1Rnd_Missile_R74): PylonMissile_1Rnd_Missile_AA_03_F {
author = "Dani (TCVM)";
displayName = CSTRING(r74_1x);
ammo = QGVAR(r74);
pylonWeapon = QGVAR(r74);
};
};

72 changes: 72 additions & 0 deletions addons/missile_aim9/CfgWeapons.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
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

author = "Dani (TCVM)";
displayName = CSTRING(m);
weaponLockDelay = 0.5;
magazines[] = {QGVAR(2Rnd_Missile_9m), QGVAR(PylonRack_1Rnd_Missile_9m), QGVAR(PylonMissile_1Rnd_Missile_9m)};
};

class weapon_BIM9xLauncher;
class GVAR(x): weapon_BIM9xLauncher {
lockAcquire = 1; // auto lock

author = "Dani (TCVM)";
displayName = CSTRING(x);
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 = "Dani (TCVM)";
displayName = CSTRING(aim132);
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)
};
};

// R-73
class weapon_R73Launcher;
class GVAR(r73): weapon_R73Launcher {
lockAcquire = 1; // auto lock

author = "Dani (TCVM)";
displayName = CSTRING(r73);
weaponLockDelay = 0.5;

magazines[] = {
QGVAR(r73),
QGVAR(PylonMissile_Missile_R73_x1)
};
};

class Missile_AA_03_Plane_CAS_02_F;
class GVAR(r74): Missile_AA_03_Plane_CAS_02_F {
lockAcquire = 1; // auto lock

author = "Dani (TCVM)";
displayName = CSTRING(r74);
weaponLockDelay = 0.5;

magazines[] = {
QGVAR(2Rnd_Missile_R74),
QGVAR(PylonRack_1Rnd_Missile_R74),
QGVAR(PylonMissile_1Rnd_Missile_R74)
};
};
};

12 changes: 12 additions & 0 deletions addons/missile_aim9/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
ace_missile_aim9
===================

Adds AIM-9 and R-73 AHR missiles


## Maintainers

The people responsible for merging changes to this component or answering potential questions.

- [Dani-TCVM](https://github.com/TheCandianVendingMachine)

20 changes: 20 additions & 0 deletions addons/missile_aim9/config.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#include "script_component.hpp"

class CfgPatches {
class ADDON {
name = COMPONENT_NAME;
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common","ace_missileguidance"};
author = ECSTRING(common,ACETeam);
authors[] = {"Dani (TCVM)"};
url = ECSTRING(main,URL);
VERSION_CONFIG;
};
};

#include "CfgAmmo.hpp"
#include "CfgMagazines.hpp"
#include "CfgWeapons.hpp"

18 changes: 18 additions & 0 deletions addons/missile_aim9/script_component.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#define COMPONENT missile_aim9
#define COMPONENT_BEAUTIFIED AIM-9
#include "\z\ace\addons\main\script_mod.hpp"

// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define ENABLE_PERFORMANCE_COUNTERS

#ifdef DEBUG_ENABLED_MISSILE_AIM9
#define DEBUG_MODE_FULL
#endif

#ifdef DEBUG_SETTINGS_MISSILE_AIM9
#define DEBUG_SETTINGS DEBUG_SETTINGS_MISSILE_AIM9
#endif

#include "\z\ace\addons\main\script_macros.hpp"

Loading

0 comments on commit 1168acb

Please sign in to comment.