Skip to content

Commit 745dc0c

Browse files
TheCandianVendingMachinedependabot[bot]Mike-MFveteran29kymckay
authored
missile_manpad - add MANPADs and IR seeker (#10031)
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>
1 parent ce56d87 commit 745dc0c

12 files changed

Lines changed: 274 additions & 18 deletions

addons/missile_manpad/$PBOPREFIX$

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
z\ace\addons\missile_manpad

addons/missile_manpad/CfgAmmo.hpp

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
class EGVAR(missileguidance,type_RAM);
2+
class EGVAR(missileguidance,type_Stinger);
3+
class CfgAmmo {
4+
class ammo_Missile_rim116;
5+
class GVAR(rim116): ammo_Missile_rim116 {
6+
maneuvrability = 0;
7+
missileLockMaxSpeed = 2000;
8+
9+
missileLockCone = 3; // caged lock
10+
missileKeepLockedCone = 45;
11+
missileLockMaxDistance = 5000;
12+
missileLockMinDistance = 250;
13+
14+
class ace_missileguidance: EGVAR(missileguidance,type_RAM) {
15+
enabled = 1;
16+
};
17+
};
18+
19+
class M_70mm_SAAMI;
20+
class GVAR(stinger): M_70mm_SAAMI {
21+
maneuvrability = 0;
22+
missileLockMaxSpeed = 2000;
23+
24+
missileLockCone = 3; // caged lock
25+
missileKeepLockedCone = 45;
26+
missileLockMaxDistance = 5000;
27+
missileLockMinDistance = 250;
28+
29+
class ace_missileguidance: EGVAR(missileguidance,type_Stinger) {
30+
enabled = 1;
31+
};
32+
};
33+
};
34+
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class CfgMagazines {
2+
class magazine_Missile_rim116_x21;
3+
class GVAR(rim116): magazine_Missile_rim116_x21 {
4+
author = "Dani (TCVM)";
5+
displayName = CSTRING(rim116_21x);
6+
ammo = QGVAR(rim116);
7+
};
8+
9+
class 4Rnd_70mm_SAAMI_missiles;
10+
class GVAR(stinger): 4Rnd_70mm_SAAMI_missiles {
11+
author = "Dani (TCVM)";
12+
displayName = CSTRING(stinger_4x);
13+
ammo = QGVAR(stinger);
14+
};
15+
16+
class Titan_AA;
17+
class GVAR(stinger_man): Titan_AA {
18+
author = "Dani (TCVM)";
19+
displayName = CSTRING(stinger);
20+
ammo = QGVAR(stinger);
21+
};
22+
};
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
class CfgVehicles {
2+
class LandVehicle;
3+
class StaticWeapon: LandVehicle {
4+
class Turrets;
5+
};
6+
class StaticMGWeapon: StaticWeapon {
7+
class Turrets: Turrets {
8+
class MainTurret;
9+
};
10+
};
11+
12+
class SAM_System_01_base_F: StaticMGWeapon {
13+
class AnimationSources {
14+
class Missiles_revolving {
15+
source = "revolving";
16+
weapon = QGVAR(rim116);
17+
};
18+
};
19+
20+
class Turrets: Turrets {
21+
class MainTurret: MainTurret {
22+
weapons[] = {QGVAR(rim116)};
23+
magazines[] = {QGVAR(rim116)};
24+
};
25+
};
26+
};
27+
28+
class Tank;
29+
class Tank_F: Tank {
30+
class Turrets {
31+
class MainTurret;
32+
};
33+
};
34+
class LT_01_base_F: Tank_F {
35+
class AnimationSources;
36+
class Turrets: Turrets {};
37+
};
38+
39+
class LT_01_AA_base_F: LT_01_base_F {
40+
class AnimationSources: AnimationSources {
41+
class Missiles_revolving {
42+
source = "revolving";
43+
weapon = QGVAR(FIM92);
44+
};
45+
};
46+
47+
class Turrets: Turrets {
48+
class MainTurret: MainTurret {
49+
weapons[] = {"SmokeLauncher", QGVAR(FIM92), "HMG_127"};
50+
magazines[] = {
51+
"SmokeLauncherMag",
52+
QGVAR(stinger),
53+
QGVAR(stinger),
54+
"100Rnd_127x99_mag_Tracer_Red",
55+
"100Rnd_127x99_mag_Tracer_Red",
56+
"100Rnd_127x99_mag_Tracer_Red",
57+
"100Rnd_127x99_mag_Tracer_Red"
58+
};
59+
};
60+
};
61+
};
62+
63+
class APC_Tracked_01_base_F: Tank_F {
64+
class Turrets: Turrets {
65+
class MainTurret: MainTurret {};
66+
};
67+
};
68+
class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F {
69+
class AnimationSources;
70+
};
71+
class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F {
72+
class AnimationSources: AnimationSources {
73+
class Missiles_revolving {
74+
source = "revolving";
75+
weapon = QGVAR(FIM92);
76+
};
77+
};
78+
class Turrets: Turrets {
79+
class MainTurret: MainTurret {
80+
weapons[] = {"autocannon_35mm", QGVAR(FIM92)};
81+
magazines[] = {"680Rnd_35mm_AA_shells_Tracer_Red", QGVAR(stinger), QGVAR(stinger)};
82+
};
83+
};
84+
};
85+
86+
class APC_Tracked_02_base_F: Tank_F {
87+
class Turrets: Turrets {
88+
class MainTurret: MainTurret {};
89+
};
90+
};
91+
class O_APC_Tracked_02_base_F: APC_Tracked_02_base_F {
92+
class AnimationSources;
93+
};
94+
class O_APC_Tracked_02_AA_F: O_APC_Tracked_02_base_F {
95+
class AnimationSources: AnimationSources {
96+
class Missiles_revolving {
97+
source = "revolving";
98+
weapon = QGVAR(FIM92);
99+
};
100+
};
101+
class Turrets: Turrets {
102+
class MainTurret: MainTurret {
103+
weapons[] = {"autocannon_35mm", QGVAR(FIM92)};
104+
magazines[] = {"680Rnd_35mm_AA_shells_Tracer_Green", QGVAR(stinger), QGVAR(stinger)};
105+
};
106+
};
107+
};
108+
};
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class CfgWeapons {
2+
class weapon_rim116Launcher;
3+
class GVAR(rim116): weapon_rim116Launcher {
4+
author = "Dani (TCVM)";
5+
displayName = CSTRING(rim116);
6+
magazines[] = { QGVAR(rim116) };
7+
weaponLockDelay = 0.5;
8+
};
9+
10+
class missiles_SAAMI;
11+
class GVAR(FIM92): missiles_SAAMI {
12+
author = "Dani (TCVM)";
13+
displayName = CSTRING(stinger);
14+
magazines[] = { QGVAR(stinger) };
15+
weaponLockDelay = 0.5;
16+
};
17+
18+
class Launcher_Base_F;
19+
class launch_Titan_base: Launcher_Base_F {
20+
magazines[] = {QGVAR(stinger_man)};
21+
};
22+
};
23+

addons/missile_manpad/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
ace_missile_manpad
2+
===================
3+
4+
Adds missile guidance to all vanilla MANPAD systems
5+
6+
7+
## Maintainers
8+
9+
The people responsible for merging changes to this component or answering potential questions.
10+
11+
- [Dani-TCVM](https://github.com/TheCandianVendingMachine)
12+

addons/missile_manpad/config.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#include "script_component.hpp"
2+
3+
class CfgPatches {
4+
class ADDON {
5+
name = COMPONENT_NAME;
6+
units[] = {};
7+
weapons[] = {};
8+
requiredVersion = REQUIRED_VERSION;
9+
requiredAddons[] = {"ace_common","ace_missileguidance"};
10+
author = ECSTRING(common,ACETeam);
11+
authors[] = {"Dani (TCVM)"};
12+
url = ECSTRING(main,URL);
13+
VERSION_CONFIG;
14+
};
15+
};
16+
17+
#include "CfgAmmo.hpp"
18+
#include "CfgMagazines.hpp"
19+
#include "CfgWeapons.hpp"
20+
#include "CfgVehicles.hpp"
21+
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#define COMPONENT missile_manpad
2+
#define COMPONENT_BEAUTIFIED MANPAD
3+
#include "\z\ace\addons\main\script_mod.hpp"
4+
5+
// #define DEBUG_MODE_FULL
6+
// #define DISABLE_COMPILE_CACHE
7+
// #define ENABLE_PERFORMANCE_COUNTERS
8+
9+
#ifdef DEBUG_ENABLED_MISSILE_MANPAD
10+
#define DEBUG_MODE_FULL
11+
#endif
12+
13+
#ifdef DEBUG_SETTINGS_MISSILE_MANPAD
14+
#define DEBUG_SETTINGS DEBUG_SETTINGS_MISSILE_MANPAD
15+
#endif
16+
17+
#include "\z\ace\addons\main\script_macros.hpp"
18+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project name="ACE">
3+
<Package name="MISSILE_MANPAD">
4+
<Key ID="STR_ACE_MISSILE_MANPAD_stinger">
5+
<English>FIM-92 Stinger [ACE]</English>
6+
</Key>
7+
<Key ID="STR_ACE_MISSILE_MANPAD_rim116">
8+
<English>RIM-116 [ACE]</English>
9+
</Key>
10+
<Key ID="STR_ACE_MISSILE_MANPAD_rim116_21x">
11+
<English>21x RIM-116 [ACE]</English>
12+
</Key>
13+
<Key ID="STR_ACE_MISSILE_MANPAD_stinger_4x">
14+
<English>4x FIM-92 Stinger [ACE]</English>
15+
</Key>
16+
</Package>
17+
</Project>

addons/missileguidance/CfgMissileTypesNato.hpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -579,8 +579,8 @@ class GVAR(type_RBS70) {
579579
class GVAR(type_Redeye) {
580580
enabled = 0;
581581

582-
pitchRate = 27; // Minium flap deflection for guidance
583-
yawRate = 27; // Maximum flap deflection for guidance
582+
pitchRate = 40; // Minium flap deflection for guidance
583+
yawRate = 40; // Maximum flap deflection for guidance
584584

585585
canVanillaLock = 1; // Can this default vanilla lock? Only applicable to non-cadet mode
586586

@@ -594,8 +594,9 @@ class GVAR(type_Redeye) {
594594
defaultSeekerLockMode = "LOBL";
595595
seekerLockModes[] = { "LOBL" };
596596

597-
defaultNavigationType = "ProportionalNavigation";
598-
navigationTypes[] = { "ProportionalNavigation" };
597+
defaultNavigationType = "LineOfSight";
598+
navigationTypes[] = { "LineOfSight" };
599+
navigationGain = 3;
599600

600601
seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
601602
seekerAngle = 45; // Angle from the shooter's view that can track the missile
@@ -713,4 +714,4 @@ class GVAR(type_TOW) {
713714
// Attack profile type selection
714715
defaultAttackProfile = "WIRE";
715716
attackProfiles[] = {"WIRE"};
716-
};
717+
};

0 commit comments

Comments
 (0)