Adapt to DCS update.

This commit is contained in:
Dan Albert
2021-06-17 01:27:40 -07:00
parent edd0b90576
commit 4c3ac0af91
92 changed files with 457 additions and 521 deletions

View File

@@ -27,7 +27,7 @@ class BoforsGenerator(AirDefenseGroupGenerator):
for j in range(grid_y):
index = index + 1
self.add_unit(
AirDefence.AAA_Bofors_40mm,
AirDefence.Bofors40,
"AAA#" + str(index),
self.position.x + spacing * i,
self.position.y + spacing * j,

View File

@@ -8,12 +8,12 @@ from gen.sam.airdefensegroupgenerator import (
)
GFLAK = [
AirDefence.AAA_Flak_Vierling_38_Quad_20mm,
AirDefence.AAA_8_8cm_Flak_18,
AirDefence.AAA_8_8cm_Flak_36,
AirDefence.AAA_8_8cm_Flak_37,
AirDefence.AAA_8_8cm_Flak_41,
AirDefence.AAA_Flak_38_20mm,
AirDefence.Flak38,
AirDefence.Flak18,
AirDefence.Flak36,
AirDefence.Flak37,
AirDefence.Flak41,
AirDefence.Flak30,
]
@@ -53,7 +53,7 @@ class FlakGenerator(AirDefenseGroupGenerator):
search_pos = self.get_circular_position(random.randint(2, 3), 80)
for index, pos in enumerate(search_pos):
self.add_unit(
AirDefence.SL_Flakscheinwerfer_37,
AirDefence.Flakscheinwerfer_37,
"SearchLight#" + str(index),
pos[0],
pos[1],
@@ -62,14 +62,14 @@ class FlakGenerator(AirDefenseGroupGenerator):
# Support
self.add_unit(
AirDefence.PU_Maschinensatz_33,
AirDefence.Maschinensatz_33,
"MC33#",
self.position.x - 20,
self.position.y - 20,
self.heading,
)
self.add_unit(
AirDefence.AAA_SP_Kdo_G_40,
AirDefence.KDO_Mod40,
"KDO#",
self.position.x - 25,
self.position.y - 20,
@@ -78,7 +78,7 @@ class FlakGenerator(AirDefenseGroupGenerator):
# Commander
self.add_unit(
Unarmed.LUV_Kubelwagen_82,
Unarmed.Kubelwagen_82,
"Kubel#",
self.position.x - 35,
self.position.y - 20,
@@ -89,7 +89,7 @@ class FlakGenerator(AirDefenseGroupGenerator):
for i in range(int(max(1, grid_x / 2))):
for j in range(int(max(1, grid_x / 2))):
self.add_unit(
Unarmed.Truck_Opel_Blitz,
Unarmed.Blitz_36_6700A,
"BLITZ#" + str(index),
self.position.x + 125 + 15 * i + random.randint(1, 5),
self.position.y + 15 * j + random.randint(1, 5),

View File

@@ -25,7 +25,7 @@ class Flak18Generator(AirDefenseGroupGenerator):
for j in range(2):
index = index + 1
self.add_unit(
AirDefence.AAA_8_8cm_Flak_18,
AirDefence.Flak18,
"AAA#" + str(index),
self.position.x + spacing * i + random.randint(1, 5),
self.position.y + spacing * j + random.randint(1, 5),
@@ -34,7 +34,7 @@ class Flak18Generator(AirDefenseGroupGenerator):
# Add a commander truck
self.add_unit(
Unarmed.Truck_Opel_Blitz,
Unarmed.Blitz_36_6700A,
"Blitz#",
self.position.x - 35,
self.position.y - 20,

View File

@@ -21,7 +21,7 @@ class AllyWW2FlakGenerator(AirDefenseGroupGenerator):
positions = self.get_circular_position(4, launcher_distance=30, coverage=360)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.AAA_QF_3_7,
AirDefence.QF_37_AA,
"AA#" + str(i),
position[0],
position[1],
@@ -31,7 +31,7 @@ class AllyWW2FlakGenerator(AirDefenseGroupGenerator):
positions = self.get_circular_position(8, launcher_distance=60, coverage=360)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.AAA_M1_37mm,
AirDefence.M1_37mm,
"AA#" + str(4 + i),
position[0],
position[1],
@@ -41,7 +41,7 @@ class AllyWW2FlakGenerator(AirDefenseGroupGenerator):
positions = self.get_circular_position(8, launcher_distance=90, coverage=360)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.AAA_M45_Quadmount_HB_12_7mm,
AirDefence.M45_Quadmount,
"AA#" + str(12 + i),
position[0],
position[1],
@@ -50,28 +50,28 @@ class AllyWW2FlakGenerator(AirDefenseGroupGenerator):
# Add a commander truck
self.add_unit(
Unarmed.Car_Willys_Jeep,
Unarmed.Willys_MB,
"CMD#1",
self.position.x,
self.position.y - 20,
random.randint(0, 360),
)
self.add_unit(
Unarmed.Carrier_M30_Cargo,
Unarmed.M30_CC,
"LOG#1",
self.position.x,
self.position.y + 20,
random.randint(0, 360),
)
self.add_unit(
Unarmed.Tractor_M4_Hi_Speed,
Unarmed.M4_Tractor,
"LOG#2",
self.position.x + 20,
self.position.y,
random.randint(0, 360),
)
self.add_unit(
Unarmed.Truck_Bedford,
Unarmed.Bedford_MWD,
"LOG#3",
self.position.x - 20,
self.position.y,

View File

@@ -21,7 +21,7 @@ class ZSU57Generator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SPAAA_ZSU_57_2,
AirDefence.ZSU_57_2,
"SPAA#" + str(i),
position[0],
position[1],

View File

@@ -27,7 +27,7 @@ class ZU23InsurgentGenerator(AirDefenseGroupGenerator):
for j in range(grid_y):
index = index + 1
self.add_unit(
AirDefence.AAA_ZU_23_Insurgent_Closed_Emplacement,
AirDefence.ZU_23_Closed_Insurgent,
"AAA#" + str(index),
self.position.x + spacing * i,
self.position.y + spacing * j,

View File

@@ -29,7 +29,7 @@ class EarlyColdWarFlakGenerator(AirDefenseGroupGenerator):
for j in range(2):
index = index + 1
self.add_unit(
AirDefence.AAA_8_8cm_Flak_18,
AirDefence.Flak18,
"AAA#" + str(index),
self.position.x + spacing * i + random.randint(1, 5),
self.position.y + spacing * j + random.randint(1, 5),
@@ -38,14 +38,14 @@ class EarlyColdWarFlakGenerator(AirDefenseGroupGenerator):
# Medium range guns
self.add_unit(
AirDefence.AAA_S_60_57mm,
AirDefence.S_60_Type59_Artillery,
"SHO#1",
self.position.x - 40,
self.position.y - 40,
self.heading + 180,
),
self.add_unit(
AirDefence.AAA_S_60_57mm,
AirDefence.S_60_Type59_Artillery,
"SHO#2",
self.position.x + spacing * 2 + 40,
self.position.y + spacing + 40,
@@ -54,14 +54,14 @@ class EarlyColdWarFlakGenerator(AirDefenseGroupGenerator):
# Short range guns
self.add_unit(
AirDefence.AAA_ZU_23_Closed_Emplacement,
AirDefence.ZU_23_Emplacement_Closed,
"SHO#3",
self.position.x - 80,
self.position.y - 40,
self.heading + 180,
),
self.add_unit(
AirDefence.AAA_ZU_23_Closed_Emplacement,
AirDefence.ZU_23_Emplacement_Closed,
"SHO#4",
self.position.x + spacing * 2 + 80,
self.position.y + spacing + 40,
@@ -70,7 +70,7 @@ class EarlyColdWarFlakGenerator(AirDefenseGroupGenerator):
# Add a truck
self.add_unit(
Unarmed.Truck_KAMAZ_43101,
Unarmed.KAMAZ_Truck,
"Truck#",
self.position.x - 60,
self.position.y - 20,
@@ -102,7 +102,7 @@ class ColdWarFlakGenerator(AirDefenseGroupGenerator):
for j in range(2):
index = index + 1
self.add_unit(
AirDefence.AAA_8_8cm_Flak_18,
AirDefence.Flak18,
"AAA#" + str(index),
self.position.x + spacing * i + random.randint(1, 5),
self.position.y + spacing * j + random.randint(1, 5),
@@ -111,14 +111,14 @@ class ColdWarFlakGenerator(AirDefenseGroupGenerator):
# Medium range guns
self.add_unit(
AirDefence.AAA_S_60_57mm,
AirDefence.S_60_Type59_Artillery,
"SHO#1",
self.position.x - 40,
self.position.y - 40,
self.heading + 180,
),
self.add_unit(
AirDefence.AAA_S_60_57mm,
AirDefence.S_60_Type59_Artillery,
"SHO#2",
self.position.x + spacing * 2 + 40,
self.position.y + spacing + 40,
@@ -127,14 +127,14 @@ class ColdWarFlakGenerator(AirDefenseGroupGenerator):
# Short range guns
self.add_unit(
AirDefence.AAA_ZU_23_Closed_Emplacement,
AirDefence.ZU_23_Emplacement_Closed,
"SHO#3",
self.position.x - 80,
self.position.y - 40,
self.heading + 180,
),
self.add_unit(
AirDefence.AAA_ZU_23_Closed_Emplacement,
AirDefence.ZU_23_Emplacement_Closed,
"SHO#4",
self.position.x + spacing * 2 + 80,
self.position.y + spacing + 40,
@@ -143,7 +143,7 @@ class ColdWarFlakGenerator(AirDefenseGroupGenerator):
# Add a P19 Radar for EWR
self.add_unit(
AirDefence.SAM_P19_Flat_Face_SR__SA_2_3,
AirDefence.P_19_s_125_sr,
"SR#0",
self.position.x - 60,
self.position.y - 20,

View File

@@ -1,3 +1,5 @@
from typing import Type
from dcs.vehicles import AirDefence
from dcs.unittype import VehicleType
@@ -5,7 +7,7 @@ from gen.sam.group_generator import GroupGenerator
class EwrGenerator(GroupGenerator):
unit_type: VehicleType
unit_type: Type[VehicleType]
@classmethod
def name(cls) -> str:
@@ -25,13 +27,13 @@ class EwrGenerator(GroupGenerator):
class BoxSpringGenerator(EwrGenerator):
"""1L13 "Box Spring" EWR."""
unit_type = AirDefence.EWR_1L13
unit_type = AirDefence._1L13_EWR
class TallRackGenerator(EwrGenerator):
"""55G6 "Tall Rack" EWR."""
unit_type = AirDefence.EWR_55G6
unit_type = AirDefence._55G6_EWR
class DogEarGenerator(EwrGenerator):
@@ -40,7 +42,7 @@ class DogEarGenerator(EwrGenerator):
This is the SA-8 search radar, but used as an early warning radar.
"""
unit_type = AirDefence.MCC_SR_Sborka_Dog_Ear_SR
unit_type = AirDefence.Dog_Ear_radar
class RolandEwrGenerator(EwrGenerator):
@@ -49,7 +51,7 @@ class RolandEwrGenerator(EwrGenerator):
This is the Roland search radar, but used as an early warning radar.
"""
unit_type = AirDefence.SAM_Roland_EWR
unit_type = AirDefence.Roland_Radar
class FlatFaceGenerator(EwrGenerator):
@@ -58,7 +60,7 @@ class FlatFaceGenerator(EwrGenerator):
This is the SA-3 search radar, but used as an early warning radar.
"""
unit_type = AirDefence.SAM_P19_Flat_Face_SR__SA_2_3
unit_type = AirDefence.P_19_s_125_sr
class PatriotEwrGenerator(EwrGenerator):
@@ -67,7 +69,7 @@ class PatriotEwrGenerator(EwrGenerator):
This is the Patriot search/track radar, but used as an early warning radar.
"""
unit_type = AirDefence.SAM_Patriot_STR
unit_type = AirDefence.Patriot_str
class BigBirdGenerator(EwrGenerator):
@@ -76,7 +78,7 @@ class BigBirdGenerator(EwrGenerator):
This is the SA-10 track radar, but used as an early warning radar.
"""
unit_type = AirDefence.SAM_SA_10_S_300_Grumble_Big_Bird_SR
unit_type = AirDefence.S_300PS_64H6E_sr
class SnowDriftGenerator(EwrGenerator):
@@ -85,7 +87,7 @@ class SnowDriftGenerator(EwrGenerator):
This is the SA-11 search radar, but used as an early warning radar.
"""
unit_type = AirDefence.SAM_SA_11_Buk_Gadfly_Snow_Drift_SR
unit_type = AirDefence.SA_11_Buk_SR_9S18M1
class StraightFlushGenerator(EwrGenerator):
@@ -94,7 +96,7 @@ class StraightFlushGenerator(EwrGenerator):
This is the SA-6 search/track radar, but used as an early warning radar.
"""
unit_type = AirDefence.SAM_SA_6_Kub_Straight_Flush_STR
unit_type = AirDefence.Kub_1S91_str
class HawkEwrGenerator(EwrGenerator):
@@ -103,4 +105,4 @@ class HawkEwrGenerator(EwrGenerator):
This is the Hawk search radar, but used as an early warning radar.
"""
unit_type = AirDefence.SAM_Hawk_SR__AN_MPQ_50
unit_type = AirDefence.Hawk_sr

View File

@@ -18,7 +18,7 @@ class FreyaGenerator(AirDefenseGroupGenerator):
# TODO : would be better with the Concrete structure that is supposed to protect it
self.add_unit(
AirDefence.EWR_FuMG_401_Freya_LZ,
AirDefence.FuMG_401,
"EWR#1",
self.position.x,
self.position.y,
@@ -28,7 +28,7 @@ class FreyaGenerator(AirDefenseGroupGenerator):
positions = self.get_circular_position(4, launcher_distance=50, coverage=360)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.AAA_Flak_Vierling_38_Quad_20mm,
AirDefence.Flak38,
"AA#" + str(i),
position[0],
position[1],
@@ -38,7 +38,7 @@ class FreyaGenerator(AirDefenseGroupGenerator):
positions = self.get_circular_position(4, launcher_distance=100, coverage=360)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.AAA_8_8cm_Flak_18,
AirDefence.Flak18,
"AA#" + str(4 + i),
position[0],
position[1],
@@ -47,58 +47,58 @@ class FreyaGenerator(AirDefenseGroupGenerator):
# Command/Logi
self.add_unit(
Unarmed.LUV_Kubelwagen_82,
Unarmed.Kubelwagen_82,
"Kubel#1",
self.position.x - 20,
self.position.y - 20,
self.heading,
)
self.add_unit(
Unarmed.Carrier_Sd_Kfz_7_Tractor,
Unarmed.Sd_Kfz_7,
"Sdkfz#1",
self.position.x + 20,
self.position.y + 22,
self.heading,
)
self.add_unit(
Unarmed.LUV_Kettenrad,
Unarmed.Sd_Kfz_2,
"Sdkfz#2",
self.position.x - 22,
self.position.y + 20,
self.heading,
)
# PU_Maschinensatz_33 and Kdo.g 40 Telemeter
# Maschinensatz_33 and Kdo.g 40 Telemeter
self.add_unit(
AirDefence.PU_Maschinensatz_33,
AirDefence.Maschinensatz_33,
"Energy#1",
self.position.x + 20,
self.position.y - 20,
self.heading,
)
self.add_unit(
AirDefence.AAA_SP_Kdo_G_40,
AirDefence.KDO_Mod40,
"Telemeter#1",
self.position.x + 20,
self.position.y - 10,
self.heading,
)
self.add_unit(
Infantry.Infantry_Mauser_98,
Infantry.Soldier_mauser98,
"Inf#1",
self.position.x + 20,
self.position.y - 14,
self.heading,
)
self.add_unit(
Infantry.Infantry_Mauser_98,
Infantry.Soldier_mauser98,
"Inf#2",
self.position.x + 20,
self.position.y - 22,
self.heading,
)
self.add_unit(
Infantry.Infantry_Mauser_98,
Infantry.Soldier_mauser98,
"Inf#3",
self.position.x + 20,
self.position.y - 24,

View File

@@ -20,7 +20,7 @@ class AvengerGenerator(AirDefenseGroupGenerator):
num_launchers = random.randint(2, 3)
self.add_unit(
Unarmed.Truck_M818_6x6,
Unarmed.M_818,
"TRUCK",
self.position.x,
self.position.y,
@@ -31,7 +31,7 @@ class AvengerGenerator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_Avenger__Stinger,
AirDefence.M1097_Avenger,
"SPAA#" + str(i),
position[0],
position[1],

View File

@@ -20,7 +20,7 @@ class ChaparralGenerator(AirDefenseGroupGenerator):
num_launchers = random.randint(2, 4)
self.add_unit(
Unarmed.Truck_M818_6x6,
Unarmed.M_818,
"TRUCK",
self.position.x,
self.position.y,
@@ -31,7 +31,7 @@ class ChaparralGenerator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_Chaparral_M48,
AirDefence.M48_Chaparral,
"SPAA#" + str(i),
position[0],
position[1],

View File

@@ -18,7 +18,7 @@ class GepardGenerator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SPAAA_Gepard,
AirDefence.Gepard,
"SPAAA",
self.position.x,
self.position.y,
@@ -26,14 +26,14 @@ class GepardGenerator(AirDefenseGroupGenerator):
)
if random.randint(0, 1) == 1:
self.add_unit(
AirDefence.SPAAA_Gepard,
AirDefence.Gepard,
"SPAAA2",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
Unarmed.Truck_M818_6x6,
Unarmed.M_818,
"TRUCK",
self.position.x + 80,
self.position.y,

View File

@@ -2,7 +2,6 @@ import random
from typing import Dict, Iterable, List, Optional, Sequence, Set, Type
from dcs.unitgroup import VehicleGroup
from dcs.vehicles import AirDefence
from game import Game
from game.factions.faction import Faction
@@ -104,41 +103,6 @@ SAM_MAP: Dict[str, Type[AirDefenseGroupGenerator]] = {
}
SAM_PRICES = {
AirDefence.SAM_Hawk_Platoon_Command_Post__PCP: 35,
AirDefence.AAA_ZU_23_Emplacement: 10,
AirDefence.AAA_ZU_23_Closed_Emplacement: 10,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375: 10,
AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375: 10,
AirDefence.AAA_ZU_23_Insurgent_Closed_Emplacement: 10,
AirDefence.AAA_ZU_23_Insurgent_Emplacement: 10,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish: 10,
AirDefence.SPAAA_Vulcan_M163: 15,
AirDefence.SAM_Linebacker___Bradley_M6: 20,
AirDefence.SAM_Rapier_LN: 20,
AirDefence.SAM_Avenger__Stinger: 22,
AirDefence.SPAAA_Gepard: 24,
AirDefence.SAM_Roland_ADS: 40,
AirDefence.SAM_Patriot_LN: 85,
AirDefence.SAM_Patriot_EPP_III: 85,
AirDefence.SAM_Chaparral_M48: 25,
AirDefence.AAA_Bofors_40mm: 15,
AirDefence.AAA_8_8cm_Flak_36: 15,
AirDefence.SAM_SA_2_S_75_Guideline_LN: 30,
AirDefence.SAM_SA_3_S_125_Goa_LN: 35,
AirDefence.SAM_SA_6_Kub_Gainful_TEL: 45,
AirDefence.SAM_SA_8_Osa_Gecko_TEL: 30,
AirDefence.SAM_SA_9_Strela_1_Gaskin_TEL: 25,
AirDefence.SAM_SA_10_S_300_Grumble_TEL_C: 80,
AirDefence.SAM_SA_10_S_300_Grumble_C2: 80,
AirDefence.SAM_SA_11_Buk_Gadfly_Fire_Dome_TEL: 60,
AirDefence.SAM_SA_13_Strela_10M3_Gopher_TEL: 30,
AirDefence.SAM_SA_15_Tor_Gauntlet: 40,
AirDefence.SAM_SA_19_Tunguska_Grison: 35,
AirDefence.HQ_7_Self_Propelled_LN: 35,
}
def get_faction_possible_sams_generator(
faction: Faction,
) -> List[Type[AirDefenseGroupGenerator]]:

View File

@@ -19,21 +19,21 @@ class HawkGenerator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_Hawk_SR__AN_MPQ_50,
AirDefence.Hawk_sr,
"SR",
self.position.x + 20,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_Hawk_Platoon_Command_Post__PCP,
AirDefence.Hawk_pcp,
"PCP",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_Hawk_TR__AN_MPQ_46,
AirDefence.Hawk_tr,
"TR",
self.position.x + 40,
self.position.y,
@@ -44,7 +44,7 @@ class HawkGenerator(AirDefenseGroupGenerator):
aa_group = self.add_auxiliary_group("AA")
self.add_unit_to_group(
aa_group,
AirDefence.SPAAA_Vulcan_M163,
AirDefence.Vulcan,
"AAA",
self.position + Point(20, 30),
self.heading,
@@ -57,7 +57,7 @@ class HawkGenerator(AirDefenseGroupGenerator):
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_Hawk_LN_M192,
AirDefence.Hawk_ln,
"LN#" + str(i),
position[0],
position[1],

View File

@@ -19,14 +19,14 @@ class HQ7Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.HQ_7_Self_Propelled_STR,
AirDefence.HQ_7_STR_SP,
"STR",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.HQ_7_Self_Propelled_LN,
AirDefence.HQ_7_LN_SP,
"LN",
self.position.x + 20,
self.position.y,
@@ -37,14 +37,14 @@ class HQ7Generator(AirDefenseGroupGenerator):
aa_group = self.add_auxiliary_group("AA")
self.add_unit_to_group(
aa_group,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375,
AirDefence.Ural_375_ZU_23,
"AAA1",
self.position + Point(20, 30),
self.heading,
)
self.add_unit_to_group(
aa_group,
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375,
AirDefence.Ural_375_ZU_23,
"AAA2",
self.position - Point(20, 30),
self.heading,
@@ -57,7 +57,7 @@ class HQ7Generator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.HQ_7_Self_Propelled_LN,
AirDefence.HQ_7_LN_SP,
"LN#" + str(i),
position[0],
position[1],

View File

@@ -20,7 +20,7 @@ class LinebackerGenerator(AirDefenseGroupGenerator):
num_launchers = random.randint(2, 4)
self.add_unit(
Unarmed.Truck_M818_6x6,
Unarmed.M_818,
"TRUCK",
self.position.x,
self.position.y,
@@ -31,7 +31,7 @@ class LinebackerGenerator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_Linebacker___Bradley_M6,
AirDefence.M6_Linebacker,
"M6#" + str(i),
position[0],
position[1],

View File

@@ -20,35 +20,35 @@ class PatriotGenerator(AirDefenseGroupGenerator):
def generate(self):
# Command Post
self.add_unit(
AirDefence.SAM_Patriot_STR,
AirDefence.Patriot_str,
"STR",
self.position.x + 30,
self.position.y + 30,
self.heading,
)
self.add_unit(
AirDefence.SAM_Patriot_CR__AMG_AN_MRC_137,
AirDefence.Patriot_AMG,
"MRC",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_Patriot_ECS,
AirDefence.Patriot_ECS,
"MSQ",
self.position.x + 30,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_Patriot_C2_ICC,
AirDefence.Patriot_cp,
"ICC",
self.position.x + 60,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_Patriot_EPP_III,
AirDefence.Patriot_EPP,
"EPP",
self.position.x,
self.position.y + 30,
@@ -61,7 +61,7 @@ class PatriotGenerator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_Patriot_LN,
AirDefence.Patriot_ln,
"LN#" + str(i),
position[0],
position[1],
@@ -77,7 +77,7 @@ class PatriotGenerator(AirDefenseGroupGenerator):
for i, (x, y, heading) in enumerate(positions):
self.add_unit_to_group(
aa_group,
AirDefence.SPAAA_Vulcan_M163,
AirDefence.Vulcan,
f"SPAAA#{i}",
Point(x, y),
heading,

View File

@@ -18,14 +18,14 @@ class RapierGenerator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_Rapier_Blindfire_TR,
AirDefence.Rapier_fsa_blindfire_radar,
"BT",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_Rapier_Tracker,
AirDefence.Rapier_fsa_optical_tracker_unit,
"OT",
self.position.x + 20,
self.position.y,
@@ -39,7 +39,7 @@ class RapierGenerator(AirDefenseGroupGenerator):
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_Rapier_LN,
AirDefence.Rapier_fsa_launcher,
"LN#" + str(i),
position[0],
position[1],

View File

@@ -16,21 +16,21 @@ class RolandGenerator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_Roland_EWR,
AirDefence.Roland_Radar,
"EWR",
self.position.x + 40,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_Roland_ADS,
AirDefence.Roland_ADS,
"ADS",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
Unarmed.Truck_M818_6x6,
Unarmed.M_818,
"TRUCK",
self.position.x + 80,
self.position.y,

View File

@@ -22,13 +22,13 @@ class SA10Generator(AirDefenseGroupGenerator):
def __init__(self, game: Game, ground_object: SamGroundObject):
super().__init__(game, ground_object)
self.sr1 = AirDefence.SAM_SA_10_S_300_Grumble_Clam_Shell_SR
self.sr2 = AirDefence.SAM_SA_10_S_300_Grumble_Big_Bird_SR
self.cp = AirDefence.SAM_SA_10_S_300_Grumble_C2
self.tr1 = AirDefence.SAM_SA_10_S_300_Grumble_Flap_Lid_TR
self.tr2 = AirDefence.SAM_SA_10_S_300_Grumble_Flap_Lid_TR
self.ln1 = AirDefence.SAM_SA_10_S_300_Grumble_TEL_C
self.ln2 = AirDefence.SAM_SA_10_S_300_Grumble_TEL_D
self.sr1 = AirDefence.S_300PS_40B6MD_sr
self.sr2 = AirDefence.S_300PS_64H6E_sr
self.cp = AirDefence.S_300PS_54K6_cp
self.tr1 = AirDefence.S_300PS_40B6M_tr
self.tr2 = AirDefence.S_300PS_40B6M_tr
self.ln1 = AirDefence.S_300PS_5P85C_ln
self.ln2 = AirDefence.S_300PS_5P85D_ln
def generate(self):
# Search Radar
@@ -84,7 +84,7 @@ class SA10Generator(AirDefenseGroupGenerator):
for i, (x, y, heading) in enumerate(positions):
self.add_unit_to_group(
aa_group,
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
AirDefence.ZSU_23_4_Shilka,
f"AA#{i}",
Point(x, y),
heading,
@@ -109,7 +109,7 @@ class Tier2SA10Generator(SA10Generator):
for i, (x, y, heading) in enumerate(positions):
self.add_unit_to_group(
pd_group,
AirDefence.SAM_SA_15_Tor_Gauntlet,
AirDefence.Tor_9A331,
f"PD#{i}",
Point(x, y),
heading,
@@ -131,7 +131,7 @@ class Tier3SA10Generator(SA10Generator):
for i, (x, y, heading) in enumerate(positions):
self.add_unit_to_group(
aa_group,
AirDefence.SAM_SA_19_Tunguska_Grison,
AirDefence._2S6_Tunguska,
f"AA#{i}",
Point(x, y),
heading,
@@ -146,7 +146,7 @@ class Tier3SA10Generator(SA10Generator):
for i, (x, y, heading) in enumerate(positions):
self.add_unit_to_group(
pd_group,
AirDefence.SAM_SA_15_Tor_Gauntlet,
AirDefence.Tor_9A331,
f"PD#{i}",
Point(x, y),
heading,

View File

@@ -18,14 +18,14 @@ class SA11Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_SA_11_Buk_Gadfly_Snow_Drift_SR,
AirDefence.SA_11_Buk_SR_9S18M1,
"SR",
self.position.x + 20,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_SA_11_Buk_Gadfly_C2,
AirDefence.SA_11_Buk_CC_9S470M1,
"CC",
self.position.x,
self.position.y,
@@ -39,7 +39,7 @@ class SA11Generator(AirDefenseGroupGenerator):
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_11_Buk_Gadfly_Fire_Dome_TEL,
AirDefence.SA_11_Buk_LN_9A310M1,
"LN#" + str(i),
position[0],
position[1],

View File

@@ -18,14 +18,14 @@ class SA13Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
Unarmed.LUV_UAZ_469_Jeep,
Unarmed.UAZ_469,
"UAZ",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
Unarmed.Truck_KAMAZ_43101,
Unarmed.KAMAZ_Truck,
"TRUCK",
self.position.x + 40,
self.position.y,
@@ -38,7 +38,7 @@ class SA13Generator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_13_Strela_10M3_Gopher_TEL,
AirDefence.Strela_10M3,
"LN#" + str(i),
position[0],
position[1],

View File

@@ -16,21 +16,21 @@ class SA15Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_SA_15_Tor_Gauntlet,
AirDefence.Tor_9A331,
"ADS",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
Unarmed.LUV_UAZ_469_Jeep,
Unarmed.UAZ_469,
"EWR",
self.position.x + 40,
self.position.y,
self.heading,
)
self.add_unit(
Unarmed.Truck_KAMAZ_43101,
Unarmed.KAMAZ_Truck,
"TRUCK",
self.position.x + 80,
self.position.y,

View File

@@ -17,14 +17,14 @@ class SA17Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_SA_11_Buk_Gadfly_Snow_Drift_SR,
AirDefence.SA_11_Buk_SR_9S18M1,
"SR",
self.position.x + 20,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_SA_11_Buk_Gadfly_C2,
AirDefence.SA_11_Buk_CC_9S470M1,
"CC",
self.position.x,
self.position.y,

View File

@@ -21,7 +21,7 @@ class SA19Generator(AirDefenseGroupGenerator):
if num_launchers == 1:
self.add_unit(
AirDefence.SAM_SA_19_Tunguska_Grison,
AirDefence._2S6_Tunguska,
"LN#0",
self.position.x,
self.position.y,
@@ -33,7 +33,7 @@ class SA19Generator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_19_Tunguska_Grison,
AirDefence._2S6_Tunguska,
"LN#" + str(i),
position[0],
position[1],

View File

@@ -18,14 +18,14 @@ class SA2Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_P19_Flat_Face_SR__SA_2_3,
AirDefence.P_19_s_125_sr,
"SR",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_SA_2_S_75_Fan_Song_TR,
AirDefence.SNR_75V,
"TR",
self.position.x + 20,
self.position.y,
@@ -39,7 +39,7 @@ class SA2Generator(AirDefenseGroupGenerator):
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_2_S_75_Guideline_LN,
AirDefence.S_75M_Volhov,
"LN#" + str(i),
position[0],
position[1],

View File

@@ -18,14 +18,14 @@ class SA3Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_P19_Flat_Face_SR__SA_2_3,
AirDefence.P_19_s_125_sr,
"SR",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_SA_3_S_125_Low_Blow_TR,
AirDefence.Snr_s_125_tr,
"TR",
self.position.x + 20,
self.position.y,
@@ -39,7 +39,7 @@ class SA3Generator(AirDefenseGroupGenerator):
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_3_S_125_Goa_LN,
AirDefence._5p73_s_125_ln,
"LN#" + str(i),
position[0],
position[1],

View File

@@ -18,7 +18,7 @@ class SA6Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_SA_6_Kub_Straight_Flush_STR,
AirDefence.Kub_1S91_str,
"STR",
self.position.x,
self.position.y,
@@ -32,7 +32,7 @@ class SA6Generator(AirDefenseGroupGenerator):
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_6_Kub_Gainful_TEL,
AirDefence.Kub_2P25_ln,
"LN#" + str(i),
position[0],
position[1],

View File

@@ -16,14 +16,14 @@ class SA8Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SAM_SA_8_Osa_Gecko_TEL,
AirDefence.Osa_9A33_ln,
"OSA",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
AirDefence.SAM_SA_8_Osa_LD_9T217,
AirDefence.SA_8_Osa_LD_9T217,
"LD",
self.position.x + 20,
self.position.y,

View File

@@ -18,14 +18,14 @@ class SA9Generator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
Unarmed.LUV_UAZ_469_Jeep,
Unarmed.UAZ_469,
"UAZ",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
Unarmed.Truck_KAMAZ_43101,
Unarmed.KAMAZ_Truck,
"TRUCK",
self.position.x + 40,
self.position.y,
@@ -38,7 +38,7 @@ class SA9Generator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SAM_SA_9_Strela_1_Gaskin_TEL,
AirDefence.Strela_1_9P31,
"LN#" + str(i),
position[0],
position[1],

View File

@@ -18,7 +18,7 @@ class VulcanGenerator(AirDefenseGroupGenerator):
def generate(self):
self.add_unit(
AirDefence.SPAAA_Vulcan_M163,
AirDefence.Vulcan,
"SPAAA",
self.position.x,
self.position.y,
@@ -26,14 +26,14 @@ class VulcanGenerator(AirDefenseGroupGenerator):
)
if random.randint(0, 1) == 1:
self.add_unit(
AirDefence.SPAAA_Vulcan_M163,
AirDefence.Vulcan,
"SPAAA2",
self.position.x,
self.position.y,
self.heading,
)
self.add_unit(
Unarmed.Truck_M818_6x6,
Unarmed.M_818,
"TRUCK",
self.position.x + 80,
self.position.y,

View File

@@ -24,7 +24,7 @@ class ZSU23Generator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
AirDefence.ZSU_23_4_Shilka,
"SPAA#" + str(i),
position[0],
position[1],

View File

@@ -27,7 +27,7 @@ class ZU23Generator(AirDefenseGroupGenerator):
for j in range(grid_y):
index = index + 1
self.add_unit(
AirDefence.AAA_ZU_23_Closed_Emplacement,
AirDefence.ZU_23_Emplacement_Closed,
"AAA#" + str(index),
self.position.x + spacing * i,
self.position.y + spacing * j,

View File

@@ -24,7 +24,7 @@ class ZU23UralGenerator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SPAAA_ZU_23_2_Mounted_Ural_375,
AirDefence.Ural_375_ZU_23,
"SPAA#" + str(i),
position[0],
position[1],

View File

@@ -24,7 +24,7 @@ class ZU23UralInsurgentGenerator(AirDefenseGroupGenerator):
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.SPAAA_ZU_23_2_Insurgent_Mounted_Ural_375,
AirDefence.Ural_375_ZU_23_Insurgent,
"SPAA#" + str(i),
position[0],
position[1],