From 052a04ca054a3eb108f83a272b194f2189e24605 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sun, 13 Jul 2025 18:41:20 +0200 Subject: [PATCH] Properly support Essex carrier --- game/theater/controlpoint.py | 2 ++ game/theater/start_generator.py | 4 +++- resources/factions/allies_1944.json | 7 +++++-- resources/groups/WW2Essex.yaml | 7 +++++++ resources/layouts/naval/WW2-Essex_Carrier.miz | Bin 0 -> 9974 bytes resources/layouts/naval/WW2-Essex_Carrier.yaml | 10 ++++++++++ 6 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 resources/groups/WW2Essex.yaml create mode 100644 resources/layouts/naval/WW2-Essex_Carrier.miz create mode 100644 resources/layouts/naval/WW2-Essex_Carrier.yaml diff --git a/game/theater/controlpoint.py b/game/theater/controlpoint.py index d4f089a1..ff371923 100644 --- a/game/theater/controlpoint.py +++ b/game/theater/controlpoint.py @@ -40,6 +40,7 @@ from dcs.ships import ( Stennis, Type_071, hms_invincible, + Essex, ) from dcs.terrain.terrain import Airport, ParkingSlot from dcs.unitgroup import ShipGroup, StaticGroup @@ -1428,6 +1429,7 @@ class NavalControlPoint( CVN_72, CVN_73, CVN_75, + Essex, ]: return True return False diff --git a/game/theater/start_generator.py b/game/theater/start_generator.py index 2894e0cb..73182062 100644 --- a/game/theater/start_generator.py +++ b/game/theater/start_generator.py @@ -297,7 +297,9 @@ class GenericCarrierGroundObjectGenerator(ControlPointGroundObjectGenerator): if go.category in ["CARRIER", "LHA"] ][0] groups = [ - g for g in carrier_go.groups if "Carrier" in g.name or "LHA" in g.name + g + for g in carrier_go.groups + if "carrier" in g.name.lower() or "lha" in g.name.lower() ] return groups[0].units[0] diff --git a/resources/factions/allies_1944.json b/resources/factions/allies_1944.json index 140d57a7..700c20e8 100644 --- a/resources/factions/allies_1944.json +++ b/resources/factions/allies_1944.json @@ -49,7 +49,8 @@ ], "preset_groups": [ "Ally Flak", - "WW2LST" + "WW2LST", + "WW2Essex" ], "naval_units": [ "USS Bennington (CV-20)" @@ -58,7 +59,9 @@ "WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/" }, "carrier_names": [], - "helicopter_carrier_names": [], + "helicopter_carrier_names": [ + "USS Essex (CV-9)" + ], "has_jtac": false, "doctrine": "ww2", "building_set": "ww2ally", diff --git a/resources/groups/WW2Essex.yaml b/resources/groups/WW2Essex.yaml new file mode 100644 index 00000000..c0b5a064 --- /dev/null +++ b/resources/groups/WW2Essex.yaml @@ -0,0 +1,7 @@ +name: WW2Essex +tasks: + - HelicopterCarrier +units: + - USS Bennington (CV-20) +layouts: + - WW2 Essex Carrier \ No newline at end of file diff --git a/resources/layouts/naval/WW2-Essex_Carrier.miz b/resources/layouts/naval/WW2-Essex_Carrier.miz new file mode 100644 index 0000000000000000000000000000000000000000..a1dcb96eb5d31d9877bc403e84226fc44c1a430d GIT binary patch literal 9974 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 NzyJXLzncJn{{pAgTS))_ literal 0 HcmV?d00001 diff --git a/resources/layouts/naval/WW2-Essex_Carrier.yaml b/resources/layouts/naval/WW2-Essex_Carrier.yaml new file mode 100644 index 00000000..3a58d3d5 --- /dev/null +++ b/resources/layouts/naval/WW2-Essex_Carrier.yaml @@ -0,0 +1,10 @@ +name: WW2 Essex Carrier +tasks: + - HelicopterCarrier +groups: + - Carrier: # the word "Carrier" or "LHA" needs to be present in the group-name + - name: WW2 Carrier Group 0 + unit_count: + - 1 + unit_types: + - Essex