From bc157630e9fed290440a29aef84ffa197f408033 Mon Sep 17 00:00:00 2001 From: Druss99 <42724070+Druss99@users.noreply.github.com> Date: Fri, 3 Jan 2025 13:19:10 -0500 Subject: [PATCH] China military assets support (#440) --- game/factions/faction.py | 32 ++ game/theater/start_generator.py | 1 + pydcs_extensions/__init__.py | 1 + .../chinesemilitaryassetspack/__init__.py | 1 + .../chinesemilitaryassetspack.py | 313 ++++++++++++++++++ qt_ui/windows/newgame/QNewGameWizard.py | 1 + .../newgame/WizardPages/QGeneratorSettings.py | 22 +- resources/factions/china_2020.json | 108 ++++++ resources/groups/HQ-22.yaml | 9 + resources/layouts/anti_air/HQ-22_Battery.yaml | 53 +++ resources/ui/templates/factiontemplate_EN.j2 | 8 + resources/units/ground_units/CH_CJ10.yaml | 4 + resources/units/ground_units/CH_DF21D.yaml | 4 + resources/units/ground_units/CH_HQ22_LN.yaml | 11 + resources/units/ground_units/CH_HQ22_SR.yaml | 18 + resources/units/ground_units/CH_HQ22_STR.yaml | 18 + resources/units/ground_units/CH_LD3000.yaml | 12 + .../ground_units/CH_LD3000_stationary.yaml | 12 + .../units/ground_units/CH_PCL181_155.yaml | 11 + .../units/ground_units/CH_PCL181_GP155.yaml | 11 + resources/units/ground_units/CH_PGZ09.yaml | 13 + resources/units/ground_units/CH_PGZ95.yaml | 12 + .../units/ground_units/CH_PHL11_DPICM.yaml | 12 + resources/units/ground_units/CH_PHL11_HE.yaml | 11 + .../units/ground_units/CH_PHL16_FD280.yaml | 10 + resources/units/ground_units/CH_PLZ07.yaml | 11 + resources/units/ground_units/CH_SX2190.yaml | 4 + resources/units/ground_units/CH_YJ12B.yaml | 4 + .../units/ground_units/CH_ZBD04A-AT.yaml | 14 + resources/units/ground_units/CH_ZBL09.yaml | 8 + resources/units/ground_units/CH_ZTL11.yaml | 18 + resources/units/ground_units/CH_ZTQ_15.yaml | 17 + resources/units/ground_units/HQ17A.yaml | 13 + resources/units/ground_units/PGL_625.yaml | 14 + resources/units/ground_units/ZTZ_99A2.yaml | 16 + resources/units/ships/CH_Type022.yaml | 4 + resources/units/ships/CH_Type054B.yaml | 4 + resources/units/ships/CH_Type056A.yaml | 4 + resources/units/ships/Type052D.yaml | 4 + resources/units/ships/Type055.yaml | 4 + 40 files changed, 842 insertions(+), 5 deletions(-) create mode 100644 pydcs_extensions/chinesemilitaryassetspack/__init__.py create mode 100644 pydcs_extensions/chinesemilitaryassetspack/chinesemilitaryassetspack.py create mode 100644 resources/factions/china_2020.json create mode 100644 resources/groups/HQ-22.yaml create mode 100644 resources/layouts/anti_air/HQ-22_Battery.yaml create mode 100644 resources/units/ground_units/CH_CJ10.yaml create mode 100644 resources/units/ground_units/CH_DF21D.yaml create mode 100644 resources/units/ground_units/CH_HQ22_LN.yaml create mode 100644 resources/units/ground_units/CH_HQ22_SR.yaml create mode 100644 resources/units/ground_units/CH_HQ22_STR.yaml create mode 100644 resources/units/ground_units/CH_LD3000.yaml create mode 100644 resources/units/ground_units/CH_LD3000_stationary.yaml create mode 100644 resources/units/ground_units/CH_PCL181_155.yaml create mode 100644 resources/units/ground_units/CH_PCL181_GP155.yaml create mode 100644 resources/units/ground_units/CH_PGZ09.yaml create mode 100644 resources/units/ground_units/CH_PGZ95.yaml create mode 100644 resources/units/ground_units/CH_PHL11_DPICM.yaml create mode 100644 resources/units/ground_units/CH_PHL11_HE.yaml create mode 100644 resources/units/ground_units/CH_PHL16_FD280.yaml create mode 100644 resources/units/ground_units/CH_PLZ07.yaml create mode 100644 resources/units/ground_units/CH_SX2190.yaml create mode 100644 resources/units/ground_units/CH_YJ12B.yaml create mode 100644 resources/units/ground_units/CH_ZBD04A-AT.yaml create mode 100644 resources/units/ground_units/CH_ZBL09.yaml create mode 100644 resources/units/ground_units/CH_ZTL11.yaml create mode 100644 resources/units/ground_units/CH_ZTQ_15.yaml create mode 100644 resources/units/ground_units/HQ17A.yaml create mode 100644 resources/units/ground_units/PGL_625.yaml create mode 100644 resources/units/ground_units/ZTZ_99A2.yaml create mode 100644 resources/units/ships/CH_Type022.yaml create mode 100644 resources/units/ships/CH_Type054B.yaml create mode 100644 resources/units/ships/CH_Type056A.yaml create mode 100644 resources/units/ships/Type052D.yaml create mode 100644 resources/units/ships/Type055.yaml diff --git a/game/factions/faction.py b/game/factions/faction.py index f544788a..7420a66b 100644 --- a/game/factions/faction.py +++ b/game/factions/faction.py @@ -653,6 +653,38 @@ class Faction: self.remove_vehicle("TR_TT") self.remove_vehicle("Gozanti") self.remove_ship("Destroyer_carrier") + # Chinese Military Assets Pack + if not mod_settings.chinesemilitaryassetspack: + self.remove_vehicle("CH_PCL181_155") + self.remove_vehicle("CH_PCL181_GP155") + self.remove_vehicle("CH_PHL11_HE") + self.remove_vehicle("CH_PHL11_DPICM") + self.remove_vehicle("CH_PHL16_FD280") + self.remove_vehicle("CH_PLZ07") + self.remove_vehicle("HQ17A") + self.remove_vehicle("CH_HQ22_LN") + self.remove_vehicle("CH_HQ22_STR") + self.remove_vehicle("CH_HQ22_SR") + self.remove_vehicle("CH_LD3000") + self.remove_vehicle("CH_LD3000_stationary") + self.remove_vehicle("PGL_625") + self.remove_vehicle("CH_PGZ09") + self.remove_vehicle("CH_PGZ95") + self.remove_vehicle("CH_SX2190") + self.remove_vehicle("ZTZ_99A2") + self.remove_vehicle("CH_ZBD04A-AT") + self.remove_vehicle("CH_ZTQ_15") + self.remove_vehicle("CH_ZTL11") + self.remove_vehicle("CH_ZBL09") + self.remove_vehicle("CH_CJ10") + self.remove_vehicle("CH_YJ12B") + self.remove_vehicle("CH_DF21D") + self.remove_ship("CH_Type022") + self.remove_ship("Type052D") + self.remove_ship("Type055") + self.remove_ship("CH_Type056A") + self.remove_ship("CH_Type054B") + self.remove_preset("HQ-22") 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 3debeb96..fd012104 100644 --- a/game/theater/start_generator.py +++ b/game/theater/start_generator.py @@ -100,6 +100,7 @@ class ModSettings: swedishmilitaryassetspack: bool = False coldwarassets: bool = False SWPack: bool = False + chinesemilitaryassetspack: bool = False class GameGenerator: diff --git a/pydcs_extensions/__init__.py b/pydcs_extensions/__init__.py index bd52ee0c..212615a0 100644 --- a/pydcs_extensions/__init__.py +++ b/pydcs_extensions/__init__.py @@ -34,6 +34,7 @@ from .su57 import * from .swedishmilitaryassetspack import * from .coldwarassets import * from .uh60l import * +from .chinesemilitaryassetspack import * def load_mods() -> None: diff --git a/pydcs_extensions/chinesemilitaryassetspack/__init__.py b/pydcs_extensions/chinesemilitaryassetspack/__init__.py new file mode 100644 index 00000000..dc5c77b4 --- /dev/null +++ b/pydcs_extensions/chinesemilitaryassetspack/__init__.py @@ -0,0 +1 @@ +from .chinesemilitaryassetspack import * diff --git a/pydcs_extensions/chinesemilitaryassetspack/chinesemilitaryassetspack.py b/pydcs_extensions/chinesemilitaryassetspack/chinesemilitaryassetspack.py new file mode 100644 index 00000000..7ddcd216 --- /dev/null +++ b/pydcs_extensions/chinesemilitaryassetspack/chinesemilitaryassetspack.py @@ -0,0 +1,313 @@ +# Requires China Military Assets for DCS by Currenthill: +# https://www.currenthill.com/china +# + +from dcs import unittype + +from game.modsupport import vehiclemod, shipmod, helicoptermod + + +# Artillery +@vehiclemod +class CH_PCL181_155(unittype.VehicleType): + id = "CH_PCL181_155" + name = "[CH] PCL-181 SPG 155 HE" + detection_range = 0 + threat_range = 40000 + air_weapon_dist = 40000 + eplrs = True + + +@vehiclemod +class CH_PCL181_GP155(unittype.VehicleType): + id = "CH_PCL181_GP155" + name = "[CH] PCL-181 SPG GP155" + detection_range = 0 + threat_range = 40000 + air_weapon_dist = 40000 + eplrs = True + + +@vehiclemod +class CH_PHL11_HE(unittype.VehicleType): + id = "CH_PHL11_HE" + name = "[CH] PHL-11 SPMRL (HE)" + detection_range = 0 + threat_range = 30000 + air_weapon_dist = 30000 + eplrs = True + + +@vehiclemod +class CH_PHL11_DPICM(unittype.VehicleType): + id = "CH_PHL11_DPICM" + name = "[CH] PHL-11 SPMRL (DPICM)" + detection_range = 0 + threat_range = 30000 + air_weapon_dist = 30000 + eplrs = True + + +@vehiclemod +class CH_PHL16_FD280(unittype.VehicleType): + id = "CH_PHL16_FD280" + name = "[CH] PHL-16 SPMRL (FD280)" + detection_range = 0 + threat_range = 280000 + air_weapon_dist = 280000 + eplrs = True + + +@vehiclemod +class CH_PLZ07(unittype.VehicleType): + id = "CH_PLZ07" + name = "[CH] PLZ-07 SPG" + detection_range = 8000 + threat_range = 22000 + air_weapon_dist = 1800 + eplrs = True + + +# Air Defense +@vehiclemod +class HQ17A(unittype.VehicleType): + id = "HQ17A" + name = "[CH] HQ-17A SHORAD" + detection_range = 45000 + threat_range = 15000 + air_weapon_dist = 15000 + eplrs = True + + +@vehiclemod +class CH_HQ22_LN(unittype.VehicleType): + id = "CH_HQ22_LN" + name = "[CH] HQ-22 LN" + detection_range = 0 + threat_range = 170000 + air_weapon_dist = 170000 + eplrs = True + + +@vehiclemod +class CH_HQ22_STR(unittype.VehicleType): + id = "CH_HQ22_STR" + name = "[CH] HQ-22 H-200 STR" + detection_range = 200000 + threat_range = 0 + air_weapon_dist = 0 + eplrs = True + + +@vehiclemod +class CH_HQ22_SR(unittype.VehicleType): + id = "CH_HQ22_SR" + name = "[CH] HQ-22 JSG-100 SR" + detection_range = 240000 + threat_range = 0 + air_weapon_dist = 0 + + +@vehiclemod +class CH_LD3000(unittype.VehicleType): + id = "CH_LD3000" + name = "[CH] LD-3000 C-RAM Mobile" + detection_range = 15000 + threat_range = 3000 + air_weapon_dist = 3000 + eplrs = True + + +@vehiclemod +class CH_LD3000_stationary(unittype.VehicleType): + id = "CH_LD3000_stationary" + name = "[CH] LD-3000 C-RAM Stationary" + detection_range = 15000 + threat_range = 3000 + air_weapon_dist = 3000 + eplrs = True + + +@vehiclemod +class PGL_625(unittype.VehicleType): + id = "PGL_625" + name = "[CH] PGL-625 SPAAGM" + detection_range = 20000 + threat_range = 10000 + air_weapon_dist = 10000 + eplrs = True + + +@vehiclemod +class CH_PGZ09(unittype.VehicleType): + id = "CH_PGZ09" + name = "[CH] PGZ-09 SPAAG" + detection_range = 20000 + threat_range = 4000 + air_weapon_dist = 4000 + eplrs = True + + +@vehiclemod +class CH_PGZ95(unittype.VehicleType): + id = "CH_PGZ95" + name = "[CH] PGZ-95 SPAAG" + detection_range = 11000 + threat_range = 2500 + air_weapon_dist = 2500 + eplrs = True + + +# Unarmed +@vehiclemod +class CH_SX2190(unittype.VehicleType): + id = "CH_SX2190" + name = "[CH] SX2190 Truck" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + + +# Armor +@vehiclemod +class ZTZ_99A2(unittype.VehicleType): + id = "ZTZ_99A2" + name = "[CH] ZTZ-99A2 MBT" + detection_range = 8000 + threat_range = 5000 + air_weapon_dist = 5000 + eplrs = True + + +@vehiclemod +class CH_ZBD04A_AT(unittype.VehicleType): + id = "CH_ZBD04A-AT" + name = "[CH] ZBD-04A AT SPATGM" + detection_range = 20000 + threat_range = 10000 + air_weapon_dist = 10000 + eplrs = True + + +@vehiclemod +class CH_ZTQ_15(unittype.VehicleType): + id = "CH_ZTQ_15" + name = "[CH] ZTQ-15 LT" + detection_range = 7000 + threat_range = 4000 + air_weapon_dist = 4000 + eplrs = True + + +@vehiclemod +class CH_ZTL11(unittype.VehicleType): + id = "CH_ZTL11" + name = "[CH] ZTL-11 AFV" + detection_range = 7000 + threat_range = 4000 + air_weapon_dist = 4000 + eplrs = True + + +@vehiclemod +class CH_ZBL09(unittype.VehicleType): + id = "CH_ZBL09" + name = "[CH] ZBL-09 IFV" + detection_range = 10000 + threat_range = 3000 + air_weapon_dist = 3000 + eplrs = True + + +# Missiles +@vehiclemod +class CH_CJ10(unittype.VehicleType): + id = "CH_CJ10" + name = "[CH] CJ-10 GLCM" + detection_range = 2000000 + threat_range = 2000000 + air_weapon_dist = 2000000 + eplrs = True + + +@vehiclemod +class CH_YJ12B(unittype.VehicleType): + id = "CH_YJ12B" + name = "[CH] YJ-12B LBASM" + detection_range = 0 + threat_range = 300000 + air_weapon_dist = 300000 + eplrs = True + + +@vehiclemod +class CH_DF21D(unittype.VehicleType): + id = "CH_DF21D" + name = "[CH] DF-21D LBASBM" + detection_range = 0 + threat_range = 1000000 + air_weapon_dist = 1000000 + eplrs = True + + +## SHIPS + + +@shipmod +class CH_Type022(unittype.ShipType): + id = "CH_Type022" + name = "[CH] Type 022 FAC" + plane_num = 0 + helicopter_num = 0 + parking = 0 + detection_range = 100000 + threat_range = 4000 + air_weapon_dist = 4000 + + +@shipmod +class Type052D(unittype.ShipType): + id = "Type052D" + name = "[CH] Type 052D Destroyer" + plane_num = 0 + helicopter_num = 1 + parking = 1 + detection_range = 400000 + threat_range = 250000 + air_weapon_dist = 250000 + + +@shipmod +class Type055(unittype.ShipType): + id = "Type055" + name = "[CH] Type 055 Destroyer" + plane_num = 0 + helicopter_num = 1 + parking = 1 + detection_range = 500000 + threat_range = 250000 + air_weapon_dist = 250000 + + +@shipmod +class CH_Type056A(unittype.ShipType): + id = "CH_Type056A" + name = "[CH] Type 056A Corvette" + plane_num = 0 + helicopter_num = 1 + parking = 1 + detection_range = 160000 + threat_range = 8000 + air_weapon_dist = 8000 + + +@shipmod +class CH_Type054B(unittype.ShipType): + id = "CH_Type054B" + name = "[CH] Type 054B Frigate" + plane_num = 0 + helicopter_num = 1 + parking = 1 + detection_range = 300000 + threat_range = 160000 + air_weapon_dist = 160000 diff --git a/qt_ui/windows/newgame/QNewGameWizard.py b/qt_ui/windows/newgame/QNewGameWizard.py index 8ad07fd5..c23753a0 100644 --- a/qt_ui/windows/newgame/QNewGameWizard.py +++ b/qt_ui/windows/newgame/QNewGameWizard.py @@ -123,6 +123,7 @@ class NewGameWizard(QtWidgets.QWizard): swedishmilitaryassetspack=self.field("swedishmilitaryassetspack"), coldwarassets=self.field("coldwarassets"), SWPack=self.field("SWPack"), + chinesemilitaryassetspack=self.field("chinesemilitaryassetspack"), ) 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 417a132d..350fb1c6 100644 --- a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py +++ b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py @@ -158,6 +158,8 @@ class GeneratorOptions(QtWidgets.QWizardPage): self.registerField("spanishnavypack", self.spanishnavypack) self.irondome = QtWidgets.QCheckBox() self.registerField("irondome", self.irondome) + self.chinesemilitaryassetspack = QtWidgets.QCheckBox() + self.registerField("chinesemilitaryassetspack", self.chinesemilitaryassetspack) 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.
" @@ -172,6 +174,15 @@ class GeneratorOptions(QtWidgets.QWizardPage): ("A-6A Intruder (v2.7.5.01)", self.a6a_intruder), ("A-7E Corsair II", self.a7e_corsair2), ("C-130J-30 Super Hercules (v6.8.2)", self.hercules), + ("Cold War Assets mod (v1.0)", self.coldwarassets), + ( + "CurrentHill Chinese Military Assets pack (1.1.4)", + self.chinesemilitaryassetspack, + ), + ( + "CurrentHill Swedish Military Assets pack (1.10)", + self.swedishmilitaryassetspack, + ), ("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), @@ -186,22 +197,20 @@ class GeneratorOptions(QtWidgets.QWizardPage): ("F9F Panther (v2.8.7.101)", self.f9f_panther), ("F/A-18E/F Super Hornet AI Tanker (version 1.4)", self.fa18ef_tanker), ("F/A-18E/F/G Super Hornet (version 2.3.2)", self.fa_18efg), - ("Cold War Assets mod (v1.0)", self.coldwarassets), ("Frenchpack (v4.9.1)", self.frenchpack), ("High Digit SAMs", self.high_digit_sams), ("IDF Assets Pack (v1.1 by IDF Mods Project)", self.irondome), ("JAS 39 Gripen (v1.8.5-beta)", self.jas39_gripen), + ("OH-6 Cayuse (v1.2)", self.oh_6), + ("OH-6 Vietnam Asset Pack (v1.0)", self.oh_6_vietnamassetpack), ("OV-10A Bronco", self.ov10a_bronco), + ("Saab 105/SK-60B (v1.2.1)", self.sk_60), ("Spanish Naval Assets pack (desdemicabina 3.2.0)", self.spanishnavypack), ("Star Wars Modpack 2.54+", self.SWPack), - ("Saab 105/SK-60B (v1.2.1)", self.sk_60), ("Su-15 Flagon (v1.0)", self.su15_flagon), ("Su-30 Flanker-H (V2.7.73b)", self.su30_flanker_h), ("Su-57 Felon (build-04)", self.su57_felon), ("Super Étendard (v2.5.5)", self.super_etendard), - ("Swedish Military Assets pack (1.10)", self.swedishmilitaryassetspack), - ("OH-6 Cayuse (v1.2)", self.oh_6), - ("OH-6 Vietnam Asset Pack (v1.0)", self.oh_6_vietnamassetpack), ("UH-60L Black Hawk (v1.3.1)", self.uh_60l), ] @@ -270,3 +279,6 @@ class GeneratorOptions(QtWidgets.QWizardPage): self.swedishmilitaryassetspack.setChecked( s.get("swedishmilitaryassetspack", False) ) + self.chinesemilitaryassetspack.setChecked( + s.get("chinesemilitaryassetspack", False) + ) diff --git a/resources/factions/china_2020.json b/resources/factions/china_2020.json new file mode 100644 index 00000000..9774f5be --- /dev/null +++ b/resources/factions/china_2020.json @@ -0,0 +1,108 @@ +{ + "country": "China", + "name": "China 2020", + "authors": "Eclipse", + "description": "China in the late 2010s, early 2020s.
", + "locales": [ + "zh_CN" + ], + "aircrafts": [ + "FC-1 Fierce Dragon", + "IL-76MD", + "J-11A Flanker-L", + "J-15 Flanker X-2", + "J-7B", + "Mi-24P Hind-F", + "Mi-8MTV2 Hip", + "Su-30MKK Flanker-G", + "H-6J Badger" + ], + "awacs": [ + "KJ-2000" + ], + "tankers": [ + "IL-78M" + ], + "frontline_units": [ + "[CH] ZBL-09 IFV", + "[CH] ZBD-04A AT SPATGM", + "MT Type 59", + "Type 04A (ZBD-04A)", + "Type 96B (ZTZ-96B)", + "[CH] ZTL-11 AFV", + "[CH] ZTZ-99A2 MBT" + ], + "artillery_units": [ + "[CH] PCL-181 SPG GP155", + "[CH] PHL-11 SPMRL (DPICM)", + "[CH] PHL-11 SPMRL (HE)", + "[CH] PHL-16 SPMRL (FD280)", + "[CH] PLZ-07 SPG", + "PLZ-05" + ], + "logistics_units": [ + "LUV UAZ-469 Jeep", + "Truck Ural-375", + "[CH] SX2190 Truck" + ], + "infantry_units": [ + "Infantry AK-74 Rus", + "MANPADS SA-18 Igla-S \"Grouse\"", + "Paratrooper AKS", + "Paratrooper RPG-16" + ], + "missiles": [ + "[CH] DF-21D LBASBM", + "[CH] CJ-10 GLCM", + "[CH] YJ-12B LBASM" + ], + "preset_groups": [ + "HQ-2", + "SA-11", + "HQ-7", + "HQ-22", + "Silkworm", + "Chinese Navy" + ], + "naval_units": [ + "Type 052B Destroyer", + "Type 052C Destroyer", + "Type 054A Frigate", + "CV 1143.5 Admiral Kuznetsov", + "Type 093 Attack Submarine", + "Type 071 Amphibious Transport Dock", + "[CH] Type 022 FAC", + "[CH] Type 054B Frigate", + "[CH] Type 056A Corvette", + "[CH] Type 052D Destroyer", + "[CH] Type 055 Destroyer" + ], + "air_defense_units": [ + "EWR 1L13", + "EWR 55G6", + "AAA ZU-23 Closed Emplacement", + "[CH] LD-3000 C-RAM Mobile", + "[CH] LD-3000 C-RAM Stationary", + "[CH] PGZ-09 SPAAG", + "[CH] PGZ-95 SPAAG", + "[CH] HQ-17A SHORAD" + ], + "carrier_names": [ + "001 Liaoning", + "002 Shandong" + ], + "helicopter_carrier_names": [ + "Kunlun Shan", + "Jinggang Shan", + "Changbai Shan", + "Yimeng Shan", + "Longhu Shan", + "Wuzhi Shan", + "Wudang Shan" + ], + "requirements": { + "Chinese Military Assets for DCS by Currenthill": "https://www.currenthill.com/china" + }, + "has_jtac": true, + "jtac_unit": "WingLoong-I" +} \ No newline at end of file diff --git a/resources/groups/HQ-22.yaml b/resources/groups/HQ-22.yaml new file mode 100644 index 00000000..cfd9d4d1 --- /dev/null +++ b/resources/groups/HQ-22.yaml @@ -0,0 +1,9 @@ +name: HQ-22 +tasks: + - LORAD +units: + - "[CH] HQ-22 JSG-100 SR" + - "[CH] HQ-22 H-200 STR" + - "[CH] HQ-22 LN" +layouts: + - HQ-22 Battery \ No newline at end of file diff --git a/resources/layouts/anti_air/HQ-22_Battery.yaml b/resources/layouts/anti_air/HQ-22_Battery.yaml new file mode 100644 index 00000000..7b29c770 --- /dev/null +++ b/resources/layouts/anti_air/HQ-22_Battery.yaml @@ -0,0 +1,53 @@ +name: HQ-22 Battery +tasks: + - LORAD +groups: + - Patriot: + - name: Patriot Battery 0 + unit_count: + - 2 + unit_types: + - CH_HQ22_SR + - name: Patriot Battery 1 + unit_count: + - 1 + unit_types: + - CH_HQ22_LN + - name: Patriot Battery 2 + unit_count: + - 1 + unit_types: + - CH_HQ22_STR + - name: Patriot Battery 3 + unit_count: + - 1 + unit_types: + - CH_HQ22_LN + - name: Patriot Battery 4 + unit_count: + - 1 + unit_types: + - CH_HQ22_LN + - name: Patriot Battery 5 + unit_count: + - 3 + unit_types: + - CH_HQ22_LN + - 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 \ No newline at end of file diff --git a/resources/ui/templates/factiontemplate_EN.j2 b/resources/ui/templates/factiontemplate_EN.j2 index 1e40e777..48bea021 100644 --- a/resources/ui/templates/factiontemplate_EN.j2 +++ b/resources/ui/templates/factiontemplate_EN.j2 @@ -1,4 +1,12 @@ Description: {{ faction.description|safe }}