From a76fe34f3fbc30fffa49a2edf79a927dbfa1a07e Mon Sep 17 00:00:00 2001 From: Druss99 <42724070+Druss99@users.noreply.github.com> Date: Sun, 26 Jan 2025 09:32:12 -0500 Subject: [PATCH] CurrentHill USA military assets pack (#461) * usa military assets pack * minor fixes to have missiles * tweak nasams 3 * fix preset groups bug * adjust b-21 name * Update faction.py bugfixes will go in a different branch --- game/data/radar_db.py | 55 ++ game/factions/faction.py | 67 ++ game/theater/start_generator.py | 1 + pydcs_extensions/__init__.py | 1 + .../usamilitaryassetspack/__init__.py | 1 + .../usamilitaryassetspack.py | 737 ++++++++++++++++++ qt_ui/uiconstants.py | 1 + qt_ui/windows/newgame/QNewGameWizard.py | 1 + .../newgame/WizardPages/QGeneratorSettings.py | 7 + resources/customized_payloads/B-21.lua | 215 +++++ resources/groups/MIM-104_Patriot_Mobile.yaml | 14 + .../groups/MIM-104_Patriot_Stationary.yaml | 14 + resources/groups/NASAMS3.yaml | 10 + resources/groups/THAAD.yaml | 9 + resources/layouts/anti_air/MIM-104.yaml | 53 ++ resources/layouts/anti_air/NASAMS-3 Site.yaml | 55 ++ resources/ui/units/aircrafts/banners/B-21.jpg | Bin 0 -> 23842 bytes resources/ui/units/aircrafts/icons/B-21.jpg | Bin 0 -> 908 bytes resources/units/aircraft/B-21.yaml | 22 + .../ground_units/CH_Centurion_C_RAM.yaml | 12 + .../units/ground_units/CH_FMTV_M1083.yaml | 11 + .../units/ground_units/CH_HEMTT_M977.yaml | 11 + .../units/ground_units/CH_HEMTT_M983.yaml | 12 + resources/units/ground_units/CH_LAVAD.yaml | 11 + resources/units/ground_units/CH_M10.yaml | 12 + .../units/ground_units/CH_M1A2SEPV3.yaml | 12 + .../units/ground_units/CH_M270A1_ATACMS.yaml | 10 + .../units/ground_units/CH_M270A1_GLSDB.yaml | 11 + .../units/ground_units/CH_M270A1_GMLRS.yaml | 11 + resources/units/ground_units/CH_M2A3.yaml | 12 + resources/units/ground_units/CH_M551.yaml | 11 + .../units/ground_units/CH_M777LTH_M795.yaml | 10 + .../units/ground_units/CH_M777LTH_M982.yaml | 10 + .../ground_units/CH_M777LTH_MTVR_M795.yaml | 11 + .../ground_units/CH_M777LTH_MTVR_M982.yaml | 11 + resources/units/ground_units/CH_MTVR.yaml | 12 + .../units/ground_units/CH_NASAMS3_CP.yaml | 4 + .../ground_units/CH_NASAMS3_LN_AIM9X2.yaml | 9 + .../ground_units/CH_NASAMS3_LN_AMRAAM_ER.yaml | 9 + .../units/ground_units/CH_NASAMS3_SR.yaml | 16 + .../units/ground_units/CH_OshkoshLATV_M2.yaml | 11 + .../ground_units/CH_OshkoshLATV_MK19.yaml | 11 + .../units/ground_units/CH_OshkoshMATV_M2.yaml | 11 + .../ground_units/CH_OshkoshMATV_MK19.yaml | 11 + .../units/ground_units/CH_THAAD_ANTPY2.yaml | 13 + .../units/ground_units/CH_THAAD_M1120.yaml | 13 + .../units/ground_units/CH_THAAD_TFCC.yaml | 4 + .../ground_units/CH_USInfantry_FGM148.yaml | 5 + .../ground_units/CH_USInfantry_FIM92.yaml | 5 + .../ground_units/CH_USInfantry_M120.yaml | 5 + .../ground_units/CH_USInfantry_M136.yaml | 5 + .../units/ground_units/CH_USInfantry_M2.yaml | 5 + .../ground_units/CH_USInfantry_M240.yaml | 5 + .../ground_units/CH_USInfantry_M249.yaml | 5 + .../units/ground_units/CH_USInfantry_M4.yaml | 5 + .../ground_units/CH_USInfantry_M4M203.yaml | 5 + .../units/ground_units/CH_USInfantry_M82.yaml | 5 + .../ground_units/CH_USInfantry_MK19.yaml | 5 + .../ground_units/M142_HIMARS_ATACMS.yaml | 11 + .../units/ground_units/M142_HIMARS_GLSDB.yaml | 12 + .../units/ground_units/M142_HIMARS_GMLRS.yaml | 12 + .../units/ground_units/M142_HIMARS_PRSM.yaml | 11 + .../ground_units/M142_HIMARS_PRSM_ASHM.yaml | 11 + .../units/ground_units/MIM104_ANMPQ65.yaml | 11 + .../units/ground_units/MIM104_ANMPQ65A.yaml | 11 + .../ground_units/MIM104_ANMPQ65A_HEMTT.yaml | 11 + .../ground_units/MIM104_ANMPQ65_HEMTT.yaml | 11 + resources/units/ground_units/MIM104_ECS.yaml | 4 + resources/units/ground_units/MIM104_EPP.yaml | 4 + .../units/ground_units/MIM104_LTAMDS.yaml | 11 + .../ground_units/MIM104_LTAMDS_HEMTT.yaml | 11 + .../units/ground_units/MIM104_M903_PAC2.yaml | 12 + .../ground_units/MIM104_M903_PAC2_HEMTT.yaml | 12 + .../units/ground_units/MIM104_M903_PAC3.yaml | 12 + .../ground_units/MIM104_M903_PAC3_HEMTT.yaml | 12 + .../units/ships/CH_Arleigh_Burke_IIA.yaml | 4 + .../units/ships/CH_Arleigh_Burke_III.yaml | 4 + resources/units/ships/CH_Constellation.yaml | 4 + resources/units/ships/CH_Ticonderoga.yaml | 4 + resources/units/ships/CH_Ticonderoga_CMP.yaml | 4 + 80 files changed, 1819 insertions(+) create mode 100644 pydcs_extensions/usamilitaryassetspack/__init__.py create mode 100644 pydcs_extensions/usamilitaryassetspack/usamilitaryassetspack.py create mode 100644 resources/customized_payloads/B-21.lua create mode 100644 resources/groups/MIM-104_Patriot_Mobile.yaml create mode 100644 resources/groups/MIM-104_Patriot_Stationary.yaml create mode 100644 resources/groups/NASAMS3.yaml create mode 100644 resources/groups/THAAD.yaml create mode 100644 resources/layouts/anti_air/MIM-104.yaml create mode 100644 resources/layouts/anti_air/NASAMS-3 Site.yaml create mode 100644 resources/ui/units/aircrafts/banners/B-21.jpg create mode 100644 resources/ui/units/aircrafts/icons/B-21.jpg create mode 100644 resources/units/aircraft/B-21.yaml create mode 100644 resources/units/ground_units/CH_Centurion_C_RAM.yaml create mode 100644 resources/units/ground_units/CH_FMTV_M1083.yaml create mode 100644 resources/units/ground_units/CH_HEMTT_M977.yaml create mode 100644 resources/units/ground_units/CH_HEMTT_M983.yaml create mode 100644 resources/units/ground_units/CH_LAVAD.yaml create mode 100644 resources/units/ground_units/CH_M10.yaml create mode 100644 resources/units/ground_units/CH_M1A2SEPV3.yaml create mode 100644 resources/units/ground_units/CH_M270A1_ATACMS.yaml create mode 100644 resources/units/ground_units/CH_M270A1_GLSDB.yaml create mode 100644 resources/units/ground_units/CH_M270A1_GMLRS.yaml create mode 100644 resources/units/ground_units/CH_M2A3.yaml create mode 100644 resources/units/ground_units/CH_M551.yaml create mode 100644 resources/units/ground_units/CH_M777LTH_M795.yaml create mode 100644 resources/units/ground_units/CH_M777LTH_M982.yaml create mode 100644 resources/units/ground_units/CH_M777LTH_MTVR_M795.yaml create mode 100644 resources/units/ground_units/CH_M777LTH_MTVR_M982.yaml create mode 100644 resources/units/ground_units/CH_MTVR.yaml create mode 100644 resources/units/ground_units/CH_NASAMS3_CP.yaml create mode 100644 resources/units/ground_units/CH_NASAMS3_LN_AIM9X2.yaml create mode 100644 resources/units/ground_units/CH_NASAMS3_LN_AMRAAM_ER.yaml create mode 100644 resources/units/ground_units/CH_NASAMS3_SR.yaml create mode 100644 resources/units/ground_units/CH_OshkoshLATV_M2.yaml create mode 100644 resources/units/ground_units/CH_OshkoshLATV_MK19.yaml create mode 100644 resources/units/ground_units/CH_OshkoshMATV_M2.yaml create mode 100644 resources/units/ground_units/CH_OshkoshMATV_MK19.yaml create mode 100644 resources/units/ground_units/CH_THAAD_ANTPY2.yaml create mode 100644 resources/units/ground_units/CH_THAAD_M1120.yaml create mode 100644 resources/units/ground_units/CH_THAAD_TFCC.yaml create mode 100644 resources/units/ground_units/CH_USInfantry_FGM148.yaml create mode 100644 resources/units/ground_units/CH_USInfantry_FIM92.yaml create mode 100644 resources/units/ground_units/CH_USInfantry_M120.yaml create mode 100644 resources/units/ground_units/CH_USInfantry_M136.yaml create mode 100644 resources/units/ground_units/CH_USInfantry_M2.yaml create mode 100644 resources/units/ground_units/CH_USInfantry_M240.yaml create mode 100644 resources/units/ground_units/CH_USInfantry_M249.yaml create mode 100644 resources/units/ground_units/CH_USInfantry_M4.yaml create mode 100644 resources/units/ground_units/CH_USInfantry_M4M203.yaml create mode 100644 resources/units/ground_units/CH_USInfantry_M82.yaml create mode 100644 resources/units/ground_units/CH_USInfantry_MK19.yaml create mode 100644 resources/units/ground_units/M142_HIMARS_ATACMS.yaml create mode 100644 resources/units/ground_units/M142_HIMARS_GLSDB.yaml create mode 100644 resources/units/ground_units/M142_HIMARS_GMLRS.yaml create mode 100644 resources/units/ground_units/M142_HIMARS_PRSM.yaml create mode 100644 resources/units/ground_units/M142_HIMARS_PRSM_ASHM.yaml create mode 100644 resources/units/ground_units/MIM104_ANMPQ65.yaml create mode 100644 resources/units/ground_units/MIM104_ANMPQ65A.yaml create mode 100644 resources/units/ground_units/MIM104_ANMPQ65A_HEMTT.yaml create mode 100644 resources/units/ground_units/MIM104_ANMPQ65_HEMTT.yaml create mode 100644 resources/units/ground_units/MIM104_ECS.yaml create mode 100644 resources/units/ground_units/MIM104_EPP.yaml create mode 100644 resources/units/ground_units/MIM104_LTAMDS.yaml create mode 100644 resources/units/ground_units/MIM104_LTAMDS_HEMTT.yaml create mode 100644 resources/units/ground_units/MIM104_M903_PAC2.yaml create mode 100644 resources/units/ground_units/MIM104_M903_PAC2_HEMTT.yaml create mode 100644 resources/units/ground_units/MIM104_M903_PAC3.yaml create mode 100644 resources/units/ground_units/MIM104_M903_PAC3_HEMTT.yaml create mode 100644 resources/units/ships/CH_Arleigh_Burke_IIA.yaml create mode 100644 resources/units/ships/CH_Arleigh_Burke_III.yaml create mode 100644 resources/units/ships/CH_Constellation.yaml create mode 100644 resources/units/ships/CH_Ticonderoga.yaml create mode 100644 resources/units/ships/CH_Ticonderoga_CMP.yaml diff --git a/game/data/radar_db.py b/game/data/radar_db.py index 9172f2c7..2e10ee8e 100644 --- a/game/data/radar_db.py +++ b/game/data/radar_db.py @@ -27,6 +27,7 @@ from pydcs_extensions import highdigitsams as hds from pydcs_extensions import vietnamwarvessels as vwv from pydcs_extensions import chinesemilitaryassetspack as cmap from pydcs_extensions import russianmilitaryassetspack as rmap +from pydcs_extensions import usamilitaryassetspack as usamap TELARS = { @@ -64,6 +65,13 @@ TRACK_RADARS = { cmap.CH_HQ22_STR, rmap.CH_BukM3_9S36M, rmap.CH_S350_50N6, + usamap.MIM104_ANMPQ65, + usamap.MIM104_ANMPQ65A, + usamap.MIM104_ANMPQ65_HEMTT, + usamap.MIM104_ANMPQ65A_HEMTT, + usamap.MIM104_LTAMDS, + usamap.MIM104_LTAMDS_HEMTT, + usamap.CH_THAAD_ANTPY2, } LAUNCHER_TRACKER_PAIRS = { @@ -102,6 +110,39 @@ LAUNCHER_TRACKER_PAIRS = { rmap.CH_BukM3_9A317MA: (rmap.CH_BukM3_9S36M,), rmap.CH_S350_50P6_9M96D: (rmap.CH_S350_50N6,), rmap.CH_S350_50P6_9M100: (rmap.CH_S350_50N6,), + usamap.MIM104_M903_PAC2: ( + usamap.MIM104_ANMPQ65, + usamap.MIM104_ANMPQ65A, + usamap.MIM104_LTAMDS, + usamap.MIM104_ANMPQ65_HEMTT, + usamap.MIM104_ANMPQ65A_HEMTT, + usamap.MIM104_LTAMDS_HEMTT, + ), + usamap.MIM104_M903_PAC3: ( + usamap.MIM104_ANMPQ65, + usamap.MIM104_ANMPQ65A, + usamap.MIM104_LTAMDS, + usamap.MIM104_ANMPQ65_HEMTT, + usamap.MIM104_ANMPQ65A_HEMTT, + usamap.MIM104_LTAMDS_HEMTT, + ), + usamap.MIM104_M903_PAC2_HEMTT: ( + usamap.MIM104_ANMPQ65, + usamap.MIM104_ANMPQ65A, + usamap.MIM104_LTAMDS, + usamap.MIM104_ANMPQ65_HEMTT, + usamap.MIM104_ANMPQ65A_HEMTT, + usamap.MIM104_LTAMDS_HEMTT, + ), + usamap.MIM104_M903_PAC3_HEMTT: ( + usamap.MIM104_ANMPQ65, + usamap.MIM104_ANMPQ65A, + usamap.MIM104_LTAMDS, + usamap.MIM104_ANMPQ65_HEMTT, + usamap.MIM104_ANMPQ65A_HEMTT, + usamap.MIM104_LTAMDS_HEMTT, + ), + usamap.CH_THAAD_M1120: (usamap.CH_THAAD_ANTPY2,), } UNITS_WITH_RADAR = { @@ -156,6 +197,15 @@ UNITS_WITH_RADAR = { rmap.CH_BukM3_9S36M, rmap.CH_BukM3_9A317M, rmap.CH_BukM3_9A317MA, + usamap.CH_Centurion_C_RAM, + usamap.CH_NASAMS3_SR, + usamap.MIM104_ANMPQ65, + usamap.MIM104_ANMPQ65A, + usamap.MIM104_LTAMDS, + usamap.MIM104_ANMPQ65_HEMTT, + usamap.MIM104_ANMPQ65A_HEMTT, + usamap.MIM104_LTAMDS_HEMTT, + usamap.CH_THAAD_ANTPY2, # Ships ALBATROS, CVN_71, @@ -196,4 +246,9 @@ UNITS_WITH_RADAR = { rmap.CH_Grigorovich_LACM, rmap.CH_Gremyashchiy_AShM, rmap.CH_Gremyashchiy_LACM, + usamap.CH_Constellation, + usamap.CH_Arleigh_Burke_IIA, + usamap.CH_Arleigh_Burke_III, + usamap.CH_Ticonderoga, + usamap.CH_Ticonderoga_CMP, } diff --git a/game/factions/faction.py b/game/factions/faction.py index 0b28cfca..b3b0bffe 100644 --- a/game/factions/faction.py +++ b/game/factions/faction.py @@ -758,6 +758,73 @@ class Faction: self.remove_preset("BUK_M3") self.remove_preset("Bastion-P_LBASM") self.remove_preset("S-350") + if not mod_settings.usamilitaryassetspack: + self.remove_vehicle("M142_HIMARS_GLSDB") + self.remove_vehicle("M142_HIMARS_ATACMS") + self.remove_vehicle("M142_HIMARS_GMLRS") + self.remove_vehicle("M142_HIMARS_PRSM") + self.remove_vehicle("M142_HIMARS_PRSM_ASHM") + self.remove_vehicle("CH_M270A1_GLSDB") + self.remove_vehicle("CH_M270A1_ATACMS") + self.remove_vehicle("CH_M270A1_GMLRS") + self.remove_vehicle("CH_M777LTH_M982") + self.remove_vehicle("CH_M777LTH_M795") + self.remove_vehicle("CH_M777LTH_MTVR_M982") + self.remove_vehicle("CH_M777LTH_MTVR_M795") + self.remove_vehicle("CH_USInfantry_FGM148") + self.remove_vehicle("CH_USInfantry_M136") + self.remove_vehicle("CH_USInfantry_M2") + self.remove_vehicle("CH_USInfantry_M82") + self.remove_vehicle("CH_USInfantry_MK19") + self.remove_vehicle("CH_USInfantry_M4") + self.remove_vehicle("CH_USInfantry_M240") + self.remove_vehicle("CH_USInfantry_M249") + self.remove_vehicle("CH_USInfantry_M4M203") + self.remove_vehicle("CH_USInfantry_FIM92") + self.remove_vehicle("CH_USInfantry_M120") + self.remove_vehicle("CH_NASAMS3_LN_AMRAAM_ER") + self.remove_vehicle("CH_NASAMS3_LN_AIM9X2") + self.remove_vehicle("CH_NASAMS3_SR") + self.remove_vehicle("CH_NASAMS3_CP") + self.remove_vehicle("CH_Centurion_C_RAM") + self.remove_vehicle("CH_LAVAD") + self.remove_vehicle("MIM104_M903_PAC2") + self.remove_vehicle("MIM104_M903_PAC3") + self.remove_vehicle("MIM104_ECS") + self.remove_vehicle("MIM104_ANMPQ65") + self.remove_vehicle("MIM104_ANMPQ65A") + self.remove_vehicle("MIM104_LTAMDS") + self.remove_vehicle("MIM104_EPP") + self.remove_vehicle("MIM104_M903_PAC2_HEMTT") + self.remove_vehicle("MIM104_M903_PAC3_HEMTT") + self.remove_vehicle("MIM104_ANMPQ65_HEMTT") + self.remove_vehicle("MIM104_ANMPQ65A_HEMTT") + self.remove_vehicle("MIM104_LTAMDS_HEMTT") + self.remove_vehicle("CH_THAAD_ANTPY2") + self.remove_vehicle("CH_THAAD_M1120") + self.remove_vehicle("CH_THAAD_TFCC") + self.remove_vehicle("CH_MTVR") + self.remove_vehicle("CH_FMTV_M1083") + self.remove_vehicle("CH_HEMTT_M977") + self.remove_vehicle("CH_HEMTT_M983") + self.remove_vehicle("CH_OshkoshLATV_M2") + self.remove_vehicle("CH_OshkoshLATV_MK19") + self.remove_vehicle("CH_M1A2SEPV3") + self.remove_vehicle("CH_M10") + self.remove_vehicle("CH_M551") + self.remove_vehicle("CH_OshkoshMATV_M2") + self.remove_vehicle("CH_OshkoshMATV_MK19") + self.remove_vehicle("CH_M2A3") + self.remove_ship("CH_Constellation") + self.remove_ship("CH_Arleigh_Burke_IIA") + self.remove_ship("CH_Arleigh_Burke_III") + self.remove_ship("CH_Ticonderoga") + self.remove_ship("CH_Ticonderoga_CMP") + self.remove_aircraft("B-21") + self.remove_preset("MIM-104 Patriot (Mobile)") + self.remove_preset("MIM-104 Patriot (Stationary)") + self.remove_preset("NASAMS 3") + self.remove_preset("THAAD") def remove_aircraft(self, name: str) -> None: for aircraft_set in [self.aircraft, self.awacs, self.tankers]: diff --git a/game/theater/start_generator.py b/game/theater/start_generator.py index 886c6bdf..a096e255 100644 --- a/game/theater/start_generator.py +++ b/game/theater/start_generator.py @@ -103,6 +103,7 @@ class ModSettings: vietnamwarvessels: bool = False chinesemilitaryassetspack: bool = False russianmilitaryassetspack: bool = False + usamilitaryassetspack: bool = False class GameGenerator: diff --git a/pydcs_extensions/__init__.py b/pydcs_extensions/__init__.py index 01e23314..75092635 100644 --- a/pydcs_extensions/__init__.py +++ b/pydcs_extensions/__init__.py @@ -37,6 +37,7 @@ from .uh60l import * from .vietnamwarvessels import * from .chinesemilitaryassetspack import * from .russianmilitaryassetspack import * +from .usamilitaryassetspack import * def load_mods() -> None: diff --git a/pydcs_extensions/usamilitaryassetspack/__init__.py b/pydcs_extensions/usamilitaryassetspack/__init__.py new file mode 100644 index 00000000..43981dbc --- /dev/null +++ b/pydcs_extensions/usamilitaryassetspack/__init__.py @@ -0,0 +1 @@ +from .usamilitaryassetspack import * diff --git a/pydcs_extensions/usamilitaryassetspack/usamilitaryassetspack.py b/pydcs_extensions/usamilitaryassetspack/usamilitaryassetspack.py new file mode 100644 index 00000000..6a1c3679 --- /dev/null +++ b/pydcs_extensions/usamilitaryassetspack/usamilitaryassetspack.py @@ -0,0 +1,737 @@ +# Requires USA Military Assets for DCS by Currenthill: +# https://www.currenthill.com/usa +# + + +from typing import Set, Dict, Any + +from dcs import unittype, task +from dcs.helicopters import HelicopterType +from dcs.planes import PlaneType +from dcs.weapons_data import Weapons + +from game.modsupport import ( + planemod, + shipmod, + vehiclemod, +) +from pydcs_extensions.weapon_injector import inject_weapons + + +# Weapons +class WeaponsUSA: + + _4_x_AGM_158B_JASSM_ER_ALCM = { + "clsid": "{B21_AGM-158B*4}", + "name": "4 x AGM-158B JASSM-ER ALCM", + "weight": 4400, + } + + _4_x_AGM_158C_LRASM_AShM = { + "clsid": "{B21_AGM-158C*4}", + "name": "4 x AGM-158C LRASM AShM", + "weight": 4400, + } + + GBU_57_MOP_30000_lb_Penetrator_GPS_Guided_Glide_Bomb = { + "clsid": "{B21_GBU-57}", + "name": "GBU-57 MOP 30000 lb Penetrator GPS Guided Glide-Bomb", + "weight": 14000, + } + + _4_x_AGM_88G_AARGM_ER_ARM = { + "clsid": "{B21_AGM-88G*4}", + "name": "4 x AGM-88G AARGM-ER ARM", + "weight": 1868, + } + + +inject_weapons(WeaponsUSA) + + +# Artillery +@vehiclemod +class M142_HIMARS_GLSDB(unittype.VehicleType): + id = "M142_HIMARS_GLSDB" + name = "[CH] M142 HIMARS (GLSDB)" + detection_range = 0 + threat_range = 150000 + air_weapon_dist = 150000 + eplrs = True + + +@vehiclemod +class M142_HIMARS_ATACMS(unittype.VehicleType): + id = "M142_HIMARS_ATACMS" + name = "[CH] M142 HIMARS (ATACMS)" + detection_range = 0 + threat_range = 300000 + air_weapon_dist = 300000 + eplrs = True + + +@vehiclemod +class M142_HIMARS_GMLRS(unittype.VehicleType): + id = "M142_HIMARS_GMLRS" + name = "[CH] M142 HIMARS (GMLRS)" + detection_range = 0 + threat_range = 90000 + air_weapon_dist = 90000 + eplrs = True + + +@vehiclemod +class M142_HIMARS_PRSM(unittype.VehicleType): + id = "M142_HIMARS_PRSM" + name = "[CH] M142 HIMARS (PrSM)" + detection_range = 0 + threat_range = 500000 + air_weapon_dist = 500000 + eplrs = True + + +@vehiclemod +class M142_HIMARS_PRSM_ASHM(unittype.VehicleType): + id = "M142_HIMARS_PRSM_ASHM" + name = "[CH] M142 HIMARS (PrSM AShM)" + detection_range = 0 + threat_range = 500000 + air_weapon_dist = 500000 + eplrs = True + + +@vehiclemod +class CH_M270A1_GLSDB(unittype.VehicleType): + id = "CH_M270A1_GLSDB" + name = "[CH] M270A1 MLRS (GLSDB)" + detection_range = 0 + threat_range = 150000 + air_weapon_dist = 150000 + eplrs = True + + +@vehiclemod +class CH_M270A1_ATACMS(unittype.VehicleType): + id = "CH_M270A1_ATACMS" + name = "[CH] M270A1 MLRS (ATACMS)" + detection_range = 0 + threat_range = 300000 + air_weapon_dist = 300000 + eplrs = True + + +@vehiclemod +class CH_M270A1_GMLRS(unittype.VehicleType): + id = "CH_M270A1_GMLRS" + name = "[CH] M270A1 MLRS (GMLRS)" + detection_range = 0 + threat_range = 90000 + air_weapon_dist = 90000 + eplrs = True + + +@vehiclemod +class CH_M777LTH_M982(unittype.VehicleType): + id = "CH_M777LTH_M982" + name = "[CH] M777 LTH M982 Excalibur" + detection_range = 0 + threat_range = 40000 + air_weapon_dist = 40000 + eplrs = True + + +@vehiclemod +class CH_M777LTH_M795(unittype.VehicleType): + id = "CH_M777LTH_M795" + name = "[CH] M777 LTH M795" + detection_range = 0 + threat_range = 24000 + air_weapon_dist = 24000 + eplrs = True + + +@vehiclemod +class CH_M777LTH_MTVR_M982(unittype.VehicleType): + id = "CH_M777LTH_MTVR_M982" + name = "[CH] M777 LTH M982 Excalibur (MTVR)" + detection_range = 0 + threat_range = 40000 + air_weapon_dist = 40000 + eplrs = True + + +@vehiclemod +class CH_M777LTH_MTVR_M795(unittype.VehicleType): + id = "CH_M777LTH_MTVR_M795" + name = "[CH] M777 LTH M795 (MTVR)" + detection_range = 0 + threat_range = 24000 + air_weapon_dist = 24000 + eplrs = True + + +# Infantry +@vehiclemod +class CH_USInfantry_FGM148(unittype.VehicleType): + id = "CH_USInfantry_FGM148" + name = "[CH] FGM-148 ATGM Soldier" + detection_range = 0 + threat_range = 4750 + air_weapon_dist = 4750 + eplrs = True + + +@vehiclemod +class CH_USInfantry_M136(unittype.VehicleType): + id = "CH_USInfantry_M136" + name = "[CH] M136 AT Soldier" + detection_range = 0 + threat_range = 400 + air_weapon_dist = 400 + eplrs = True + + +@vehiclemod +class CH_USInfantry_M2(unittype.VehicleType): + id = "CH_USInfantry_M2" + name = "[CH] M2 HMG Soldier" + detection_range = 0 + threat_range = 1800 + air_weapon_dist = 1800 + eplrs = True + + +@vehiclemod +class CH_USInfantry_M82(unittype.VehicleType): + id = "CH_USInfantry_M82" + name = "[CH] M82 AMR Soldier" + detection_range = 0 + threat_range = 1800 + air_weapon_dist = 1800 + eplrs = True + + +@vehiclemod +class CH_USInfantry_MK19(unittype.VehicleType): + id = "CH_USInfantry_MK19" + name = "[CH] Mk19 AGL Soldier" + detection_range = 0 + threat_range = 1500 + air_weapon_dist = 1500 + eplrs = True + + +@vehiclemod +class CH_USInfantry_M4(unittype.VehicleType): + id = "CH_USInfantry_M4" + name = "[CH] M4 AR Soldier" + detection_range = 0 + threat_range = 500 + air_weapon_dist = 500 + eplrs = True + + +@vehiclemod +class CH_USInfantry_M240(unittype.VehicleType): + id = "CH_USInfantry_M240" + name = "[CH] M240 GPMG Soldier" + detection_range = 0 + threat_range = 1200 + air_weapon_dist = 1200 + eplrs = True + + +@vehiclemod +class CH_USInfantry_M249(unittype.VehicleType): + id = "CH_USInfantry_M249" + name = "[CH] M249 LMG Soldier" + detection_range = 0 + threat_range = 700 + air_weapon_dist = 700 + eplrs = True + + +@vehiclemod +class CH_USInfantry_M4M203(unittype.VehicleType): + id = "CH_USInfantry_M4M203" + name = "[CH] M4/M203 AR/GL Soldier" + detection_range = 0 + threat_range = 500 + air_weapon_dist = 500 + eplrs = True + + +@vehiclemod +class CH_USInfantry_FIM92(unittype.VehicleType): + id = "CH_USInfantry_FIM92" + name = "[CH] FIM-92K Stinger Soldier" + detection_range = 0 + threat_range = 8000 + air_weapon_dist = 8000 + eplrs = True + + +@vehiclemod +class CH_USInfantry_M120(unittype.VehicleType): + id = "CH_USInfantry_M120" + name = "[CH] M120 120 mm Mortar" + detection_range = 0 + threat_range = 7200 + air_weapon_dist = 7200 + eplrs = True + + +# Air Defense +@vehiclemod +class CH_NASAMS3_LN_AMRAAM_ER(unittype.VehicleType): + id = "CH_NASAMS3_LN_AMRAAM_ER" + name = "[CH] NASAMS 3 LCHR LN (AMRAAM-ER)" + detection_range = 0 + threat_range = 50000 + air_weapon_dist = 50000 + eplrs = True + + +@vehiclemod +class CH_NASAMS3_LN_AIM9X2(unittype.VehicleType): + id = "CH_NASAMS3_LN_AIM9X2" + name = "[CH] NASAMS 3 LCHR LN (AIM-9X-2)" + detection_range = 0 + threat_range = 20000 + air_weapon_dist = 20000 + eplrs = True + + +@vehiclemod +class CH_NASAMS3_SR(unittype.VehicleType): + id = "CH_NASAMS3_SR" + name = "[CH] NASAMS 3 SR" + detection_range = 120000 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class CH_NASAMS3_CP(unittype.VehicleType): + id = "CH_NASAMS3_CP" + name = "[CH] NASAMS 3 CP" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class CH_Centurion_C_RAM(unittype.VehicleType): + id = "CH_Centurion_C_RAM" + name = "[CH] Centurion C-RAM" + detection_range = 20000 + threat_range = 2000 + air_weapon_dist = 2000 + eplrs = True + + +@vehiclemod +class CH_LAVAD(unittype.VehicleType): + id = "CH_LAVAD" + name = "[CH] LAV-AD SPAAGM" + detection_range = 10000 + threat_range = 8000 + air_weapon_dist = 8000 + eplrs = True + + +@vehiclemod +class MIM104_M903_PAC2(unittype.VehicleType): + id = "MIM104_M903_PAC2" + name = "[CH] MIM-104 M903 PAC-2 GEM/T LN (stationary)" + detection_range = 0 + threat_range = 150000 + air_weapon_dist = 150000 + eplrs = True + + +@vehiclemod +class MIM104_M903_PAC3(unittype.VehicleType): + id = "MIM104_M903_PAC3" + name = "[CH] MIM-104 M903 PAC-3 MSE LN (stationary)" + detection_range = 0 + threat_range = 120000 + air_weapon_dist = 120000 + eplrs = True + + +@vehiclemod +class MIM104_ECS(unittype.VehicleType): + id = "MIM104_ECS" + name = "[CH] MIM-104 ECS (HEMTT)" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class MIM104_ANMPQ65(unittype.VehicleType): + id = "MIM104_ANMPQ65" + name = "[CH] MIM-104 AN/MPQ-65 STR (stationary)" + detection_range = 200000 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class MIM104_ANMPQ65A(unittype.VehicleType): + id = "MIM104_ANMPQ65A" + name = "[CH] MIM-104 AN/MPQ-65A STR (stationary)" + detection_range = 260000 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class MIM104_LTAMDS(unittype.VehicleType): + id = "MIM104_LTAMDS" + name = "[CH] MIM-104 LTAMDS STR (stationary)" + detection_range = 400000 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class MIM104_EPP(unittype.VehicleType): + id = "MIM104_EPP" + name = "[CH] MIM-104 EPP (HEMTT)" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class MIM104_M903_PAC2_HEMTT(unittype.VehicleType): + id = "MIM104_M903_PAC2_HEMTT" + name = "[CH] MIM-104 M903 PAC-2 GEM/T LN (HEMTT)" + detection_range = 0 + threat_range = 150000 + air_weapon_dist = 150000 + eplrs = True + + +@vehiclemod +class MIM104_M903_PAC3_HEMTT(unittype.VehicleType): + id = "MIM104_M903_PAC3_HEMTT" + name = "[CH] MIM-104 M903 PAC-3 MSE LN (HEMTT)" + detection_range = 0 + threat_range = 120000 + air_weapon_dist = 120000 + eplrs = True + + +@vehiclemod +class MIM104_ANMPQ65_HEMTT(unittype.VehicleType): + id = "MIM104_ANMPQ65_HEMTT" + name = "[CH] MIM-104 AN/MPQ-65 STR (HEMTT)" + detection_range = 200000 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class MIM104_ANMPQ65A_HEMTT(unittype.VehicleType): + id = "MIM104_ANMPQ65A_HEMTT" + name = "[CH] MIM-104 AN/MPQ-65A STR (HEMTT)" + detection_range = 260000 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class MIM104_LTAMDS_HEMTT(unittype.VehicleType): + id = "MIM104_LTAMDS_HEMTT" + name = "[CH] MIM-104 LTAMDS STR (HEMTT)" + detection_range = 400000 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class CH_THAAD_ANTPY2(unittype.VehicleType): + id = "CH_THAAD_ANTPY2" + name = "[CH] THAAD AN/TPY-2 STR" + detection_range = 1000000 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class CH_THAAD_M1120(unittype.VehicleType): + id = "CH_THAAD_M1120" + name = "[CH] THAAD M1120 LN" + detection_range = 0 + threat_range = 200000 + air_weapon_dist = 200000 + eplrs = True + + +@vehiclemod +class CH_THAAD_TFCC(unittype.VehicleType): + id = "CH_THAAD_TFCC" + name = "[CH] THAAD TFCC" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +# Unarmed +@vehiclemod +class CH_MTVR(unittype.VehicleType): + id = "CH_MTVR" + name = "[CH] Oshkosh MTVR MK23" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + + +@vehiclemod +class CH_FMTV_M1083(unittype.VehicleType): + id = "CH_FMTV_M1083" + name = "[CH] Oshkosh FMTV M1083" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + + +@vehiclemod +class CH_HEMTT_M977(unittype.VehicleType): + id = "CH_HEMTT_M977" + name = "[CH] Oshkosh HEMTT M977" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + + +@vehiclemod +class CH_HEMTT_M983(unittype.VehicleType): + id = "CH_HEMTT_M983" + name = "[CH] Oshkosh HEMTT M983" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + + +# Armor +@vehiclemod +class CH_OshkoshLATV_M2(unittype.VehicleType): + id = "CH_OshkoshLATV_M2" + name = "[CH] Oshkosh L-ATV (M2)" + detection_range = 0 + threat_range = 1800 + air_weapon_dist = 1800 + eplrs = True + + +@vehiclemod +class CH_OshkoshLATV_MK19(unittype.VehicleType): + id = "CH_OshkoshLATV_MK19" + name = "[CH] Oshkosh L-ATV (Mk19)" + detection_range = 0 + threat_range = 2000 + air_weapon_dist = 2000 + eplrs = True + + +@vehiclemod +class CH_M1A2SEPV3(unittype.VehicleType): + id = "CH_M1A2SEPV3" + name = "[CH] M1A2 SEPv3 MBT" + detection_range = 0 + threat_range = 5000 + air_weapon_dist = 1800 + eplrs = True + + +@vehiclemod +class CH_M10(unittype.VehicleType): + id = "CH_M10" + name = "[CH] M10 LT" + detection_range = 0 + threat_range = 4000 + air_weapon_dist = 1800 + eplrs = True + + +@vehiclemod +class CH_M551(unittype.VehicleType): + id = "CH_M551" + name = "[CH] M551 LT" + detection_range = 0 + threat_range = 3000 + air_weapon_dist = 1800 + eplrs = True + + +@vehiclemod +class CH_OshkoshMATV_M2(unittype.VehicleType): + id = "CH_OshkoshMATV_M2" + name = "[CH] Oshkosh M-ATV MRAP (M2)" + detection_range = 0 + threat_range = 1800 + air_weapon_dist = 1800 + eplrs = True + + +@vehiclemod +class CH_OshkoshMATV_MK19(unittype.VehicleType): + id = "CH_OshkoshMATV_MK19" + name = "[CH] Oshkosh M-ATV MRAP (Mk19)" + detection_range = 0 + threat_range = 2000 + air_weapon_dist = 2000 + eplrs = True + + +@vehiclemod +class CH_M2A3(unittype.VehicleType): + id = "CH_M2A3" + name = "[CH] M2A3 IFV" + detection_range = 0 + threat_range = 3800 + air_weapon_dist = 2500 + eplrs = True + + +## SHIPS +@shipmod +class CH_Constellation(unittype.ShipType): + id = "CH_Constellation" + name = "[CH] Constellation Frigate" + plane_num = 0 + helicopter_num = 1 + parking = 1 + detection_range = 450000 + threat_range = 160000 + air_weapon_dist = 160000 + + +@shipmod +class CH_Arleigh_Burke_IIA(unittype.ShipType): + id = "CH_Arleigh_Burke_IIA" + name = "[CH] Arleigh Burke Flight IIA Destroyer" + helicopter_num = 2 + parking = 1 + detection_range = 325000 + threat_range = 160000 + air_weapon_dist = 160000 + + +@shipmod +class CH_Arleigh_Burke_III(unittype.ShipType): + id = "CH_Arleigh_Burke_III" + name = "[CH] Arleigh Burke Flight III Destroyer" + helicopter_num = 2 + parking = 1 + detection_range = 650000 + threat_range = 650000 + air_weapon_dist = 650000 + + +@shipmod +class CH_Ticonderoga(unittype.ShipType): + id = "CH_Ticonderoga" + name = "[CH] Ticonderoga Cruiser" + helicopter_num = 2 + parking = 1 + detection_range = 325000 + threat_range = 160000 + air_weapon_dist = 160000 + + +@shipmod +class CH_Ticonderoga_CMP(unittype.ShipType): + id = "CH_Ticonderoga_CMP" + name = "[CH] Ticonderoga CMP Cruiser" + helicopter_num = 2 + parking = 1 + detection_range = 325000 + threat_range = 325000 + air_weapon_dist = 325000 + + +# Planes +@planemod +class B_21(PlaneType): + id = "B-21" + large_parking_slot = True + height = 5 + width = 50 + length = 20 + fuel_max = 50000 + max_speed = 1080 + eplrs = True + radio_frequency = 127.5 + + livery_name = "B-21" # from type + + class Pylon1: + MK_82_28 = (1, Weapons.MK_82_28) + CBU87_10 = (1, Weapons.CBU87_10) + CBU97_10 = (1, Weapons.CBU97_10) + GBU_38_16 = (1, Weapons.GBU_38_16) + GBU_31_8 = (1, Weapons.GBU_31_8) + B_1B_Mk_84_8 = (1, Weapons.B_1B_Mk_84_8) + GBU_31V3B_8 = (1, Weapons.GBU_31V3B_8) + _4_x_AGM_154C___JSOW_Unitary_BROACH = ( + 1, + Weapons._4_x_AGM_154C___JSOW_Unitary_BROACH, + ) + _4_x_AGM_158B_JASSM_ER_ALCM = (1, Weapons._4_x_AGM_158B_JASSM_ER_ALCM) + _4_x_AGM_158C_LRASM_AShM = (1, Weapons._4_x_AGM_158C_LRASM_AShM) + _4_x_AGM_88G_AARGM_ER_ARM = (1, Weapons._4_x_AGM_88G_AARGM_ER_ARM) + GBU_57_MOP_30000_lb_Penetrator_GPS_Guided_Glide_Bomb = ( + 1, + Weapons.GBU_57_MOP_30000_lb_Penetrator_GPS_Guided_Glide_Bomb, + ) + + # ERRR + + class Pylon2: + MK_82_28 = (2, Weapons.MK_82_28) + CBU87_10 = (2, Weapons.CBU87_10) + CBU97_10 = (2, Weapons.CBU97_10) + GBU_38_16 = (2, Weapons.GBU_38_16) + GBU_31_8 = (2, Weapons.GBU_31_8) + B_1B_Mk_84_8 = (2, Weapons.B_1B_Mk_84_8) + GBU_31V3B_8 = (2, Weapons.GBU_31V3B_8) + _4_x_AGM_154C___JSOW_Unitary_BROACH = ( + 2, + Weapons._4_x_AGM_154C___JSOW_Unitary_BROACH, + ) + _4_x_AGM_158B_JASSM_ER_ALCM = (2, Weapons._4_x_AGM_158B_JASSM_ER_ALCM) + _4_x_AGM_158C_LRASM_AShM = (2, Weapons._4_x_AGM_158C_LRASM_AShM) + _4_x_AGM_88G_AARGM_ER_ARM = (2, Weapons._4_x_AGM_88G_AARGM_ER_ARM) + + # ERRR + + pylons: Set[int] = {1, 2} + + tasks = [ + task.Reconnaissance, + task.GroundAttack, + task.CAS, + task.AFAC, + task.RunwayAttack, + task.AntishipStrike, + task.PinpointStrike, + task.SEAD, + ] + task_default = task.GroundAttack diff --git a/qt_ui/uiconstants.py b/qt_ui/uiconstants.py index c9d19378..9e377f1f 100644 --- a/qt_ui/uiconstants.py +++ b/qt_ui/uiconstants.py @@ -227,6 +227,7 @@ def load_aircraft_icons(): AIRCRAFT_ICONS["CH_Mi28N"] = AIRCRAFT_ICONS["CH_Mi"] AIRCRAFT_ICONS["CH_Tu-95MSM"] = AIRCRAFT_ICONS["CH_Tu-95"] AIRCRAFT_ICONS["CH_Tu-160M2"] = AIRCRAFT_ICONS["CH_Tu-16"] + AIRCRAFT_ICONS["B-21"] = AIRCRAFT_ICONS["B"] def load_vehicle_icons(): diff --git a/qt_ui/windows/newgame/QNewGameWizard.py b/qt_ui/windows/newgame/QNewGameWizard.py index 7e235d00..b1b01403 100644 --- a/qt_ui/windows/newgame/QNewGameWizard.py +++ b/qt_ui/windows/newgame/QNewGameWizard.py @@ -126,6 +126,7 @@ class NewGameWizard(QtWidgets.QWizard): vietnamwarvessels=self.field("vietnamwarvessels"), chinesemilitaryassetspack=self.field("chinesemilitaryassetspack"), russianmilitaryassetspack=self.field("russianmilitaryassetspack"), + usamilitaryassetspack=self.field("usamilitaryassetspack"), ) blue_faction = self.faction_selection_page.selected_blue_faction diff --git a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py index 6d2a4d98..7ee87666 100644 --- a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py +++ b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py @@ -164,6 +164,8 @@ class GeneratorOptions(QtWidgets.QWizardPage): self.registerField("chinesemilitaryassetspack", self.chinesemilitaryassetspack) self.russianmilitaryassetspack = QtWidgets.QCheckBox() self.registerField("russianmilitaryassetspack", self.russianmilitaryassetspack) + self.usamilitaryassetspack = QtWidgets.QCheckBox() + self.registerField("usamilitaryassetspack", self.usamilitaryassetspack) modHelpText = QtWidgets.QLabel( "

Select the mods you have installed. If your chosen factions support them, you'll be able to use these mods in your campaign.

" @@ -191,6 +193,10 @@ class GeneratorOptions(QtWidgets.QWizardPage): "CurrentHill Swedish Military Assets pack (1.10)", self.swedishmilitaryassetspack, ), + ( + "CurrentHill USA Military Assets pack (1.1.5)", + self.usamilitaryassetspack, + ), ("EA-6B Prowler (v2.9.4.102)", self.ea6b_prowler), ("F-100 Super Sabre (v2.7.18.30765 patch 20.10.22)", self.f100_supersabre), ("F-104 Starfighter (v2.7.11.222.01)", self.f104_starfighter), @@ -295,3 +301,4 @@ class GeneratorOptions(QtWidgets.QWizardPage): self.russianmilitaryassetspack.setChecked( s.get("russianmilitaryassetspack", False) ) + self.usamilitaryassetspack.setChecked(s.get("usamilitaryassetspack", False)) diff --git a/resources/customized_payloads/B-21.lua b/resources/customized_payloads/B-21.lua new file mode 100644 index 00000000..a922f814 --- /dev/null +++ b/resources/customized_payloads/B-21.lua @@ -0,0 +1,215 @@ +local unitPayloads = { + ["name"] = "B-21", + ["payloads"] = { + [1] = { + ["displayName"] = "Retribution Anti-ship", + ["name"] = "Retribution Anti-ship", + ["pylons"] = { + [1] = { + ["CLSID"] = "{B21_AGM-158C*4}", + ["num"] = 2, + }, + [2] = { + ["CLSID"] = "{B21_AGM-158C*4}", + ["num"] = 1, + }, + }, + ["tasks"] = { + [1] = 32, + }, + }, + [2] = { + ["displayName"] = "Retribution BAI", + ["name"] = "Retribution BAI", + ["pylons"] = { + [1] = { + ["CLSID"] = "{AABA1A14-78A1-4E85-94DD-463CF75BD9E4}", + ["num"] = 2, + }, + [2] = { + ["CLSID"] = "{AABA1A14-78A1-4E85-94DD-463CF75BD9E4}", + ["num"] = 1, + }, + }, + ["tasks"] = { + [1] = 32, + }, + }, + [3] = { + ["displayName"] = "Retribution DEAD", + ["name"] = "Retribution DEAD", + ["pylons"] = { + [1] = { + ["CLSID"] = "{B21_AGM-158B*4}", + ["num"] = 2, + }, + [2] = { + ["CLSID"] = "{B21_AGM-158B*4}", + ["num"] = 1, + }, + }, + ["tasks"] = { + [1] = 32, + }, + }, + [4] = { + ["displayName"] = "Retribution OCA/Runway", + ["name"] = "Retribution OCA/Runway", + ["pylons"] = { + [1] = { + ["CLSID"] = "GBU-31V3B*8", + ["num"] = 1, + }, + [2] = { + ["CLSID"] = "", + ["num"] = 2, + }, + }, + ["tasks"] = { + [1] = 32, + }, + }, + [5] = { + ["displayName"] = "Retribution CAS", + ["name"] = "Retribution CAS", + ["pylons"] = { + [1] = { + ["CLSID"] = "GBU-31*8", + ["num"] = 2, + ["settings"] = { + ["NFP_PRESID"] = "MDRN_B_A_PGM_TWINWELL", + ["NFP_PRESVER"] = 1, + ["NFP_VIS_DrawArgNo_56"] = 0.5, + ["NFP_fuze_type_nose"] = "EMPTY_NOSE", + ["NFP_fuze_type_tail"] = "FMU139CB_LD", + ["arm_delay_ctrl_FMU139CB_LD"] = 4, + ["function_delay_ctrl_FMU139CB_LD"] = 0, + }, + }, + [2] = { + ["CLSID"] = "GBU-31*8", + ["num"] = 1, + ["settings"] = { + ["NFP_PRESID"] = "MDRN_B_A_PGM_TWINWELL", + ["NFP_PRESVER"] = 1, + ["NFP_VIS_DrawArgNo_56"] = 0.5, + ["NFP_fuze_type_nose"] = "EMPTY_NOSE", + ["NFP_fuze_type_tail"] = "FMU139CB_LD", + ["arm_delay_ctrl_FMU139CB_LD"] = 4, + ["function_delay_ctrl_FMU139CB_LD"] = 0, + }, + }, + }, + ["tasks"] = { + [1] = 32, + }, + }, + [6] = { + ["displayName"] = "Retribution SEAD Sweep", + ["name"] = "Retribution SEAD Sweep", + ["pylons"] = { + [1] = { + ["CLSID"] = "{B21_AGM-88G*4}", + ["num"] = 2, + }, + [2] = { + ["CLSID"] = "{B21_AGM-158B*4}", + ["num"] = 1, + }, + }, + ["tasks"] = { + [1] = 32, + }, + }, + [7] = { + ["displayName"] = "Retribution OCA/Aircraft", + ["name"] = "Retribution OCA/Aircraft", + ["pylons"] = { + [1] = { + ["CLSID"] = "GBU-31V3B*8", + ["num"] = 2, + }, + [2] = { + ["CLSID"] = "GBU-31V3B*8", + ["num"] = 1, + }, + }, + ["tasks"] = { + [1] = 32, + }, + }, + [8] = { + ["displayName"] = "Retribution Armed Recon", + ["name"] = "Retribution Armed Recon", + ["pylons"] = { + [1] = { + ["CLSID"] = "GBU-31*8", + ["num"] = 2, + ["settings"] = { + ["NFP_PRESID"] = "MDRN_B_A_PGM_TWINWELL", + ["NFP_PRESVER"] = 1, + ["NFP_VIS_DrawArgNo_56"] = 0.5, + ["NFP_fuze_type_nose"] = "EMPTY_NOSE", + ["NFP_fuze_type_tail"] = "FMU139CB_LD", + ["arm_delay_ctrl_FMU139CB_LD"] = 4, + ["function_delay_ctrl_FMU139CB_LD"] = 0, + }, + }, + [2] = { + ["CLSID"] = "GBU-31*8", + ["num"] = 1, + ["settings"] = { + ["NFP_PRESID"] = "MDRN_B_A_PGM_TWINWELL", + ["NFP_PRESVER"] = 1, + ["NFP_VIS_DrawArgNo_56"] = 0.5, + ["NFP_fuze_type_nose"] = "EMPTY_NOSE", + ["NFP_fuze_type_tail"] = "FMU139CB_LD", + ["arm_delay_ctrl_FMU139CB_LD"] = 4, + ["function_delay_ctrl_FMU139CB_LD"] = 0, + }, + }, + }, + ["tasks"] = { + [1] = 32, + }, + }, + [9] = { + ["displayName"] = "Retribution SEAD", + ["name"] = "Retribution SEAD", + ["pylons"] = { + [1] = { + ["CLSID"] = "{B21_AGM-88G*4}", + ["num"] = 2, + }, + [2] = { + ["CLSID"] = "{B21_AGM-88G*4}", + ["num"] = 1, + }, + }, + ["tasks"] = { + [1] = 32, + }, + }, + [10] = { + ["displayName"] = "Retribution Strike", + ["name"] = "Retribution Strike", + ["pylons"] = { + [1] = { + ["CLSID"] = "", + ["num"] = 2, + }, + [2] = { + ["CLSID"] = "{B21_GBU-57}", + ["num"] = 1, + }, + }, + ["tasks"] = { + [1] = 32, + }, + }, + }, + ["tasks"] = { + }, + ["unitType"] = "B-21", +} +return unitPayloads diff --git a/resources/groups/MIM-104_Patriot_Mobile.yaml b/resources/groups/MIM-104_Patriot_Mobile.yaml new file mode 100644 index 00000000..e9250572 --- /dev/null +++ b/resources/groups/MIM-104_Patriot_Mobile.yaml @@ -0,0 +1,14 @@ +name: MIM-104 Patriot (Mobile) +tasks: + - LORAD +units: + - "[CH] MIM-104 AN/MPQ-65 STR (HEMTT)" + - "[CH] MIM-104 AN/MPQ-65A STR (HEMTT)" + - "[CH] MIM-104 LTAMDS STR (HEMTT)" + - "[CH] MIM-104 ECS (HEMTT)" + - "[CH] MIM-104 EPP (HEMTT)" + - "[CH] MIM-104 M903 PAC-2 GEM/T LN (HEMTT)" + - "[CH] MIM-104 M903 PAC-3 MSE LN (HEMTT)" + - "[CH] Oshkosh HEMTT M977" +layouts: + - MIM-104 Patriot Battery \ No newline at end of file diff --git a/resources/groups/MIM-104_Patriot_Stationary.yaml b/resources/groups/MIM-104_Patriot_Stationary.yaml new file mode 100644 index 00000000..5a6774df --- /dev/null +++ b/resources/groups/MIM-104_Patriot_Stationary.yaml @@ -0,0 +1,14 @@ +name: MIM-104 Patriot (Stationary) +tasks: + - LORAD +units: + - "[CH] MIM-104 AN/MPQ-65 STR (stationary)" + - "[CH] MIM-104 AN/MPQ-65A STR (stationary)" + - "[CH] MIM-104 LTAMDS STR (stationary)" + - "[CH] MIM-104 ECS (HEMTT)" + - "[CH] MIM-104 EPP (HEMTT)" + - "[CH] MIM-104 M903 PAC-2 GEM/T LN (stationary)" + - "[CH] MIM-104 M903 PAC-3 MSE LN (stationary)" + - "[CH] Oshkosh HEMTT M977" +layouts: + - MIM-104 Patriot Battery \ No newline at end of file diff --git a/resources/groups/NASAMS3.yaml b/resources/groups/NASAMS3.yaml new file mode 100644 index 00000000..6d16b364 --- /dev/null +++ b/resources/groups/NASAMS3.yaml @@ -0,0 +1,10 @@ +name: NASAMS 3 +tasks: + - MERAD +units: + - "[CH] NASAMS 3 CP" + - "[CH] NASAMS 3 SR" + - "[CH] NASAMS 3 LCHR LN (AMRAAM-ER)" + - "[CH] NASAMS 3 LCHR LN (AIM-9X-2)" +layouts: + - NASAMS 3 Site \ No newline at end of file diff --git a/resources/groups/THAAD.yaml b/resources/groups/THAAD.yaml new file mode 100644 index 00000000..4e90d538 --- /dev/null +++ b/resources/groups/THAAD.yaml @@ -0,0 +1,9 @@ +name: THAAD +tasks: + - LORAD +units: + - "[CH] THAAD AN/TPY-2 STR" + - "[CH] THAAD TFCC" + - "[CH] THAAD M1120 LN" +layouts: + - 4 Launcher Site (Semicircle) \ No newline at end of file diff --git a/resources/layouts/anti_air/MIM-104.yaml b/resources/layouts/anti_air/MIM-104.yaml new file mode 100644 index 00000000..9cf1e9fa --- /dev/null +++ b/resources/layouts/anti_air/MIM-104.yaml @@ -0,0 +1,53 @@ +name: MIM-104 Patriot Battery +tasks: + - LORAD +groups: + - Patriot: + - name: Patriot Battery 0 + unit_count: + - 2 + unit_classes: + - SearchTrackRadar + - name: Patriot Battery 1 + unit_count: + - 1 + unit_classes: + - Logistics + - name: Patriot Battery 2 + unit_count: + - 1 + unit_types: + - MIM104_ECS + - name: Patriot Battery 3 + unit_count: + - 1 + unit_classes: + - Logistics + - name: Patriot Battery 4 + unit_count: + - 1 + unit_types: + - MIM104_EPP + - name: Patriot Battery 5 + unit_count: + - 8 + unit_classes: + - Launcher + - PD: + - name: Patriot Battery 7 + optional: true + sub_task: PointDefense + unit_count: + - 1 + - 2 + unit_classes: + - SHORAD + - name: Patriot Battery 6 + sub_task: AAA + optional: true + unit_count: + - 1 + - 2 + unit_classes: + - AAA +layout_file: resources/layouts/anti_air/Patriot_Battery.miz diff --git a/resources/layouts/anti_air/NASAMS-3 Site.yaml b/resources/layouts/anti_air/NASAMS-3 Site.yaml new file mode 100644 index 00000000..37cc4dd2 --- /dev/null +++ b/resources/layouts/anti_air/NASAMS-3 Site.yaml @@ -0,0 +1,55 @@ +name: NASAMS 3 Site +tasks: + - MERAD + - LORAD +groups: + - SAM: + - name: Search Radar + unit_count: + - 1 + unit_classes: + - SearchRadar + - SearchTrackRadar + - name: Track Radar + optional: true # Allow groups without TR + fill: false # Do not fill with faction possible units + unit_count: + - 1 + unit_classes: + - TrackRadar + - name: Command Post + optional: true + fill: false # Do not fill with faction possible units + unit_count: + - 1 + unit_classes: + - CommandPost + - name: Launcher + unit_count: + - 4 + unit_types: + - CH_NASAMS3_LN_AMRAAM_ER + - name: Logistics + optional: true + unit_count: + - 1 + - 2 + unit_classes: + - Logistics + - PD: # Point Defense as separate group + - name: PD + sub_task: PointDefense + optional: true + unit_count: + - 2 + unit_types: + - CH_NASAMS3_LN_AIM9X2 + - name: AAA + sub_task: AAA + optional: true + unit_count: + - 1 + - 2 + unit_classes: + - AAA +layout_file: resources/layouts/anti_air/8_Launcher_Circle.miz diff --git a/resources/ui/units/aircrafts/banners/B-21.jpg b/resources/ui/units/aircrafts/banners/B-21.jpg new file mode 100644 index 0000000000000000000000000000000000000000..94e83789621a2aa37c05f7daff9d44fba8bbb79f GIT binary patch literal 23842 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[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 RW8b~vBTXDyBKH4p0su@@QPuze literal 0 HcmV?d00001 diff --git a/resources/units/aircraft/B-21.yaml b/resources/units/aircraft/B-21.yaml new file mode 100644 index 00000000..a25d364d --- /dev/null +++ b/resources/units/aircraft/B-21.yaml @@ -0,0 +1,22 @@ +description: "The Northrop Grumman B-21 Raider is an American strategic bomber in development + for the United States Air Force (USAF) by Northrop Grumman. Part of the Long Range Strike + Bomber (LRS-B) program, it is to be a stealth intercontinental strategic bomber that can + deliver conventional and thermonuclear weapons. Named Raider in honor of the Doolittle + Raiders of World War II, the B-21 is meant to replace the Rockwell B-1 Lancer and Northrop + B-2 Spirit by 2040, and possibly the Boeing B-52 Stratofortress after that." +introduced: 2023 +manufacturer: Northrop Grumman +origin: USA +price: 45 +role: Strategic Bomber +max_range: 1000 +variants: + "[CH] B-21": {} +tasks: + Anti-ship: 100 + BAI: 370 + CAS: 750 + SEAD: 210 + DEAD: 210 + OCA/Runway: 660 + Strike: 690 diff --git a/resources/units/ground_units/CH_Centurion_C_RAM.yaml b/resources/units/ground_units/CH_Centurion_C_RAM.yaml new file mode 100644 index 00000000..8357a060 --- /dev/null +++ b/resources/units/ground_units/CH_Centurion_C_RAM.yaml @@ -0,0 +1,12 @@ +class: AAA +description: The Centurion C-RAM is a land-based mobile countermeasure system designed to + protect military installations and assets form incoming artillery, rockets and mortary fire. + Based on the Centurion 20mm gun, the system fires at 4,500 rounds per minute to intercept hostile + projectiles. +introduced: 2004 +manufacturer: General Dynamics +origin: United States +price: 15 +role: Self-Propelled Anti-Aircraft Gun +variants: + "[CH] Centurion C-RAM": {} diff --git a/resources/units/ground_units/CH_FMTV_M1083.yaml b/resources/units/ground_units/CH_FMTV_M1083.yaml new file mode 100644 index 00000000..f7867163 --- /dev/null +++ b/resources/units/ground_units/CH_FMTV_M1083.yaml @@ -0,0 +1,11 @@ +class: Logistics +description: The HEMTT M977 Truck is a highly versatile cargo and troop transport. Equipped with a 450 + horsepower diesel engine the M977 excels in transporting supplies, equipment and personnel in challenging + terrains. Its flatbed can carry up to 10 tons of material, making it a key asset in military logistics. +introduced: 1982 +manufacturer: Oshkosh Defence (Stward and Stevenson) +origin: United States +price: 3 +role: Medium Tactical Vehicle +variants: + "[CH] Oshkosh FMTV M1083": {} diff --git a/resources/units/ground_units/CH_HEMTT_M977.yaml b/resources/units/ground_units/CH_HEMTT_M977.yaml new file mode 100644 index 00000000..9d50ceab --- /dev/null +++ b/resources/units/ground_units/CH_HEMTT_M977.yaml @@ -0,0 +1,11 @@ +class: Logistics +description: The HEMTT M977 Truck is a highly versatile cargo and troop transport. Equipped with a 450 + horsepower diesel engine the M977 excels in transporting supplies, equipment and personnel in challenging + terrains. Its flatbed can carry up to 10 tons of material, making it a key asset in military logistics. +introduced: 1982 +manufacturer: Oshkosh Defence (Stward and Stevenson) +origin: United States +price: 3 +role: Medium Tactical Vehicle +variants: + "[CH] Oshkosh HEMTT M977": {} diff --git a/resources/units/ground_units/CH_HEMTT_M983.yaml b/resources/units/ground_units/CH_HEMTT_M983.yaml new file mode 100644 index 00000000..f30007cb --- /dev/null +++ b/resources/units/ground_units/CH_HEMTT_M983.yaml @@ -0,0 +1,12 @@ +class: Logistics +description: The HEMTT M983 Tractor is a highly versatile, heavy-duty military vehicle designed + for transporting and towing large payloads, including missile systems and other heavy equipment. + With a 500-horsepower diesel engine the 8x8 is capable of exceptional off-road performance. It's been + used extensively since its debut in 1982 with US and allied forces. +introduced: 1982 +manufacturer: Oshkosh Defence +origin: United States +price: 4 +role: Heavy Transport Vehicle +variants: + "[CH] Oshkosh HEMTT M983": {} diff --git a/resources/units/ground_units/CH_LAVAD.yaml b/resources/units/ground_units/CH_LAVAD.yaml new file mode 100644 index 00000000..3fe6fa0b --- /dev/null +++ b/resources/units/ground_units/CH_LAVAD.yaml @@ -0,0 +1,11 @@ +class: SHORAD +description: A highly mobile self-propelled anti-aircraft vehicle designed to provide defense for ground units + on the front line. It combines both radar guided ground to air missiles and a high volume of close in gunfire from + its 25mm M242 Bushmaster chain gun and stinger missiles. +introduced: 1989 +manufacturer: General Dynamics +origin: United States +price: 30 +role: Self-Propelled Anti-Aircraft Gun +variants: + "[CH] LAV-AD SPAAGM": {} diff --git a/resources/units/ground_units/CH_M10.yaml b/resources/units/ground_units/CH_M10.yaml new file mode 100644 index 00000000..ac86714e --- /dev/null +++ b/resources/units/ground_units/CH_M10.yaml @@ -0,0 +1,12 @@ +class: ATGM +description: THe M10 Light Tank features a 105mm M35 rifled cannon, providing effective + firepower against enemy infantry, light vehicles, and armored threats. The M10's enhanced + optical sights and fire-control system enable rapid target engagement that suits it well for + highly mobile hit and run tactics. +introduced: 2020 +manufacturer: General Dynamics +origin: United States +price: 14 +role: Tank Destroyer +variants: + "[CH] M10 LT": {} diff --git a/resources/units/ground_units/CH_M1A2SEPV3.yaml b/resources/units/ground_units/CH_M1A2SEPV3.yaml new file mode 100644 index 00000000..ed715d90 --- /dev/null +++ b/resources/units/ground_units/CH_M1A2SEPV3.yaml @@ -0,0 +1,12 @@ +class: Tank +description: The M1A2 Abrams is an advanced version of hte renowned M1 Abrams. The M1A2 + introduced a redisigned commanders independent thermal viewer (CITV), upgraded armor and + digital systems to bolster situational awareness. Despite a nearly 70 ton weight, the M1A2 + maintains decent mobility with its 1,500 horspower engine. +introduced: 1992 +manufacturer: General Dynamics +origin: United States +price: 25 +role: Main Battle Tank +variants: + "[CH] M1A2 SEPv3 MBT": {} diff --git a/resources/units/ground_units/CH_M270A1_ATACMS.yaml b/resources/units/ground_units/CH_M270A1_ATACMS.yaml new file mode 100644 index 00000000..502961be --- /dev/null +++ b/resources/units/ground_units/CH_M270A1_ATACMS.yaml @@ -0,0 +1,10 @@ +class: Missile +description: A highly mobile, tracked artillery system designed to dlivery devastating firepower + at long ranges. Capable of firing guided and unguided rockets the M270 is capable of engaging a + variety of targets at distances of up to 160 nautical miles. +introduced: 1983 +manufacturer: Lockheed Martin +origin: United States +price: 45 +variants: + "[CH] M270A1 MLRS (ATACMS)": {} diff --git a/resources/units/ground_units/CH_M270A1_GLSDB.yaml b/resources/units/ground_units/CH_M270A1_GLSDB.yaml new file mode 100644 index 00000000..ac38f873 --- /dev/null +++ b/resources/units/ground_units/CH_M270A1_GLSDB.yaml @@ -0,0 +1,11 @@ +class: Artillery +description: A highly mobile, tracked artillery system designed to dlivery devastating firepower + at long ranges. Capable of firing guided and unguided rockets the M270 is capable of engaging a + variety of targets at distances of up to 160 nautical miles. +introduced: 1983 +manufacturer: Lockheed Martin +origin: United States +price: 45 +role: Long-Range Precision Artillery Striker +variants: + "[CH] M270A1 MLRS (GLSDB)": {} diff --git a/resources/units/ground_units/CH_M270A1_GMLRS.yaml b/resources/units/ground_units/CH_M270A1_GMLRS.yaml new file mode 100644 index 00000000..3255f642 --- /dev/null +++ b/resources/units/ground_units/CH_M270A1_GMLRS.yaml @@ -0,0 +1,11 @@ +class: Artillery +description: A highly mobile, tracked artillery system designed to dlivery devastating firepower + at long ranges. Capable of firing guided and unguided rockets the M270 is capable of engaging a + variety of targets at distances of up to 160 nautical miles. +introduced: 1983 +manufacturer: Lockheed Martin +origin: United States +price: 45 +role: Long-Range Precision Artillery Striker +variants: + "[CH] M270A1 MLRS (GMLRS)": {} diff --git a/resources/units/ground_units/CH_M2A3.yaml b/resources/units/ground_units/CH_M2A3.yaml new file mode 100644 index 00000000..c63bc355 --- /dev/null +++ b/resources/units/ground_units/CH_M2A3.yaml @@ -0,0 +1,12 @@ +class: IFV +description: The M2A3 Bradley is a heavily upgraded variant of the original Bradley Fighting Vehicle. + The A3 variant incorporates advanced optics, situal awareness, target aquisition and armor protection systems. + Armed with the 25mm M242 Bushmaster chain gun, a coaxial 7.62mm machine gun and iconic TOW missile launcher + the M2A3 is capable of engaging both armored vehicles and infantry. +introduced: 2000 +manufacturer: BAE Systems +origin: United States +price: 13 +role: Infantry Fighting Vehicle +variants: + "[CH] M2A3 IFV": {} diff --git a/resources/units/ground_units/CH_M551.yaml b/resources/units/ground_units/CH_M551.yaml new file mode 100644 index 00000000..035fce97 --- /dev/null +++ b/resources/units/ground_units/CH_M551.yaml @@ -0,0 +1,11 @@ +class: ATGM +description: The M551 Sheridan was developed as a high movile air-droppable armored vehicle + designed for reconnaissance and light combat. Equipped with a 152mm M81 gun/launcher + the M551 can fire both conventional ammunition and the MGM-51C GLATGM. +introduced: 1969 +manufacturer: FMC Corporation +origin: United States +price: 13 +role: Tank Destroyer +variants: + "[CH] M551 LT": {} diff --git a/resources/units/ground_units/CH_M777LTH_M795.yaml b/resources/units/ground_units/CH_M777LTH_M795.yaml new file mode 100644 index 00000000..745ae927 --- /dev/null +++ b/resources/units/ground_units/CH_M777LTH_M795.yaml @@ -0,0 +1,10 @@ +class: Artillery +description: The M777 is a state-of-the-art artillery system designed for rapid deployment and + precision fire support. The M777 succeedes the M198 howitzer by being 40% lighter. It's able to + fire both unguided and guided munitions. It can be towed by an MTVR or deployed stationary. +introduced: 2005 +manufacturer: BAE Systems +origin: United States/United Kingdom +price: 16 +variants: + "[CH] M777 LTH M795": {} diff --git a/resources/units/ground_units/CH_M777LTH_M982.yaml b/resources/units/ground_units/CH_M777LTH_M982.yaml new file mode 100644 index 00000000..5bec0aae --- /dev/null +++ b/resources/units/ground_units/CH_M777LTH_M982.yaml @@ -0,0 +1,10 @@ +class: Artillery +description: The M777 is a state-of-the-art artillery system designed for rapid deployment and + precision fire support. The M777 succeedes the M198 howitzer by being 40% lighter. It's able to + fire both unguided and guided munitions. It can be towed by an MTVR or deployed stationary. +introduced: 2005 +manufacturer: BAE Systems +origin: United States/United Kingdom +price: 16 +variants: + "[CH] M777 LTH M982 Excalibur": {} diff --git a/resources/units/ground_units/CH_M777LTH_MTVR_M795.yaml b/resources/units/ground_units/CH_M777LTH_MTVR_M795.yaml new file mode 100644 index 00000000..6b912a9b --- /dev/null +++ b/resources/units/ground_units/CH_M777LTH_MTVR_M795.yaml @@ -0,0 +1,11 @@ +class: Artillery +description: The M777 is a state-of-the-art artillery system designed for rapid deployment and + precision fire support. The M777 succeedes the M198 howitzer by being 40% lighter. It's able to + fire both unguided and guided munitions. It can be towed by an MTVR or deployed stationary. +introduced: 2005 +manufacturer: BAE Systems +origin: United States/United Kingdom +price: 16 +role: Lightweight Towed Howitzer +variants: + "[CH] M777 LTH M795 (MTVR)": {} diff --git a/resources/units/ground_units/CH_M777LTH_MTVR_M982.yaml b/resources/units/ground_units/CH_M777LTH_MTVR_M982.yaml new file mode 100644 index 00000000..2cb65821 --- /dev/null +++ b/resources/units/ground_units/CH_M777LTH_MTVR_M982.yaml @@ -0,0 +1,11 @@ +class: Artillery +description: The M777 is a state-of-the-art artillery system designed for rapid deployment and + precision fire support. The M777 succeedes the M198 howitzer by being 40% lighter. It's able to + fire both unguided and guided munitions. It can be towed by an MTVR or deployed stationary. +introduced: 2005 +manufacturer: BAE Systems +origin: United States/United Kingdom +price: 16 +role: Lightweight Towed Howitzer +variants: + "[CH] M777 LTH M982 Excalibur (MTVR)": {} diff --git a/resources/units/ground_units/CH_MTVR.yaml b/resources/units/ground_units/CH_MTVR.yaml new file mode 100644 index 00000000..04287f66 --- /dev/null +++ b/resources/units/ground_units/CH_MTVR.yaml @@ -0,0 +1,12 @@ +class: Logistics +description: The FMTV (Family of Medium Tactical Vehicles) Truck is a versatile vehicle + designed for cargo transport and troop movement. The 6x6 configuration and advances suspension + offers good mobility in challenging terrains. The truck can be loaded with up to 2.5 tons + and outfitted with an armored cab for crew protection. +introduced: 1996 +manufacturer: Oshkosh Defence (Stewart and Stevenson) +origin: United States +price: 3 +role: Tactical Transport Vehicle +variants: + "[CH] Oshkosh MTVR MK23": {} diff --git a/resources/units/ground_units/CH_NASAMS3_CP.yaml b/resources/units/ground_units/CH_NASAMS3_CP.yaml new file mode 100644 index 00000000..6b57aca9 --- /dev/null +++ b/resources/units/ground_units/CH_NASAMS3_CP.yaml @@ -0,0 +1,4 @@ +class: CommandPost +price: 14 +variants: + "[CH] NASAMS 3 CP": null diff --git a/resources/units/ground_units/CH_NASAMS3_LN_AIM9X2.yaml b/resources/units/ground_units/CH_NASAMS3_LN_AIM9X2.yaml new file mode 100644 index 00000000..88c57e83 --- /dev/null +++ b/resources/units/ground_units/CH_NASAMS3_LN_AIM9X2.yaml @@ -0,0 +1,9 @@ +class: Launcher +price: 15 +description: "NASAMS (National/Norwegian Advanced Surface to Air Missile System) is a distributed and networked medium to long range air-defence system. + NASAMS was the first surface-based application for the AIM-120 AMRAAM (Advanced Medium Range Air-to-Air Missile)." +introduced: 2019 +manufacturer: Kongsberg Defence & Aerospace, Raytheon +origin: Norway, USA +variants: + "[CH] NASAMS 3 LCHR LN (AIM-9X-2)": null diff --git a/resources/units/ground_units/CH_NASAMS3_LN_AMRAAM_ER.yaml b/resources/units/ground_units/CH_NASAMS3_LN_AMRAAM_ER.yaml new file mode 100644 index 00000000..a630e1db --- /dev/null +++ b/resources/units/ground_units/CH_NASAMS3_LN_AMRAAM_ER.yaml @@ -0,0 +1,9 @@ +class: Launcher +price: 15 +description: "NASAMS (National/Norwegian Advanced Surface to Air Missile System) is a distributed and networked medium to long range air-defence system. + NASAMS was the first surface-based application for the AIM-120 AMRAAM (Advanced Medium Range Air-to-Air Missile)." +introduced: 2019 +manufacturer: Kongsberg Defence & Aerospace, Raytheon +origin: Norway, USA +variants: + "[CH] NASAMS 3 LCHR LN (AMRAAM-ER)": null diff --git a/resources/units/ground_units/CH_NASAMS3_SR.yaml b/resources/units/ground_units/CH_NASAMS3_SR.yaml new file mode 100644 index 00000000..72ceebae --- /dev/null +++ b/resources/units/ground_units/CH_NASAMS3_SR.yaml @@ -0,0 +1,16 @@ +class: SearchRadar +price: 26 +description: "NASAMS (National/Norwegian Advanced Surface to Air Missile System) is a distributed and networked medium to long range air-defence system. + NASAMS was the first surface-based application for the AIM-120 AMRAAM (Advanced Medium Range Air-to-Air Missile)." +introduced: 2019 +manufacturer: Kongsberg Defence & Aerospace, Raytheon +origin: Norway, USA +variants: + "[CH] NASAMS 3 SR": null +skynet_properties: # Override skynet default properties + can_engage_harm: true + # can_engage_air_weapon: true # https://github.com/walder/Skynet-IADS/tree/develop#engage-air-weapons + go_live_range_in_percent: 100 + harm_detection_chance: 90 + engagement_zone: SkynetIADSAbstractRadarElement.GO_LIVE_WHEN_IN_KILL_ZONE # https://github.com/walder/Skynet-IADS/tree/develop#engagement-zone + autonomous_behaviour: SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DCS_AI # https://github.com/walder/Skynet-IADS/tree/develop#autonomous-mode-behaviour diff --git a/resources/units/ground_units/CH_OshkoshLATV_M2.yaml b/resources/units/ground_units/CH_OshkoshLATV_M2.yaml new file mode 100644 index 00000000..f1789daa --- /dev/null +++ b/resources/units/ground_units/CH_OshkoshLATV_M2.yaml @@ -0,0 +1,11 @@ +class: Recon +description: A highly versatile and agile combat vehicle developed to replace the aging Humvee + fleet in the 2010s. It features enhances mobility, survivability and payload capacity over its + predecessors. It's exceptoinal at performing reconnaissance in rugged terrain. +introduced: 2015 +manufacturer: Oshkosh Defence +origin: United States +price: 3 +role: Light Tactical Vehicle +variants: + "[CH] Oshkosh L-ATV (M2)": {} diff --git a/resources/units/ground_units/CH_OshkoshLATV_MK19.yaml b/resources/units/ground_units/CH_OshkoshLATV_MK19.yaml new file mode 100644 index 00000000..cd8c9cec --- /dev/null +++ b/resources/units/ground_units/CH_OshkoshLATV_MK19.yaml @@ -0,0 +1,11 @@ +class: Recon +description: A highly versatile and agile combat vehicle developed to replace the aging Humvee + fleet in the 2010s. It features enhances mobility, survivability and payload capacity over its + predecessors. It's exceptoinal at performing reconnaissance in rugged terrain. +introduced: 2015 +manufacturer: Oshkosh Defence +origin: United States +price: 3 +role: Light Tactical Vehicle +variants: + "[CH] Oshkosh L-ATV (Mk19)": {} diff --git a/resources/units/ground_units/CH_OshkoshMATV_M2.yaml b/resources/units/ground_units/CH_OshkoshMATV_M2.yaml new file mode 100644 index 00000000..a93c118a --- /dev/null +++ b/resources/units/ground_units/CH_OshkoshMATV_M2.yaml @@ -0,0 +1,11 @@ +class: Recon +description: The Mine-Resistant Ambush-Protected or M-ATV serves as a more heavily armored troop carrier + in response to increased threat from IEDs during the war on terror. THe rugged chassis allows for multiple + configurations of heavy armor. It exceps at convoy protection and troop transport in asymmetric warfare enviroments. +introduced: 2007 +manufacturer: Oshkosh Defence +origin: United States +price: 3 +role: Armored PErsonnel Carrier +variants: + "[CH] Oshkosh M-ATV MRAP (M2)": {} diff --git a/resources/units/ground_units/CH_OshkoshMATV_MK19.yaml b/resources/units/ground_units/CH_OshkoshMATV_MK19.yaml new file mode 100644 index 00000000..1167c685 --- /dev/null +++ b/resources/units/ground_units/CH_OshkoshMATV_MK19.yaml @@ -0,0 +1,11 @@ +class: Recon +description: The Mine-Resistant Ambush-Protected or M-ATV serves as a more heavily armored troop carrier + in response to increased threat from IEDs during the war on terror. THe rugged chassis allows for multiple + configurations of heavy armor. It exceps at convoy protection and troop transport in asymmetric warfare enviroments. +introduced: 2007 +manufacturer: Oshkosh Defence +origin: United States +price: 3 +role: Armored PErsonnel Carrier +variants: + "[CH] Oshkosh M-ATV MRAP (Mk19)": {} diff --git a/resources/units/ground_units/CH_THAAD_ANTPY2.yaml b/resources/units/ground_units/CH_THAAD_ANTPY2.yaml new file mode 100644 index 00000000..12f4e97c --- /dev/null +++ b/resources/units/ground_units/CH_THAAD_ANTPY2.yaml @@ -0,0 +1,13 @@ +class: SearchTrackRadar +price: 30 +description: "Terminal High Altitude Area Defense (THAAD), formerly Theater High Altitude Area + Defense, is an American anti-ballistic missile defense system designed to intercept and + destroy short-, medium-, and intermediate-range ballistic missiles in their terminal phase + (descent or reentry). The THAAD interceptor carries no warhead, instead relying on its + kinetic energy of impact to destroy the incoming missile. THAAD was developed after the + experience of Iraq's Scud missile attacks during the Gulf War in 1991." +introduced: 2008 +manufacturer: Lockheed +origin: USA +variants: + "[CH] THAAD AN/TPY-2 STR": null diff --git a/resources/units/ground_units/CH_THAAD_M1120.yaml b/resources/units/ground_units/CH_THAAD_M1120.yaml new file mode 100644 index 00000000..8a3b0f32 --- /dev/null +++ b/resources/units/ground_units/CH_THAAD_M1120.yaml @@ -0,0 +1,13 @@ +class: Launcher +price: 15 +description: "Terminal High Altitude Area Defense (THAAD), formerly Theater High Altitude Area + Defense, is an American anti-ballistic missile defense system designed to intercept and + destroy short-, medium-, and intermediate-range ballistic missiles in their terminal phase + (descent or reentry). The THAAD interceptor carries no warhead, instead relying on its + kinetic energy of impact to destroy the incoming missile. THAAD was developed after the + experience of Iraq's Scud missile attacks during the Gulf War in 1991." +introduced: 2008 +manufacturer: Lockheed +origin: USA +variants: + "[CH] THAAD M1120 LN": null diff --git a/resources/units/ground_units/CH_THAAD_TFCC.yaml b/resources/units/ground_units/CH_THAAD_TFCC.yaml new file mode 100644 index 00000000..b9e388f6 --- /dev/null +++ b/resources/units/ground_units/CH_THAAD_TFCC.yaml @@ -0,0 +1,4 @@ +class: CommandPost +price: 18 +variants: + "[CH] THAAD TFCC": null diff --git a/resources/units/ground_units/CH_USInfantry_FGM148.yaml b/resources/units/ground_units/CH_USInfantry_FGM148.yaml new file mode 100644 index 00000000..6a83fdd7 --- /dev/null +++ b/resources/units/ground_units/CH_USInfantry_FGM148.yaml @@ -0,0 +1,5 @@ +class: Infantry +price: 0 +spawn_weight: 2 +variants: + "[CH] FGM-148 ATGM Soldier": null diff --git a/resources/units/ground_units/CH_USInfantry_FIM92.yaml b/resources/units/ground_units/CH_USInfantry_FIM92.yaml new file mode 100644 index 00000000..c9607146 --- /dev/null +++ b/resources/units/ground_units/CH_USInfantry_FIM92.yaml @@ -0,0 +1,5 @@ +class: Manpad +price: 0 +spawn_weight: 1 +variants: + "[CH] FIM-92K Stinger Soldier": null diff --git a/resources/units/ground_units/CH_USInfantry_M120.yaml b/resources/units/ground_units/CH_USInfantry_M120.yaml new file mode 100644 index 00000000..0b9a2c0c --- /dev/null +++ b/resources/units/ground_units/CH_USInfantry_M120.yaml @@ -0,0 +1,5 @@ +class: Infantry +price: 0 +spawn_weight: 1 +variants: + "[CH] M120 120 mm Mortar": null diff --git a/resources/units/ground_units/CH_USInfantry_M136.yaml b/resources/units/ground_units/CH_USInfantry_M136.yaml new file mode 100644 index 00000000..97db0fe5 --- /dev/null +++ b/resources/units/ground_units/CH_USInfantry_M136.yaml @@ -0,0 +1,5 @@ +class: Infantry +price: 0 +spawn_weight: 2 +variants: + "[CH] M136 AT Soldier": null diff --git a/resources/units/ground_units/CH_USInfantry_M2.yaml b/resources/units/ground_units/CH_USInfantry_M2.yaml new file mode 100644 index 00000000..095a353c --- /dev/null +++ b/resources/units/ground_units/CH_USInfantry_M2.yaml @@ -0,0 +1,5 @@ +class: Infantry +price: 0 +spawn_weight: 3 +variants: + "[CH] M2 HMG Soldier": null diff --git a/resources/units/ground_units/CH_USInfantry_M240.yaml b/resources/units/ground_units/CH_USInfantry_M240.yaml new file mode 100644 index 00000000..72ddea8f --- /dev/null +++ b/resources/units/ground_units/CH_USInfantry_M240.yaml @@ -0,0 +1,5 @@ +class: Infantry +price: 0 +spawn_weight: 3 +variants: + "[CH] M240 GPMG Soldier": null diff --git a/resources/units/ground_units/CH_USInfantry_M249.yaml b/resources/units/ground_units/CH_USInfantry_M249.yaml new file mode 100644 index 00000000..7d7431c3 --- /dev/null +++ b/resources/units/ground_units/CH_USInfantry_M249.yaml @@ -0,0 +1,5 @@ +class: Infantry +price: 0 +spawn_weight: 3 +variants: + "[CH] M249 LMG Soldier": null diff --git a/resources/units/ground_units/CH_USInfantry_M4.yaml b/resources/units/ground_units/CH_USInfantry_M4.yaml new file mode 100644 index 00000000..7cca7867 --- /dev/null +++ b/resources/units/ground_units/CH_USInfantry_M4.yaml @@ -0,0 +1,5 @@ +class: Infantry +price: 0 +spawn_weight: 3 +variants: + "[CH] M4 AR Soldier": null diff --git a/resources/units/ground_units/CH_USInfantry_M4M203.yaml b/resources/units/ground_units/CH_USInfantry_M4M203.yaml new file mode 100644 index 00000000..c87b59bc --- /dev/null +++ b/resources/units/ground_units/CH_USInfantry_M4M203.yaml @@ -0,0 +1,5 @@ +class: Infantry +price: 0 +spawn_weight: 3 +variants: + "[CH] M4/M203 AR/GL Soldier": null diff --git a/resources/units/ground_units/CH_USInfantry_M82.yaml b/resources/units/ground_units/CH_USInfantry_M82.yaml new file mode 100644 index 00000000..40f513aa --- /dev/null +++ b/resources/units/ground_units/CH_USInfantry_M82.yaml @@ -0,0 +1,5 @@ +class: Infantry +price: 0 +spawn_weight: 3 +variants: + "[CH] M82 AMR Soldier": null diff --git a/resources/units/ground_units/CH_USInfantry_MK19.yaml b/resources/units/ground_units/CH_USInfantry_MK19.yaml new file mode 100644 index 00000000..f37c23c7 --- /dev/null +++ b/resources/units/ground_units/CH_USInfantry_MK19.yaml @@ -0,0 +1,5 @@ +class: Infantry +price: 0 +spawn_weight: 3 +variants: + "[CH] Mk19 AGL Soldier": null diff --git a/resources/units/ground_units/M142_HIMARS_ATACMS.yaml b/resources/units/ground_units/M142_HIMARS_ATACMS.yaml new file mode 100644 index 00000000..94ff9749 --- /dev/null +++ b/resources/units/ground_units/M142_HIMARS_ATACMS.yaml @@ -0,0 +1,11 @@ +class: Missile +description: "A highly mobile wheeled artillery rocket system designed to deliver long-range precision strikes. + The HIMARS is based on a standard 5-ton truck chassis and can be airliffted by C-130 hercules aircraft for rapid + deployment. Depending on the munitions, the HIMARS can engage targets at up to 27- nauticla miles. + It has been deployed in multiple combat theaters, including Iraq, Afghanistan and now Ukraine." +introduced: 2005 +manufacturer: Lockheed Martin +origin: United States +price: 55 +variants: + "[CH] M142 HIMARS (ATACMS)": {} diff --git a/resources/units/ground_units/M142_HIMARS_GLSDB.yaml b/resources/units/ground_units/M142_HIMARS_GLSDB.yaml new file mode 100644 index 00000000..28d6512d --- /dev/null +++ b/resources/units/ground_units/M142_HIMARS_GLSDB.yaml @@ -0,0 +1,12 @@ +class: Artillery +description: "A highly mobile wheeled artillery rocket system designed to deliver long-range precision strikes. +The HIMARS is based on a standard 5-ton truck chassis and can be airlifted by C-130 hercules aircraft for rapid +deployment. Depending on the munitions, the HIMARS can engage targets at up to 27- nautical miles. +It has been deployed in multiple combat theaters, including Iraq, Afghanistan and now Ukraine." +introduced: 2005 +manufacturer: Lockheed Martin +origin: United States +price: 55 +role: Long-Range Precision Artillery Striker +variants: + "[CH] M142 HIMARS (GLSDB)": {} diff --git a/resources/units/ground_units/M142_HIMARS_GMLRS.yaml b/resources/units/ground_units/M142_HIMARS_GMLRS.yaml new file mode 100644 index 00000000..2931e3e7 --- /dev/null +++ b/resources/units/ground_units/M142_HIMARS_GMLRS.yaml @@ -0,0 +1,12 @@ +class: Artillery +description: "A highly mobile wheeled artillery rocket system designed to deliver long-range precision strikes. + The HIMARS is based on a standard 5-ton truck chassis and can be airliffted by C-130 hercules aircraft for rapid + deployment. Depending on the munitions, the HIMARS can engage targets at up to 27- nauticla miles. + It has been deployed in multiple combat theaters, including Iraq, Afghanistan and now Ukraine." +introduced: 2005 +manufacturer: Lockheed Martin +origin: United States +price: 55 +role: Long-Range Precision Artillery Striker +variants: + "[CH] M142 HIMARS (AGMLRS)": {} diff --git a/resources/units/ground_units/M142_HIMARS_PRSM.yaml b/resources/units/ground_units/M142_HIMARS_PRSM.yaml new file mode 100644 index 00000000..f2231fe5 --- /dev/null +++ b/resources/units/ground_units/M142_HIMARS_PRSM.yaml @@ -0,0 +1,11 @@ +class: Missile +description: "A highly mobile wheeled artillery rocket system designed to deliver long-range precision strikes. + The HIMARS is based on a standard 5-ton truck chassis and can be airliffted by C-130 hercules aircraft for rapid + deployment. Depending on the munitions, the HIMARS can engage targets at up to 27- nauticla miles. + It has been deployed in multiple combat theaters, including Iraq, Afghanistan and now Ukraine." +introduced: 2005 +manufacturer: Lockheed Martin +origin: United States +price: 55 +variants: + "[CH] M142 HIMARS (PrSM)": {} diff --git a/resources/units/ground_units/M142_HIMARS_PRSM_ASHM.yaml b/resources/units/ground_units/M142_HIMARS_PRSM_ASHM.yaml new file mode 100644 index 00000000..3cbc148b --- /dev/null +++ b/resources/units/ground_units/M142_HIMARS_PRSM_ASHM.yaml @@ -0,0 +1,11 @@ +class: AntiShipMissile +description: "A highly mobile wheeled artillery rocket system designed to deliver long-range precision strikes. + The HIMARS is based on a standard 5-ton truck chassis and can be airliffted by C-130 hercules aircraft for rapid + deployment. Depending on the munitions, the HIMARS can engage targets at up to 27- nauticla miles. + It has been deployed in multiple combat theaters, including Iraq, Afghanistan and now Ukraine." +introduced: 2005 +manufacturer: Lockheed Martin +origin: United States +price: 55 +variants: + "[CH] M142 HIMARS (PrSM AShM)": {} diff --git a/resources/units/ground_units/MIM104_ANMPQ65.yaml b/resources/units/ground_units/MIM104_ANMPQ65.yaml new file mode 100644 index 00000000..60b006de --- /dev/null +++ b/resources/units/ground_units/MIM104_ANMPQ65.yaml @@ -0,0 +1,11 @@ +class: SearchTrackRadar +price: 22 +variants: + "[CH] MIM-104 AN/MPQ-65 STR (stationary)": null +skynet_properties: # Override skynet default properties + can_engage_harm: true + # can_engage_air_weapon: true # https://github.com/walder/Skynet-IADS/tree/develop#engage-air-weapons + go_live_range_in_percent: 100 + harm_detection_chance: 90 + engagement_zone: SkynetIADSAbstractRadarElement.GO_LIVE_WHEN_IN_KILL_ZONE # https://github.com/walder/Skynet-IADS/tree/develop#engagement-zone + autonomous_behaviour: SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DCS_AI # https://github.com/walder/Skynet-IADS/tree/develop#autonomous-mode-behaviour diff --git a/resources/units/ground_units/MIM104_ANMPQ65A.yaml b/resources/units/ground_units/MIM104_ANMPQ65A.yaml new file mode 100644 index 00000000..e109d3cf --- /dev/null +++ b/resources/units/ground_units/MIM104_ANMPQ65A.yaml @@ -0,0 +1,11 @@ +class: SearchTrackRadar +price: 22 +variants: + "[CH] MIM-104 AN/MPQ-65A STR (stationary)": null +skynet_properties: # Override skynet default properties + can_engage_harm: true + # can_engage_air_weapon: true # https://github.com/walder/Skynet-IADS/tree/develop#engage-air-weapons + go_live_range_in_percent: 100 + harm_detection_chance: 90 + engagement_zone: SkynetIADSAbstractRadarElement.GO_LIVE_WHEN_IN_KILL_ZONE # https://github.com/walder/Skynet-IADS/tree/develop#engagement-zone + autonomous_behaviour: SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DCS_AI # https://github.com/walder/Skynet-IADS/tree/develop#autonomous-mode-behaviour diff --git a/resources/units/ground_units/MIM104_ANMPQ65A_HEMTT.yaml b/resources/units/ground_units/MIM104_ANMPQ65A_HEMTT.yaml new file mode 100644 index 00000000..6a6de774 --- /dev/null +++ b/resources/units/ground_units/MIM104_ANMPQ65A_HEMTT.yaml @@ -0,0 +1,11 @@ +class: SearchTrackRadar +price: 22 +variants: + "[CH] MIM-104 AN/MPQ-65A STR (HEMTT)": null +skynet_properties: # Override skynet default properties + can_engage_harm: true + # can_engage_air_weapon: true # https://github.com/walder/Skynet-IADS/tree/develop#engage-air-weapons + go_live_range_in_percent: 100 + harm_detection_chance: 90 + engagement_zone: SkynetIADSAbstractRadarElement.GO_LIVE_WHEN_IN_KILL_ZONE # https://github.com/walder/Skynet-IADS/tree/develop#engagement-zone + autonomous_behaviour: SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DCS_AI # https://github.com/walder/Skynet-IADS/tree/develop#autonomous-mode-behaviour diff --git a/resources/units/ground_units/MIM104_ANMPQ65_HEMTT.yaml b/resources/units/ground_units/MIM104_ANMPQ65_HEMTT.yaml new file mode 100644 index 00000000..9cea8d32 --- /dev/null +++ b/resources/units/ground_units/MIM104_ANMPQ65_HEMTT.yaml @@ -0,0 +1,11 @@ +class: SearchTrackRadar +price: 22 +variants: + "[CH] MIM-104 AN/MPQ-65 STR (HEMTT)": null +skynet_properties: # Override skynet default properties + can_engage_harm: true + # can_engage_air_weapon: true # https://github.com/walder/Skynet-IADS/tree/develop#engage-air-weapons + go_live_range_in_percent: 100 + harm_detection_chance: 90 + engagement_zone: SkynetIADSAbstractRadarElement.GO_LIVE_WHEN_IN_KILL_ZONE # https://github.com/walder/Skynet-IADS/tree/develop#engagement-zone + autonomous_behaviour: SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DCS_AI # https://github.com/walder/Skynet-IADS/tree/develop#autonomous-mode-behaviour diff --git a/resources/units/ground_units/MIM104_ECS.yaml b/resources/units/ground_units/MIM104_ECS.yaml new file mode 100644 index 00000000..81e27b1c --- /dev/null +++ b/resources/units/ground_units/MIM104_ECS.yaml @@ -0,0 +1,4 @@ +class: TrackRadar +price: 30 +variants: + "[CH] MIM-104 ECS (HEMTT)": null diff --git a/resources/units/ground_units/MIM104_EPP.yaml b/resources/units/ground_units/MIM104_EPP.yaml new file mode 100644 index 00000000..e695c8be --- /dev/null +++ b/resources/units/ground_units/MIM104_EPP.yaml @@ -0,0 +1,4 @@ +class: Power +price: 15 +variants: + "[CH] MIM-104 EPP (HEMTT)": null diff --git a/resources/units/ground_units/MIM104_LTAMDS.yaml b/resources/units/ground_units/MIM104_LTAMDS.yaml new file mode 100644 index 00000000..c86d0326 --- /dev/null +++ b/resources/units/ground_units/MIM104_LTAMDS.yaml @@ -0,0 +1,11 @@ +class: SearchTrackRadar +price: 40 +variants: + "[CH] MIM-104 LTAMDS STR (stationary)": null +skynet_properties: # Override skynet default properties + can_engage_harm: true + # can_engage_air_weapon: true # https://github.com/walder/Skynet-IADS/tree/develop#engage-air-weapons + go_live_range_in_percent: 100 + harm_detection_chance: 90 + engagement_zone: SkynetIADSAbstractRadarElement.GO_LIVE_WHEN_IN_KILL_ZONE # https://github.com/walder/Skynet-IADS/tree/develop#engagement-zone + autonomous_behaviour: SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DCS_AI # https://github.com/walder/Skynet-IADS/tree/develop#autonomous-mode-behaviour diff --git a/resources/units/ground_units/MIM104_LTAMDS_HEMTT.yaml b/resources/units/ground_units/MIM104_LTAMDS_HEMTT.yaml new file mode 100644 index 00000000..c13b3d28 --- /dev/null +++ b/resources/units/ground_units/MIM104_LTAMDS_HEMTT.yaml @@ -0,0 +1,11 @@ +class: SearchTrackRadar +price: 40 +variants: + "[CH] MIM-104 LTAMDS STR (HEMTT)": null +skynet_properties: # Override skynet default properties + can_engage_harm: true + # can_engage_air_weapon: true # https://github.com/walder/Skynet-IADS/tree/develop#engage-air-weapons + go_live_range_in_percent: 100 + harm_detection_chance: 90 + engagement_zone: SkynetIADSAbstractRadarElement.GO_LIVE_WHEN_IN_KILL_ZONE # https://github.com/walder/Skynet-IADS/tree/develop#engagement-zone + autonomous_behaviour: SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DCS_AI # https://github.com/walder/Skynet-IADS/tree/develop#autonomous-mode-behaviour diff --git a/resources/units/ground_units/MIM104_M903_PAC2.yaml b/resources/units/ground_units/MIM104_M903_PAC2.yaml new file mode 100644 index 00000000..08af2a1c --- /dev/null +++ b/resources/units/ground_units/MIM104_M903_PAC2.yaml @@ -0,0 +1,12 @@ +class: Launcher +price: 15 +description: "The MIM-104 Patriot is a mobile interceptor missile surface-to-air missile (SAM) + system, the primary such system used by the United States Army and several allied states. + It is manufactured by the U.S. defense contractor Raytheon and derives its name from the + radar component of the weapon system. The AN/MPQ-53 at the heart of the system is known as + the Phased Array Tracking Radar to Intercept on Target, which is a backronym for Patriot." +introduced: 2002 +manufacturer: Raytheon, Hughes, and RCA +origin: USA +variants: + "[CH] MIM-104 M903 PAC-2 GEM/T LN (stationary)": null diff --git a/resources/units/ground_units/MIM104_M903_PAC2_HEMTT.yaml b/resources/units/ground_units/MIM104_M903_PAC2_HEMTT.yaml new file mode 100644 index 00000000..d3a1439e --- /dev/null +++ b/resources/units/ground_units/MIM104_M903_PAC2_HEMTT.yaml @@ -0,0 +1,12 @@ +class: Launcher +price: 15 +description: "The MIM-104 Patriot is a mobile interceptor missile surface-to-air missile (SAM) + system, the primary such system used by the United States Army and several allied states. + It is manufactured by the U.S. defense contractor Raytheon and derives its name from the + radar component of the weapon system. The AN/MPQ-53 at the heart of the system is known as + the Phased Array Tracking Radar to Intercept on Target, which is a backronym for Patriot." +introduced: 2002 +manufacturer: Raytheon, Hughes, and RCA +origin: USA +variants: + "[CH] MIM-104 M903 PAC-2 GEM/T LN (HEMTT)": null diff --git a/resources/units/ground_units/MIM104_M903_PAC3.yaml b/resources/units/ground_units/MIM104_M903_PAC3.yaml new file mode 100644 index 00000000..d73bf2dc --- /dev/null +++ b/resources/units/ground_units/MIM104_M903_PAC3.yaml @@ -0,0 +1,12 @@ +class: Launcher +price: 15 +description: "The MIM-104 Patriot is a mobile interceptor missile surface-to-air missile (SAM) + system, the primary such system used by the United States Army and several allied states. + It is manufactured by the U.S. defense contractor Raytheon and derives its name from the + radar component of the weapon system. The AN/MPQ-53 at the heart of the system is known as + the Phased Array Tracking Radar to Intercept on Target, which is a backronym for Patriot." +introduced: 2002 +manufacturer: Raytheon, Hughes, and RCA +origin: USA +variants: + "[CH] MIM-104 M903 PAC-3 MSE LN (stationary)": null diff --git a/resources/units/ground_units/MIM104_M903_PAC3_HEMTT.yaml b/resources/units/ground_units/MIM104_M903_PAC3_HEMTT.yaml new file mode 100644 index 00000000..93de08ae --- /dev/null +++ b/resources/units/ground_units/MIM104_M903_PAC3_HEMTT.yaml @@ -0,0 +1,12 @@ +class: Launcher +price: 15 +description: "The MIM-104 Patriot is a mobile interceptor missile surface-to-air missile (SAM) + system, the primary such system used by the United States Army and several allied states. + It is manufactured by the U.S. defense contractor Raytheon and derives its name from the + radar component of the weapon system. The AN/MPQ-53 at the heart of the system is known as + the Phased Array Tracking Radar to Intercept on Target, which is a backronym for Patriot." +introduced: 2002 +manufacturer: Raytheon, Hughes, and RCA +origin: USA +variants: + "[CH] MIM-104 M903 PAC-3 MSE LN (HEMTT)": null diff --git a/resources/units/ships/CH_Arleigh_Burke_IIA.yaml b/resources/units/ships/CH_Arleigh_Burke_IIA.yaml new file mode 100644 index 00000000..b32ee144 --- /dev/null +++ b/resources/units/ships/CH_Arleigh_Burke_IIA.yaml @@ -0,0 +1,4 @@ +class: Destroyer +price: 0 +variants: + "[CH] Arleigh Burke Flight IIA Destroyer": null \ No newline at end of file diff --git a/resources/units/ships/CH_Arleigh_Burke_III.yaml b/resources/units/ships/CH_Arleigh_Burke_III.yaml new file mode 100644 index 00000000..3663d557 --- /dev/null +++ b/resources/units/ships/CH_Arleigh_Burke_III.yaml @@ -0,0 +1,4 @@ +class: Destroyer +price: 0 +variants: + "[CH] Arleigh Burke Flight III Destroyer": null \ No newline at end of file diff --git a/resources/units/ships/CH_Constellation.yaml b/resources/units/ships/CH_Constellation.yaml new file mode 100644 index 00000000..39a6f834 --- /dev/null +++ b/resources/units/ships/CH_Constellation.yaml @@ -0,0 +1,4 @@ +class: Frigate +price: 0 +variants: + "[CH] Constellation Frigate": null \ No newline at end of file diff --git a/resources/units/ships/CH_Ticonderoga.yaml b/resources/units/ships/CH_Ticonderoga.yaml new file mode 100644 index 00000000..3b60aac7 --- /dev/null +++ b/resources/units/ships/CH_Ticonderoga.yaml @@ -0,0 +1,4 @@ +class: Cruiser +price: 0 +variants: + "[CH] Ticonderoga Cruiser": null \ No newline at end of file diff --git a/resources/units/ships/CH_Ticonderoga_CMP.yaml b/resources/units/ships/CH_Ticonderoga_CMP.yaml new file mode 100644 index 00000000..3aa958c5 --- /dev/null +++ b/resources/units/ships/CH_Ticonderoga_CMP.yaml @@ -0,0 +1,4 @@ +class: Cruiser +price: 0 +variants: + "[CH] Ticonderoga CMP Cruiser": null \ No newline at end of file