diff --git a/addons/missile_sam/$PBOPREFIX$ b/addons/missile_sam/$PBOPREFIX$ new file mode 100644 index 00000000000..eb6208c34cf --- /dev/null +++ b/addons/missile_sam/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\missile_sam \ No newline at end of file diff --git a/addons/missile_sam/CfgAmmo.hpp b/addons/missile_sam/CfgAmmo.hpp new file mode 100644 index 00000000000..080b2c2e325 --- /dev/null +++ b/addons/missile_sam/CfgAmmo.hpp @@ -0,0 +1,32 @@ +class EGVAR(missileguidance,type_Patriot); +class EGVAR(missileguidance,type_ESSM); +class EGVAR(missileguidance,type_S400); +class CfgAmmo { + class ammo_Missile_mim145; + class GVAR(patriot): ammo_Missile_mim145 { + author = "Dani (TCVM)"; + maneuvrability = 0; + class ace_missileguidance: EGVAR(missileguidance,type_Patriot) { + enabled = 1; + }; + }; + + class ammo_Missile_rim162; + class GVAR(RIM162): ammo_Missile_rim162 { + author = "Dani (TCVM)"; + maneuvrability = 0; + class ace_missileguidance: EGVAR(missileguidance,type_ESSM) { + enabled = 1; + }; + }; + + class ammo_Missile_s750; + class GVAR(s400): ammo_Missile_s750 { + author = "Dani (TCVM)"; + maneuvrability = 0; + class ace_missileguidance: EGVAR(missileguidance,type_S400) { + enabled = 1; + }; + }; +}; + diff --git a/addons/missile_sam/CfgMagazines.hpp b/addons/missile_sam/CfgMagazines.hpp new file mode 100644 index 00000000000..3aeccfd99af --- /dev/null +++ b/addons/missile_sam/CfgMagazines.hpp @@ -0,0 +1,20 @@ +class CfgMagazines { + class magazine_Missile_mim145_x4; + class GVAR(patriot): magazine_Missile_mim145_x4 { + displayName = CSTRING(patriot_missile); + ammo = QGVAR(patriot); + }; + + class magazine_Missile_rim162_x8; + class GVAR(RIM162): magazine_Missile_rim162_x8 { + displayName = CSTRING(essm_missile); + ammo = QGVAR(RIM162); + }; + + class magazine_Missile_s750_x4; + class GVAR(s400): magazine_Missile_s750_x4 { + displayName = CSTRING(s400_missile); + ammo = QGVAR(s400); + }; +}; + diff --git a/addons/missile_sam/CfgVehicles.hpp b/addons/missile_sam/CfgVehicles.hpp new file mode 100644 index 00000000000..8f539ae900f --- /dev/null +++ b/addons/missile_sam/CfgVehicles.hpp @@ -0,0 +1,75 @@ +class CfgVehicles { + class LandVehicle; + class StaticWeapon: LandVehicle { + class Turrets; + }; + class StaticMGWeapon: StaticWeapon { + class Turrets: Turrets { + class MainTurret; + }; + }; + + // RIM-162 + class SAM_System_02_base_F: StaticMGWeapon { + displayName = CSTRING(essm); + class AnimationSources { + class Missiles_revolving { + source = "revolving"; + weapon = QGVAR(RIM162); + }; + }; + class Turrets: Turrets { + class MainTurret: MainTurret { + gunnerName = CSTRING(essm_operator); + weapons[] = { + QGVAR(RIM162) + }; + magazines[] = { + QGVAR(RIM162) + }; + }; + }; + }; + // Patriot + class SAM_System_03_base_F: StaticMGWeapon { + displayName = CSTRING(patriot); + class AnimationSources { + class Missiles_revolving { + source = "revolving"; + weapon = QGVAR(patriot); + }; + }; + class Turrets: Turrets { + class MainTurret: MainTurret { + gunnerName = CSTRING(patriot_operator); + weapons[] = { + QGVAR(patriot) + }; + magazines[] = { + QGVAR(patriot) + }; + }; + }; + }; + // S-400 + class SAM_System_04_base_F: StaticMGWeapon { + displayName = CSTRING(s400); + class AnimationSources { + class Missiles_revolving { + source = "revolving"; + weapon = QGVAR(s400); + }; + }; + class Turrets: Turrets { + class MainTurret: MainTurret { + gunnerName = CSTRING(s400_operator); + weapons[] = { + QGVAR(s400) + }; + magazines[] = { + QGVAR(s400) + }; + }; + }; + }; +}; \ No newline at end of file diff --git a/addons/missile_sam/CfgWeapons.hpp b/addons/missile_sam/CfgWeapons.hpp new file mode 100644 index 00000000000..d367e9e0570 --- /dev/null +++ b/addons/missile_sam/CfgWeapons.hpp @@ -0,0 +1,26 @@ +class CfgWeapons { + class weapon_mim145Launcher; + class GVAR(patriot): weapon_mim145Launcher { + author = "Dani (TCVM)"; + displayName = CSTRING(patriot); + magazines[] = { QGVAR(patriot) }; + weaponLockDelay = 0.5; + }; + + class weapon_rim162Launcher; + class GVAR(RIM162): weapon_rim162Launcher { + author = "Dani (TCVM)"; + displayName = CSTRING(essm); + magazines[] = { QGVAR(RIM162) }; + weaponLockDelay = 0.5; + }; + + class weapon_s750Launcher; + class GVAR(s400): weapon_s750Launcher { + author = "Dani (TCVM)"; + displayName = CSTRING(s400); + magazines[] = { QGVAR(s400) }; + weaponLockDelay = 0.5; + }; +}; + diff --git a/addons/missile_sam/README.md b/addons/missile_sam/README.md new file mode 100644 index 00000000000..ec159b99322 --- /dev/null +++ b/addons/missile_sam/README.md @@ -0,0 +1,4 @@ +ace_missile_sam +=================== + +Adds MIM-104 Patriot, S-400, and RIM-162 missiles diff --git a/addons/missile_sam/config.cpp b/addons/missile_sam/config.cpp new file mode 100644 index 00000000000..d285b08cfc8 --- /dev/null +++ b/addons/missile_sam/config.cpp @@ -0,0 +1,21 @@ +#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" +#include "CfgVehicles.hpp" + diff --git a/addons/missile_sam/script_component.hpp b/addons/missile_sam/script_component.hpp new file mode 100644 index 00000000000..5e05890671c --- /dev/null +++ b/addons/missile_sam/script_component.hpp @@ -0,0 +1,18 @@ +#define COMPONENT missile_sam +#define COMPONENT_BEAUTIFIED SAM +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_MISSILE_SAM + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_MISSILE_SAM + #define DEBUG_SETTINGS DEBUG_SETTINGS_MISSILE_SAM +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + diff --git a/addons/missile_sam/stringtable.xml b/addons/missile_sam/stringtable.xml new file mode 100644 index 00000000000..fdad926b39b --- /dev/null +++ b/addons/missile_sam/stringtable.xml @@ -0,0 +1,32 @@ + + + + + Mk-29 ESSM + + + RIM-162 ESSM + + + Mk-29 Operator + + + MIM-104 Patriot + + + Patriot Missile + + + MIM-104 Operator + + + S-400 + + + S-400 Missile + + + S-400 Operator + + +