mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Adapt to DCS update.
This commit is contained in:
@@ -4,7 +4,7 @@ import itertools
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from dcs import Mission
|
||||
from dcs.ships import Bulker_Handy_Wind
|
||||
from dcs.ships import HandyWind
|
||||
from dcs.unitgroup import ShipGroup
|
||||
|
||||
from game.transfers import CargoShip
|
||||
@@ -35,7 +35,7 @@ class CargoShipGenerator:
|
||||
group = self.mission.ship_group(
|
||||
country,
|
||||
ship.name,
|
||||
Bulker_Handy_Wind,
|
||||
HandyWind,
|
||||
position=waypoints[0],
|
||||
group_size=1,
|
||||
)
|
||||
|
||||
@@ -32,7 +32,7 @@ class SilkwormGenerator(GroupGenerator):
|
||||
|
||||
# Commander
|
||||
self.add_unit(
|
||||
Unarmed.Truck_KAMAZ_43101,
|
||||
Unarmed.KAMAZ_Truck,
|
||||
"KAMAZ#0",
|
||||
self.position.x - 35,
|
||||
self.position.y - 20,
|
||||
@@ -41,7 +41,7 @@ class SilkwormGenerator(GroupGenerator):
|
||||
|
||||
# Shorad
|
||||
self.add_unit(
|
||||
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
|
||||
AirDefence.ZSU_23_4_Shilka,
|
||||
"SHILKA#0",
|
||||
self.position.x - 55,
|
||||
self.position.y - 38,
|
||||
@@ -50,7 +50,7 @@ class SilkwormGenerator(GroupGenerator):
|
||||
|
||||
# Shorad 2
|
||||
self.add_unit(
|
||||
AirDefence.SAM_SA_9_Strela_1_Gaskin_TEL,
|
||||
AirDefence.Strela_1_9P31,
|
||||
"STRELA#0",
|
||||
self.position.x + 200,
|
||||
self.position.y + 15,
|
||||
|
||||
@@ -2,7 +2,7 @@ import random
|
||||
|
||||
from gen.sam.group_generator import ShipGroupGenerator
|
||||
|
||||
from dcs.ships import DDG_Arleigh_Burke_IIa, CG_Ticonderoga
|
||||
from dcs.ships import USS_Arleigh_Burke_IIa, TICONDEROG
|
||||
|
||||
|
||||
class CarrierGroupGenerator(ShipGroupGenerator):
|
||||
@@ -22,7 +22,7 @@ class CarrierGroupGenerator(ShipGroupGenerator):
|
||||
|
||||
# Add Arleigh Burke escort
|
||||
self.add_unit(
|
||||
DDG_Arleigh_Burke_IIa,
|
||||
USS_Arleigh_Burke_IIa,
|
||||
"USS Ramage",
|
||||
self.position.x + 6482,
|
||||
self.position.y + 6667,
|
||||
@@ -30,7 +30,7 @@ class CarrierGroupGenerator(ShipGroupGenerator):
|
||||
)
|
||||
|
||||
self.add_unit(
|
||||
DDG_Arleigh_Burke_IIa,
|
||||
USS_Arleigh_Burke_IIa,
|
||||
"USS Mitscher",
|
||||
self.position.x - 7963,
|
||||
self.position.y + 7037,
|
||||
@@ -38,7 +38,7 @@ class CarrierGroupGenerator(ShipGroupGenerator):
|
||||
)
|
||||
|
||||
self.add_unit(
|
||||
DDG_Arleigh_Burke_IIa,
|
||||
USS_Arleigh_Burke_IIa,
|
||||
"USS Forrest Sherman",
|
||||
self.position.x - 7408,
|
||||
self.position.y - 7408,
|
||||
@@ -46,7 +46,7 @@ class CarrierGroupGenerator(ShipGroupGenerator):
|
||||
)
|
||||
|
||||
self.add_unit(
|
||||
DDG_Arleigh_Burke_IIa,
|
||||
USS_Arleigh_Burke_IIa,
|
||||
"USS Lassen",
|
||||
self.position.x + 8704,
|
||||
self.position.y - 6296,
|
||||
@@ -56,7 +56,7 @@ class CarrierGroupGenerator(ShipGroupGenerator):
|
||||
# Add Ticonderoga escort
|
||||
if self.heading >= 180:
|
||||
self.add_unit(
|
||||
CG_Ticonderoga,
|
||||
TICONDEROG,
|
||||
"USS Hué City",
|
||||
self.position.x + 2222,
|
||||
self.position.y - 3333,
|
||||
@@ -64,7 +64,7 @@ class CarrierGroupGenerator(ShipGroupGenerator):
|
||||
)
|
||||
else:
|
||||
self.add_unit(
|
||||
CG_Ticonderoga,
|
||||
TICONDEROG,
|
||||
"USS Hué City",
|
||||
self.position.x - 3333,
|
||||
self.position.y + 2222,
|
||||
|
||||
@@ -5,9 +5,9 @@ from typing import TYPE_CHECKING
|
||||
|
||||
|
||||
from dcs.ships import (
|
||||
Type_052C_Destroyer,
|
||||
Type_052B_Destroyer,
|
||||
Type_054A_Frigate,
|
||||
Type_052C,
|
||||
Type_052B,
|
||||
Type_054A,
|
||||
)
|
||||
|
||||
from game.factions.faction import Faction
|
||||
@@ -30,14 +30,14 @@ class ChineseNavyGroupGenerator(ShipGroupGenerator):
|
||||
|
||||
if include_frigate:
|
||||
self.add_unit(
|
||||
Type_054A_Frigate,
|
||||
Type_054A,
|
||||
"FF1",
|
||||
self.position.x + 1200,
|
||||
self.position.y + 900,
|
||||
self.heading,
|
||||
)
|
||||
self.add_unit(
|
||||
Type_054A_Frigate,
|
||||
Type_054A,
|
||||
"FF2",
|
||||
self.position.x + 1200,
|
||||
self.position.y - 900,
|
||||
@@ -45,7 +45,7 @@ class ChineseNavyGroupGenerator(ShipGroupGenerator):
|
||||
)
|
||||
|
||||
if include_dd:
|
||||
dd_type = random.choice([Type_052C_Destroyer, Type_052B_Destroyer])
|
||||
dd_type = random.choice([Type_052C, Type_052B])
|
||||
self.add_unit(
|
||||
dd_type,
|
||||
"DD1",
|
||||
@@ -69,5 +69,5 @@ class Type54GroupGenerator(DDGroupGenerator):
|
||||
self, game: Game, ground_object: TheaterGroundObject, faction: Faction
|
||||
):
|
||||
super(Type54GroupGenerator, self).__init__(
|
||||
game, ground_object, faction, Type_054A_Frigate
|
||||
game, ground_object, faction, Type_054A
|
||||
)
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
from __future__ import annotations
|
||||
from typing import TYPE_CHECKING
|
||||
from typing import TYPE_CHECKING, Type
|
||||
|
||||
from game.factions.faction import Faction
|
||||
from game.theater.theatergroundobject import TheaterGroundObject
|
||||
|
||||
from gen.sam.group_generator import ShipGroupGenerator
|
||||
from dcs.unittype import ShipType
|
||||
from dcs.ships import FFG_Oliver_Hazzard_Perry, DDG_Arleigh_Burke_IIa
|
||||
from dcs.ships import PERRY, USS_Arleigh_Burke_IIa
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from game.game import Game
|
||||
@@ -18,7 +18,7 @@ class DDGroupGenerator(ShipGroupGenerator):
|
||||
game: Game,
|
||||
ground_object: TheaterGroundObject,
|
||||
faction: Faction,
|
||||
ddtype: ShipType,
|
||||
ddtype: Type[ShipType],
|
||||
):
|
||||
super(DDGroupGenerator, self).__init__(game, ground_object, faction)
|
||||
self.ddtype = ddtype
|
||||
@@ -46,7 +46,7 @@ class OliverHazardPerryGroupGenerator(DDGroupGenerator):
|
||||
self, game: Game, ground_object: TheaterGroundObject, faction: Faction
|
||||
):
|
||||
super(OliverHazardPerryGroupGenerator, self).__init__(
|
||||
game, ground_object, faction, FFG_Oliver_Hazzard_Perry
|
||||
game, ground_object, faction, PERRY
|
||||
)
|
||||
|
||||
|
||||
@@ -55,5 +55,5 @@ class ArleighBurkeGroupGenerator(DDGroupGenerator):
|
||||
self, game: Game, ground_object: TheaterGroundObject, faction: Faction
|
||||
):
|
||||
super(ArleighBurkeGroupGenerator, self).__init__(
|
||||
game, ground_object, faction, DDG_Arleigh_Burke_IIa
|
||||
game, ground_object, faction, USS_Arleigh_Burke_IIa
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from dcs.ships import FAC_La_Combattante_IIa
|
||||
from dcs.ships import La_Combattante_II
|
||||
|
||||
from game.factions.faction import Faction
|
||||
from game.theater import TheaterGroundObject
|
||||
@@ -8,5 +8,5 @@ from gen.fleet.dd_group import DDGroupGenerator
|
||||
class LaCombattanteIIGroupGenerator(DDGroupGenerator):
|
||||
def __init__(self, game, ground_object: TheaterGroundObject, faction: Faction):
|
||||
super(LaCombattanteIIGroupGenerator, self).__init__(
|
||||
game, ground_object, faction, FAC_La_Combattante_IIa
|
||||
game, ground_object, faction, La_Combattante_II
|
||||
)
|
||||
|
||||
@@ -3,13 +3,13 @@ import random
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from dcs.ships import (
|
||||
Corvette_1124_4_Grisha,
|
||||
Corvette_1241_1_Molniya,
|
||||
Frigate_11540_Neustrashimy,
|
||||
Frigate_1135M_Rezky,
|
||||
Cruiser_1164_Moskva,
|
||||
SSK_877V_Kilo,
|
||||
SSK_641B_Tango,
|
||||
ALBATROS,
|
||||
MOLNIYA,
|
||||
NEUSTRASH,
|
||||
REZKY,
|
||||
MOSCOW,
|
||||
KILO,
|
||||
SOM,
|
||||
)
|
||||
|
||||
from gen.fleet.dd_group import DDGroupGenerator
|
||||
@@ -37,9 +37,7 @@ class RussianNavyGroupGenerator(ShipGroupGenerator):
|
||||
include_frigate = True
|
||||
|
||||
if include_frigate:
|
||||
frigate_type = random.choice(
|
||||
[Corvette_1124_4_Grisha, Corvette_1241_1_Molniya]
|
||||
)
|
||||
frigate_type = random.choice([ALBATROS, MOLNIYA])
|
||||
self.add_unit(
|
||||
frigate_type,
|
||||
"FF1",
|
||||
@@ -56,7 +54,7 @@ class RussianNavyGroupGenerator(ShipGroupGenerator):
|
||||
)
|
||||
|
||||
if include_dd:
|
||||
dd_type = random.choice([Frigate_11540_Neustrashimy, Frigate_1135M_Rezky])
|
||||
dd_type = random.choice([NEUSTRASH, REZKY])
|
||||
self.add_unit(
|
||||
dd_type,
|
||||
"DD1",
|
||||
@@ -76,7 +74,7 @@ class RussianNavyGroupGenerator(ShipGroupGenerator):
|
||||
# Only include the Moskva for now, the Pyotry Velikiy is an unkillable monster.
|
||||
# See https://github.com/dcs-liberation/dcs_liberation/issues/567
|
||||
self.add_unit(
|
||||
Cruiser_1164_Moskva,
|
||||
MOSCOW,
|
||||
"CC1",
|
||||
self.position.x,
|
||||
self.position.y,
|
||||
@@ -91,7 +89,7 @@ class GrishaGroupGenerator(DDGroupGenerator):
|
||||
self, game: Game, ground_object: TheaterGroundObject, faction: Faction
|
||||
):
|
||||
super(GrishaGroupGenerator, self).__init__(
|
||||
game, ground_object, faction, Corvette_1124_4_Grisha
|
||||
game, ground_object, faction, ALBATROS
|
||||
)
|
||||
|
||||
|
||||
@@ -100,7 +98,7 @@ class MolniyaGroupGenerator(DDGroupGenerator):
|
||||
self, game: Game, ground_object: TheaterGroundObject, faction: Faction
|
||||
):
|
||||
super(MolniyaGroupGenerator, self).__init__(
|
||||
game, ground_object, faction, Corvette_1241_1_Molniya
|
||||
game, ground_object, faction, MOLNIYA
|
||||
)
|
||||
|
||||
|
||||
@@ -108,15 +106,11 @@ class KiloSubGroupGenerator(DDGroupGenerator):
|
||||
def __init__(
|
||||
self, game: Game, ground_object: TheaterGroundObject, faction: Faction
|
||||
):
|
||||
super(KiloSubGroupGenerator, self).__init__(
|
||||
game, ground_object, faction, SSK_877V_Kilo
|
||||
)
|
||||
super(KiloSubGroupGenerator, self).__init__(game, ground_object, faction, KILO)
|
||||
|
||||
|
||||
class TangoSubGroupGenerator(DDGroupGenerator):
|
||||
def __init__(
|
||||
self, game: Game, ground_object: TheaterGroundObject, faction: Faction
|
||||
):
|
||||
super(TangoSubGroupGenerator, self).__init__(
|
||||
game, ground_object, faction, SSK_641B_Tango
|
||||
)
|
||||
super(TangoSubGroupGenerator, self).__init__(game, ground_object, faction, SOM)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import random
|
||||
|
||||
from dcs.ships import Boat_Schnellboot_type_S130
|
||||
from dcs.ships import Schnellboot_type_S130
|
||||
|
||||
from gen.sam.group_generator import ShipGroupGenerator
|
||||
|
||||
@@ -10,7 +10,7 @@ class SchnellbootGroupGenerator(ShipGroupGenerator):
|
||||
|
||||
for i in range(random.randint(2, 4)):
|
||||
self.add_unit(
|
||||
Boat_Schnellboot_type_S130,
|
||||
Schnellboot_type_S130,
|
||||
"Schnellboot" + str(i),
|
||||
self.position.x + i * random.randint(100, 250),
|
||||
self.position.y + (random.randint(100, 200) - 100),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import random
|
||||
|
||||
from dcs.ships import U_boat_VIIC_U_flak
|
||||
from dcs.ships import Uboat_VIIC
|
||||
|
||||
from gen.sam.group_generator import ShipGroupGenerator
|
||||
|
||||
@@ -10,7 +10,7 @@ class UBoatGroupGenerator(ShipGroupGenerator):
|
||||
|
||||
for i in range(random.randint(1, 4)):
|
||||
self.add_unit(
|
||||
U_boat_VIIC_U_flak,
|
||||
Uboat_VIIC,
|
||||
"Uboat" + str(i),
|
||||
self.position.x + i * random.randint(100, 250),
|
||||
self.position.y + (random.randint(100, 200) - 100),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import random
|
||||
|
||||
from dcs.ships import LS_Samuel_Chase, LST_Mk_II
|
||||
from dcs.ships import USS_Samuel_Chase, LST_Mk2
|
||||
|
||||
from gen.sam.group_generator import ShipGroupGenerator
|
||||
|
||||
@@ -10,7 +10,7 @@ class WW2LSTGroupGenerator(ShipGroupGenerator):
|
||||
|
||||
# Add LS Samuel Chase
|
||||
self.add_unit(
|
||||
LS_Samuel_Chase,
|
||||
USS_Samuel_Chase,
|
||||
"SamuelChase",
|
||||
self.position.x,
|
||||
self.position.y,
|
||||
@@ -19,7 +19,7 @@ class WW2LSTGroupGenerator(ShipGroupGenerator):
|
||||
|
||||
for i in range(1, random.randint(3, 4)):
|
||||
self.add_unit(
|
||||
LST_Mk_II,
|
||||
LST_Mk2,
|
||||
"LST" + str(i),
|
||||
self.position.x + i * random.randint(800, 1200),
|
||||
self.position.y,
|
||||
|
||||
@@ -37,7 +37,7 @@ class ScudGenerator(GroupGenerator):
|
||||
|
||||
# Commander
|
||||
self.add_unit(
|
||||
Unarmed.LUV_UAZ_469_Jeep,
|
||||
Unarmed.UAZ_469,
|
||||
"Kubel#0",
|
||||
self.position.x - 35,
|
||||
self.position.y - 20,
|
||||
@@ -46,7 +46,7 @@ class ScudGenerator(GroupGenerator):
|
||||
|
||||
# Shorad
|
||||
self.add_unit(
|
||||
AirDefence.SPAAA_ZSU_23_4_Shilka_Gun_Dish,
|
||||
AirDefence.ZSU_23_4_Shilka,
|
||||
"SHILKA#0",
|
||||
self.position.x - 55,
|
||||
self.position.y - 38,
|
||||
@@ -54,7 +54,7 @@ class ScudGenerator(GroupGenerator):
|
||||
)
|
||||
|
||||
self.add_unit(
|
||||
AirDefence.SAM_SA_9_Strela_1_Gaskin_TEL,
|
||||
AirDefence.Strela_1_9P31,
|
||||
"STRELA#0",
|
||||
self.position.x + 200,
|
||||
self.position.y + 15,
|
||||
|
||||
@@ -37,7 +37,7 @@ class V1GroupGenerator(GroupGenerator):
|
||||
|
||||
# Commander
|
||||
self.add_unit(
|
||||
Unarmed.LUV_Kubelwagen_82,
|
||||
Unarmed.Kubelwagen_82,
|
||||
"Kubel#0",
|
||||
self.position.x - 35,
|
||||
self.position.y - 20,
|
||||
@@ -45,9 +45,7 @@ class V1GroupGenerator(GroupGenerator):
|
||||
)
|
||||
|
||||
# Self defense flak
|
||||
flak_unit = random.choice(
|
||||
[AirDefence.AAA_Flak_Vierling_38_Quad_20mm, AirDefence.AAA_Flak_38_20mm]
|
||||
)
|
||||
flak_unit = random.choice([AirDefence.Flak38, AirDefence.Flak30])
|
||||
|
||||
self.add_unit(
|
||||
flak_unit,
|
||||
@@ -58,7 +56,7 @@ class V1GroupGenerator(GroupGenerator):
|
||||
)
|
||||
|
||||
self.add_unit(
|
||||
Unarmed.Truck_Opel_Blitz,
|
||||
Unarmed.Blitz_36_6700A,
|
||||
"Blitz#0",
|
||||
self.position.x + 200,
|
||||
self.position.y + 15,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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]]:
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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],
|
||||
|
||||
Reference in New Issue
Block a user