diff --git a/gen/coastal/coastal_group_generator.py b/gen/coastal/coastal_group_generator.py deleted file mode 100644 index 1bfdd86b..00000000 --- a/gen/coastal/coastal_group_generator.py +++ /dev/null @@ -1,40 +0,0 @@ -import logging -import random -from typing import Optional - -from dcs.unitgroup import VehicleGroup - -from game import Game -from game.factions import FACTIONS -from game.theater.theatergroundobject import CoastalSiteGroundObject -from gen.coastal.silkworm import SilkwormGenerator - -COASTAL_MAP = { - "SilkwormGenerator": SilkwormGenerator, -} - - -def generate_coastal_group( - game: Game, ground_object: CoastalSiteGroundObject, faction_name: str -) -> Optional[VehicleGroup]: - """ - This generate a coastal defenses group - :return: The generated group, or None if this faction does not support coastal - defenses. - """ - faction = FACTIONS[faction_name] - if len(faction.coastal_defenses) > 0: - generators = faction.coastal_defenses - if len(generators) > 0: - gen = random.choice(generators) - if gen in COASTAL_MAP.keys(): - generator = COASTAL_MAP[gen](game, ground_object, faction) - generator.generate() - return generator.get_generated_group() - else: - logging.info( - "Unable to generate missile group, generator : " - + str(gen) - + "does not exists" - ) - return None diff --git a/gen/fleet/carrier_group.py b/gen/fleet/carrier_group.py deleted file mode 100644 index 74ca4c67..00000000 --- a/gen/fleet/carrier_group.py +++ /dev/null @@ -1,124 +0,0 @@ -import random - -from gen.sam.group_generator import ShipGroupGenerator -from game.utils import Heading - -from dcs.ships import USS_Arleigh_Burke_IIa, TICONDEROG - - -class CarrierGroupGenerator(ShipGroupGenerator): - def generate(self) -> None: - - # Carrier Strike Group 8 - if self.faction.carrier_names[0] == "Carrier Strike Group 8": - carrier_type = random.choice(self.faction.aircraft_carrier) - - self.add_unit( - carrier_type, - "CVN-75 Harry S. Truman", - self.position.x, - self.position.y, - self.heading, - ) - - # Add Arleigh Burke escort - self.add_unit( - USS_Arleigh_Burke_IIa, - "USS Ramage", - self.position.x + 6482, - self.position.y + 6667, - self.heading, - ) - - self.add_unit( - USS_Arleigh_Burke_IIa, - "USS Mitscher", - self.position.x - 7963, - self.position.y + 7037, - self.heading, - ) - - self.add_unit( - USS_Arleigh_Burke_IIa, - "USS Forrest Sherman", - self.position.x - 7408, - self.position.y - 7408, - self.heading, - ) - - self.add_unit( - USS_Arleigh_Burke_IIa, - "USS Lassen", - self.position.x + 8704, - self.position.y - 6296, - self.heading, - ) - - # Add Ticonderoga escort - if self.heading >= Heading.from_degrees(180): - self.add_unit( - TICONDEROG, - "USS Hué City", - self.position.x + 2222, - self.position.y - 3333, - self.heading, - ) - else: - self.add_unit( - TICONDEROG, - "USS Hué City", - self.position.x - 3333, - self.position.y + 2222, - self.heading, - ) - - self.get_generated_group().points[0].speed = 20 - ################################################################################################## - # Add carrier for normal generation - else: - if len(self.faction.aircraft_carrier) > 0: - carrier_type = random.choice(self.faction.aircraft_carrier) - self.add_unit( - carrier_type, - "Carrier", - self.position.x, - self.position.y, - self.heading, - ) - else: - return - - # Add destroyers escort - if len(self.faction.destroyers) > 0: - dd_type = random.choice(self.faction.destroyers) - self.add_unit( - dd_type, - "DD1", - self.position.x + 2500, - self.position.y + 4500, - self.heading, - ) - self.add_unit( - dd_type, - "DD2", - self.position.x + 2500, - self.position.y - 4500, - self.heading, - ) - - self.add_unit( - dd_type, - "DD3", - self.position.x + 4500, - self.position.y + 8500, - self.heading, - ) - self.add_unit( - dd_type, - "DD4", - self.position.x + 4500, - self.position.y - 8500, - self.heading, - ) - - self.get_generated_group().points[0].speed = 20 diff --git a/gen/fleet/cn_dd_group.py b/gen/fleet/cn_dd_group.py deleted file mode 100644 index 144df4b4..00000000 --- a/gen/fleet/cn_dd_group.py +++ /dev/null @@ -1,70 +0,0 @@ -from __future__ import annotations - -import random -from typing import TYPE_CHECKING - -from dcs.ships import ( - Type_052C, - Type_052B, - Type_054A, -) - -from game.factions.faction import Faction -from game.theater.theatergroundobject import ShipGroundObject -from gen.fleet.dd_group import DDGroupGenerator -from gen.sam.group_generator import ShipGroupGenerator - -if TYPE_CHECKING: - from game.game import Game - - -class ChineseNavyGroupGenerator(ShipGroupGenerator): - def generate(self) -> None: - - include_frigate = random.choice([True, True, False]) - include_dd = random.choice([True, False]) - - if not any([include_frigate, include_dd]): - include_frigate = True - - if include_frigate: - self.add_unit( - Type_054A, - "FF1", - self.position.x + 1200, - self.position.y + 900, - self.heading, - ) - self.add_unit( - Type_054A, - "FF2", - self.position.x + 1200, - self.position.y - 900, - self.heading, - ) - - if include_dd: - dd_type = random.choice([Type_052C, Type_052B]) - self.add_unit( - dd_type, - "DD1", - self.position.x + 2400, - self.position.y + 900, - self.heading, - ) - self.add_unit( - dd_type, - "DD2", - self.position.x + 2400, - self.position.y - 900, - self.heading, - ) - - self.get_generated_group().points[0].speed = 20 - - -class Type54GroupGenerator(DDGroupGenerator): - def __init__(self, game: Game, ground_object: ShipGroundObject, faction: Faction): - super(Type54GroupGenerator, self).__init__( - game, ground_object, faction, Type_054A - ) diff --git a/gen/fleet/lha_group.py b/gen/fleet/lha_group.py deleted file mode 100644 index a7a896b9..00000000 --- a/gen/fleet/lha_group.py +++ /dev/null @@ -1,34 +0,0 @@ -import random - -from gen.sam.group_generator import ShipGroupGenerator - - -class LHAGroupGenerator(ShipGroupGenerator): - def generate(self) -> None: - - # Add carrier - if len(self.faction.helicopter_carrier) > 0: - carrier_type = random.choice(self.faction.helicopter_carrier) - self.add_unit( - carrier_type, "LHA", self.position.x, self.position.y, self.heading - ) - - # Add destroyers escort - if len(self.faction.destroyers) > 0: - dd_type = random.choice(self.faction.destroyers) - self.add_unit( - dd_type, - "DD1", - self.position.x + 1250, - self.position.y + 1450, - self.heading, - ) - self.add_unit( - dd_type, - "DD2", - self.position.x + 1250, - self.position.y - 1450, - self.heading, - ) - - self.get_generated_group().points[0].speed = 20 diff --git a/gen/fleet/ru_dd_group.py b/gen/fleet/ru_dd_group.py deleted file mode 100644 index 67f9c923..00000000 --- a/gen/fleet/ru_dd_group.py +++ /dev/null @@ -1,108 +0,0 @@ -from __future__ import annotations - -import random -from typing import TYPE_CHECKING - -from dcs.ships import ( - ALBATROS, - MOLNIYA, - NEUSTRASH, - REZKY, - MOSCOW, - KILO, - SOM, -) - -from game.factions.faction import Faction -from game.theater.theatergroundobject import ShipGroundObject -from gen.fleet.dd_group import DDGroupGenerator -from gen.sam.group_generator import ShipGroupGenerator - -if TYPE_CHECKING: - from game.game import Game - - -class RussianNavyGroupGenerator(ShipGroupGenerator): - def generate(self) -> None: - - include_frigate = random.choice([True, True, False]) - include_dd = random.choice([True, False]) - - if include_dd: - include_cc = random.choice([True, False]) - else: - include_cc = False - - if not any([include_frigate, include_dd, include_cc]): - include_frigate = True - - if include_frigate: - frigate_type = random.choice([ALBATROS, MOLNIYA]) - self.add_unit( - frigate_type, - "FF1", - self.position.x + 1200, - self.position.y + 900, - self.heading, - ) - self.add_unit( - frigate_type, - "FF2", - self.position.x + 1200, - self.position.y - 900, - self.heading, - ) - - if include_dd: - dd_type = random.choice([NEUSTRASH, REZKY]) - self.add_unit( - dd_type, - "DD1", - self.position.x + 2400, - self.position.y + 900, - self.heading, - ) - self.add_unit( - dd_type, - "DD2", - self.position.x + 2400, - self.position.y - 900, - self.heading, - ) - - if include_cc: - # 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( - MOSCOW, - "CC1", - self.position.x, - self.position.y, - self.heading, - ) - - self.get_generated_group().points[0].speed = 20 - - -class GrishaGroupGenerator(DDGroupGenerator): - def __init__(self, game: Game, ground_object: ShipGroundObject, faction: Faction): - super(GrishaGroupGenerator, self).__init__( - game, ground_object, faction, ALBATROS - ) - - -class MolniyaGroupGenerator(DDGroupGenerator): - def __init__(self, game: Game, ground_object: ShipGroundObject, faction: Faction): - super(MolniyaGroupGenerator, self).__init__( - game, ground_object, faction, MOLNIYA - ) - - -class KiloSubGroupGenerator(DDGroupGenerator): - def __init__(self, game: Game, ground_object: ShipGroundObject, faction: Faction): - super(KiloSubGroupGenerator, self).__init__(game, ground_object, faction, KILO) - - -class TangoSubGroupGenerator(DDGroupGenerator): - def __init__(self, game: Game, ground_object: ShipGroundObject, faction: Faction): - super(TangoSubGroupGenerator, self).__init__(game, ground_object, faction, SOM) diff --git a/gen/fleet/ship_group_generator.py b/gen/fleet/ship_group_generator.py deleted file mode 100644 index 873dd360..00000000 --- a/gen/fleet/ship_group_generator.py +++ /dev/null @@ -1,106 +0,0 @@ -from __future__ import annotations - -import logging -import random -from typing import Optional, TYPE_CHECKING - -from dcs.unitgroup import ShipGroup - -from game.factions import FACTIONS -from game.theater.theatergroundobject import ( - CarrierGroundObject, - LhaGroundObject, - ShipGroundObject, -) -from gen.fleet.carrier_group import CarrierGroupGenerator -from gen.fleet.cn_dd_group import ChineseNavyGroupGenerator, Type54GroupGenerator -from gen.fleet.dd_group import ( - ArleighBurkeGroupGenerator, - OliverHazardPerryGroupGenerator, -) -from gen.fleet.lacombattanteII import LaCombattanteIIGroupGenerator -from gen.fleet.lha_group import LHAGroupGenerator -from gen.fleet.ru_dd_group import ( - GrishaGroupGenerator, - KiloSubGroupGenerator, - MolniyaGroupGenerator, - RussianNavyGroupGenerator, - TangoSubGroupGenerator, -) -from gen.fleet.schnellboot import SchnellbootGroupGenerator -from gen.fleet.uboat import UBoatGroupGenerator -from gen.fleet.ww2lst import WW2LSTGroupGenerator - -if TYPE_CHECKING: - from game import Game - - -SHIP_MAP = { - "SchnellbootGroupGenerator": SchnellbootGroupGenerator, - "WW2LSTGroupGenerator": WW2LSTGroupGenerator, - "UBoatGroupGenerator": UBoatGroupGenerator, - "OliverHazardPerryGroupGenerator": OliverHazardPerryGroupGenerator, - "ArleighBurkeGroupGenerator": ArleighBurkeGroupGenerator, - "RussianNavyGroupGenerator": RussianNavyGroupGenerator, - "ChineseNavyGroupGenerator": ChineseNavyGroupGenerator, - "GrishaGroupGenerator": GrishaGroupGenerator, - "MolniyaGroupGenerator": MolniyaGroupGenerator, - "KiloSubGroupGenerator": KiloSubGroupGenerator, - "TangoSubGroupGenerator": TangoSubGroupGenerator, - "Type54GroupGenerator": Type54GroupGenerator, - "LaCombattanteIIGroupGenerator": LaCombattanteIIGroupGenerator, -} - - -def generate_ship_group( - game: Game, ground_object: ShipGroundObject, faction_name: str -) -> Optional[ShipGroup]: - """ - This generate a ship group - :return: The generated group, or None if this faction does not support ships. - """ - faction = FACTIONS[faction_name] - if len(faction.navy_generators) > 0: - gen = random.choice(faction.navy_generators) - if gen in SHIP_MAP.keys(): - generator = SHIP_MAP[gen](game, ground_object, faction) - print(generator.position) - generator.generate() - return generator.get_generated_group() - else: - logging.info( - "Unable to generate ship group, generator : " - + str(gen) - + "does not exists" - ) - return None - - -def generate_carrier_group( - faction: str, game: Game, ground_object: CarrierGroundObject -) -> ShipGroup: - """Generates a carrier group. - - :param faction: The faction the TGO belongs to. - :param game: The Game the group is being generated for. - :param ground_object: The ground object which will own the ship group - :return: The generated group. - """ - generator = CarrierGroupGenerator(game, ground_object, FACTIONS[faction]) - generator.generate() - return generator.get_generated_group() - - -def generate_lha_group( - faction: str, game: Game, ground_object: LhaGroundObject -) -> ShipGroup: - """Generate an LHA group. - - :param faction: The faction the TGO belongs to. - :param game: The Game the group is being generated for. - :param ground_object: The ground object which will own the ship group - :return: The generated group. - """ - generator = LHAGroupGenerator(game, ground_object, FACTIONS[faction]) - generator.generate() - return generator.get_generated_group() diff --git a/gen/sam/group_generator.py b/gen/group_generator.py similarity index 89% rename from gen/sam/group_generator.py rename to gen/group_generator.py index 3eb4ce34..58f287c0 100644 --- a/gen/sam/group_generator.py +++ b/gen/group_generator.py @@ -4,7 +4,7 @@ import logging import math import operator from collections.abc import Iterable -from typing import Any, Generic, TYPE_CHECKING, Type, TypeVar +from typing import Any, Generic, TYPE_CHECKING, Type, TypeVar, Iterator from dcs import unitgroup from dcs.mapping import Point @@ -26,7 +26,7 @@ if TYPE_CHECKING: GroupT = TypeVar("GroupT", VehicleGroup, ShipGroup) UnitT = TypeVar("UnitT", bound=Unit) UnitTypeT = TypeVar("UnitTypeT", bound=Type[UnitType]) -TgoT = TypeVar("TgoT", bound=TheaterGroundObject[Any]) +TgoT = TypeVar("TgoT", bound=TheaterGroundObject) # TODO: Generate a group description rather than a pydcs group. @@ -42,6 +42,7 @@ class GroupGenerator(Generic[GroupT, UnitT, UnitTypeT, TgoT]): self.heading: Heading = Heading.random() self.price = 0 self.vg: GroupT = group + self.auxiliary_groups: list[GroupT] = [] def generate(self) -> None: raise NotImplementedError @@ -49,6 +50,11 @@ class GroupGenerator(Generic[GroupT, UnitT, UnitTypeT, TgoT]): def get_generated_group(self) -> GroupT: return self.vg + @property + def groups(self) -> Iterator[GroupT]: + yield self.vg + yield from self.auxiliary_groups + def add_unit( self, unit_type: UnitTypeT, @@ -107,6 +113,12 @@ class VehicleGroupGenerator( wp = self.vg.add_waypoint(self.position, PointAction.OffRoad, 0) wp.ETA_locked = True + def add_vehicle_group(self) -> VehicleGroup: + gid = self.game.next_group_id() + group = VehicleGroup(gid, f"{self.go.group_name} #{len(self.auxiliary_groups)}") + self.auxiliary_groups.append(group) + return group + def generate(self) -> None: raise NotImplementedError @@ -187,6 +199,12 @@ class ShipGroupGenerator( wp = self.vg.add_waypoint(self.position, 0) wp.ETA_locked = True + def add_auxiliary_group(self) -> ShipGroup: + gid = self.game.next_group_id() + group = ShipGroup(gid, f"{self.go.group_name} #{len(self.auxiliary_groups)}") + self.auxiliary_groups.append(group) + return group + def generate(self) -> None: raise NotImplementedError diff --git a/gen/missiles/missiles_group_generator.py b/gen/missiles/missiles_group_generator.py deleted file mode 100644 index 15415f48..00000000 --- a/gen/missiles/missiles_group_generator.py +++ /dev/null @@ -1,38 +0,0 @@ -import logging -import random -from typing import Optional - -from dcs.unitgroup import VehicleGroup - -from game import Game -from game.factions import FACTIONS -from game.theater.theatergroundobject import MissileSiteGroundObject -from gen.missiles.scud_site import ScudGenerator -from gen.missiles.v1_group import V1GroupGenerator - -MISSILES_MAP = {"V1GroupGenerator": V1GroupGenerator, "ScudGenerator": ScudGenerator} - - -def generate_missile_group( - game: Game, ground_object: MissileSiteGroundObject, faction_name: str -) -> Optional[VehicleGroup]: - """ - This generate a missiles group - :return: Nothing, but put the group reference inside the ground object - """ - faction = FACTIONS[faction_name] - if len(faction.missiles) > 0: - generators = faction.missiles - if len(generators) > 0: - gen = random.choice(generators) - if gen in MISSILES_MAP.keys(): - generator = MISSILES_MAP[gen](game, ground_object, faction) - generator.generate() - return generator.get_generated_group() - else: - logging.info( - "Unable to generate missile group, generator : " - + str(gen) - + "does not exists" - ) - return None diff --git a/gen/sam/ewr_group_generator.py b/gen/sam/ewr_group_generator.py deleted file mode 100644 index 32404be4..00000000 --- a/gen/sam/ewr_group_generator.py +++ /dev/null @@ -1,65 +0,0 @@ -import random -from typing import List, Optional, Type - -from dcs.unitgroup import VehicleGroup - -from game import Game -from game.factions.faction import Faction -from game.theater.theatergroundobject import EwrGroundObject -from gen.sam.ewrs import ( - BigBirdGenerator, - BoxSpringGenerator, - DogEarGenerator, - FlatFaceGenerator, - HawkEwrGenerator, - PatriotEwrGenerator, - RolandEwrGenerator, - SnowDriftGenerator, - StraightFlushGenerator, - TallRackGenerator, - EwrGenerator, - TinShieldGenerator, -) - -EWR_MAP = { - "BoxSpringGenerator": BoxSpringGenerator, - "TallRackGenerator": TallRackGenerator, - "DogEarGenerator": DogEarGenerator, - "RolandEwrGenerator": RolandEwrGenerator, - "FlatFaceGenerator": FlatFaceGenerator, - "PatriotEwrGenerator": PatriotEwrGenerator, - "BigBirdGenerator": BigBirdGenerator, - "SnowDriftGenerator": SnowDriftGenerator, - "StraightFlushGenerator": StraightFlushGenerator, - "HawkEwrGenerator": HawkEwrGenerator, - "TinShieldGenerator": TinShieldGenerator, -} - - -def get_faction_possible_ewrs_generator( - faction: Faction, -) -> List[Type[EwrGenerator]]: - """ - Return the list of possible EWR generators for the given faction - :param faction: Faction name to search units for - """ - return [EWR_MAP[s] for s in faction.ewrs] - - -def generate_ewr_group( - game: Game, ground_object: EwrGroundObject, faction: Faction -) -> Optional[VehicleGroup]: - """Generates an early warning radar group. - - :param game: The Game. - :param ground_object: The ground object which will own the EWR group. - :param faction: Owner faction. - :return: The generated group, or None if one could not be generated. - """ - generators = get_faction_possible_ewrs_generator(faction) - if len(generators) > 0: - generator_class = random.choice(generators) - generator = generator_class(game, ground_object) - generator.generate() - return generator.get_generated_group() - return None diff --git a/gen/sam/aaa_bofors.py b/gen/to_remove/aaa_bofors.py similarity index 86% rename from gen/sam/aaa_bofors.py rename to gen/to_remove/aaa_bofors.py index f6e21977..dfdfa9f3 100644 --- a/gen/sam/aaa_bofors.py +++ b/gen/to_remove/aaa_bofors.py @@ -2,8 +2,8 @@ import random from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/aaa_flak.py b/gen/to_remove/aaa_flak.py similarity index 95% rename from gen/sam/aaa_flak.py rename to gen/to_remove/aaa_flak.py index 72f6fb2e..6009923c 100644 --- a/gen/sam/aaa_flak.py +++ b/gen/to_remove/aaa_flak.py @@ -2,8 +2,8 @@ import random from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) from game.utils import Heading diff --git a/gen/sam/aaa_flak18.py b/gen/to_remove/aaa_flak18.py similarity index 90% rename from gen/sam/aaa_flak18.py rename to gen/to_remove/aaa_flak18.py index 17725a33..7668902f 100644 --- a/gen/sam/aaa_flak18.py +++ b/gen/to_remove/aaa_flak18.py @@ -2,8 +2,8 @@ import random from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/aaa_ks19.py b/gen/to_remove/aaa_ks19.py similarity index 89% rename from gen/sam/aaa_ks19.py rename to gen/to_remove/aaa_ks19.py index 7f062bfe..6c63cb9f 100644 --- a/gen/sam/aaa_ks19.py +++ b/gen/to_remove/aaa_ks19.py @@ -1,7 +1,7 @@ import random -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) from pydcs_extensions.highdigitsams import highdigitsams diff --git a/gen/sam/aaa_ww2_ally_flak.py b/gen/to_remove/aaa_ww2_ally_flak.py similarity index 92% rename from gen/sam/aaa_ww2_ally_flak.py rename to gen/to_remove/aaa_ww2_ally_flak.py index 4eed42f4..9ca96c28 100644 --- a/gen/sam/aaa_ww2_ally_flak.py +++ b/gen/to_remove/aaa_ww2_ally_flak.py @@ -1,9 +1,7 @@ -import random +from dcs.vehicles import AirDefence, Unarmed -from dcs.vehicles import AirDefence, Armor, Unarmed - -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) from game.utils import Heading diff --git a/gen/sam/aaa_zsu57.py b/gen/to_remove/aaa_zsu57.py similarity index 86% rename from gen/sam/aaa_zsu57.py rename to gen/to_remove/aaa_zsu57.py index 909ce549..c603d93b 100644 --- a/gen/sam/aaa_zsu57.py +++ b/gen/to_remove/aaa_zsu57.py @@ -1,7 +1,7 @@ from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/aaa_zu23_insurgent.py b/gen/to_remove/aaa_zu23_insurgent.py similarity index 87% rename from gen/sam/aaa_zu23_insurgent.py rename to gen/to_remove/aaa_zu23_insurgent.py index ef2ec419..ac000e93 100644 --- a/gen/sam/aaa_zu23_insurgent.py +++ b/gen/to_remove/aaa_zu23_insurgent.py @@ -2,8 +2,8 @@ import random from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/airdefensegroupgenerator.py b/gen/to_remove/airdefensegroupgenerator.py similarity index 62% rename from gen/sam/airdefensegroupgenerator.py rename to gen/to_remove/airdefensegroupgenerator.py index f755cafa..0a6d82bb 100644 --- a/gen/sam/airdefensegroupgenerator.py +++ b/gen/to_remove/airdefensegroupgenerator.py @@ -1,41 +1,17 @@ from __future__ import annotations from abc import ABC, abstractmethod -from enum import Enum from typing import Iterator, List from dcs.unitgroup import VehicleGroup from game import Game -from game.theater.theatergroundobject import SamGroundObject -from gen.sam.group_generator import VehicleGroupGenerator - - -class SkynetRole(Enum): - #: A radar SAM that should be controlled by Skynet. - Sam = "Sam" - - #: A radar SAM that should be controlled and used as an EWR by Skynet. - SamAsEwr = "SamAsEwr" - - #: An air defense unit that should be used as point defense by Skynet. - PointDefense = "PD" - - #: All other types of groups that might be present in a SAM TGO. This includes - #: SHORADS, AAA, supply trucks, etc. Anything that shouldn't be controlled by Skynet - #: should use this role. - NoSkynetBehavior = "NoSkynetBehavior" - - -class AirDefenseRange(Enum): - AAA = ("AAA", SkynetRole.NoSkynetBehavior) - Short = ("short", SkynetRole.NoSkynetBehavior) - Medium = ("medium", SkynetRole.Sam) - Long = ("long", SkynetRole.SamAsEwr) - - def __init__(self, description: str, default_role: SkynetRole) -> None: - self.range_name = description - self.default_role = default_role +from game.theater.theatergroundobject import ( + SamGroundObject, + SkynetRole, + AirDefenseRange, +) +from gen.group_generator import VehicleGroupGenerator class AirDefenseGroupGenerator(VehicleGroupGenerator[SamGroundObject], ABC): @@ -48,7 +24,6 @@ class AirDefenseGroupGenerator(VehicleGroupGenerator[SamGroundObject], ABC): self.vg.name = self.group_name_for_role(self.vg.id, self.primary_group_role()) self.auxiliary_groups: List[VehicleGroup] = [] - self.heading = self.heading_to_conflict() def add_auxiliary_group(self, role: SkynetRole) -> VehicleGroup: gid = self.game.next_group_id() @@ -67,9 +42,7 @@ class AirDefenseGroupGenerator(VehicleGroupGenerator[SamGroundObject], ABC): # that the PD will know which group it's protecting. We then append the role so # our config knows what to do with the group, and finally the GID of *this* # group to ensure no conflicts. - return "|".join( - [self.go.faction_color, "SAM", str(self.go.group_id), role.value, str(gid)] - ) + return "|".join([self.go.faction_color, "SAM", role.value, str(gid)]) def get_generated_group(self) -> VehicleGroup: raise RuntimeError( diff --git a/gen/defenses/armor_group_generator.py b/gen/to_remove/armor_group_generator.py similarity index 88% rename from gen/defenses/armor_group_generator.py rename to gen/to_remove/armor_group_generator.py index 435e76d6..5dba3295 100644 --- a/gen/defenses/armor_group_generator.py +++ b/gen/to_remove/armor_group_generator.py @@ -4,11 +4,11 @@ from typing import Optional from dcs.unitgroup import VehicleGroup from game import Game -from game.data.groundunitclass import GroundUnitClass +from game.data.units import UnitClass from game.dcs.groundunittype import GroundUnitType from game.factions import FACTIONS from game.theater.theatergroundobject import VehicleGroupGroundObject -from gen.defenses.armored_group_generator import ( +from gen.to_remove.armored_group_generator import ( ArmoredGroupGenerator, FixedSizeArmorGroupGenerator, ) @@ -22,10 +22,10 @@ def generate_armor_group( :return: Generated group """ armor_types = ( - GroundUnitClass.Apc, - GroundUnitClass.Atgm, - GroundUnitClass.Ifv, - GroundUnitClass.Tank, + UnitClass.Apc, + UnitClass.Atgm, + UnitClass.Ifv, + UnitClass.Tank, ) possible_unit = [ u for u in FACTIONS[faction].frontline_units if u.unit_class in armor_types diff --git a/gen/defenses/armored_group_generator.py b/gen/to_remove/armored_group_generator.py similarity index 65% rename from gen/defenses/armored_group_generator.py rename to gen/to_remove/armored_group_generator.py index c7404d0d..5eb734ca 100644 --- a/gen/defenses/armored_group_generator.py +++ b/gen/to_remove/armored_group_generator.py @@ -1,9 +1,13 @@ import random +import dcs.vehicles +from dcs import Point + from game import Game from game.dcs.groundunittype import GroundUnitType from game.theater.theatergroundobject import VehicleGroupGroundObject -from gen.sam.group_generator import VehicleGroupGenerator +from game.utils import Heading +from gen.group_generator import VehicleGroupGenerator class ArmoredGroupGenerator(VehicleGroupGenerator[VehicleGroupGroundObject]): @@ -15,6 +19,7 @@ class ArmoredGroupGenerator(VehicleGroupGenerator[VehicleGroupGroundObject]): ) -> None: super().__init__(game, ground_object) self.unit_type = unit_type + self.heading = Heading.from_degrees(0) def generate(self) -> None: grid_x = random.randint(2, 3) @@ -46,9 +51,10 @@ class FixedSizeArmorGroupGenerator(VehicleGroupGenerator[VehicleGroupGroundObjec super().__init__(game, ground_object) self.unit_type = unit_type self.size = size + self.spacing = random.randint(20, 70) + self.heading = Heading.from_degrees(0) def generate(self) -> None: - spacing = random.randint(20, 70) index = 0 for i in range(self.size): @@ -56,7 +62,23 @@ class FixedSizeArmorGroupGenerator(VehicleGroupGenerator[VehicleGroupGroundObjec self.add_unit( self.unit_type.dcs_unit_type, "Armor#" + str(index), - self.position.x + spacing * i, + self.position.x + self.spacing * i, self.position.y, self.heading, ) + + +class FixedSizeArmorGroupGeneratorWithAA(FixedSizeArmorGroupGenerator): + def generate(self) -> None: + super(FixedSizeArmorGroupGeneratorWithAA, self).generate() + aux_group = self.add_vehicle_group() + index = 0 + for i in [1, 2]: + index = index + 1 + self.add_unit_to_group( + aux_group, + dcs.vehicles.AirDefence.M6_Linebacker, + "Anti Air#" + str(index), + Point(self.position.x - self.spacing * i, self.position.y), + self.heading, + ) diff --git a/gen/to_remove/carrier_group.py b/gen/to_remove/carrier_group.py new file mode 100644 index 00000000..8037086a --- /dev/null +++ b/gen/to_remove/carrier_group.py @@ -0,0 +1,124 @@ +import random + +import dcs.ships +from dcs import Point + +from gen.group_generator import ShipGroupGenerator +from game.utils import Heading + +from dcs.ships import USS_Arleigh_Burke_IIa, TICONDEROG + + +class CarrierGroupGenerator(ShipGroupGenerator): + def generate(self) -> None: + self.add_unit( + dcs.ships.Stennis, + "Carrier", + self.position.x, + self.position.y, + self.heading, + ) + + aux_group = self.add_auxiliary_group() + # Add destroyers escort + dd_type = dcs.ships.USS_Arleigh_Burke_IIa + self.add_unit_to_group( + aux_group, + dd_type, + "DD1", + Point(self.position.x + 2500, self.position.y + 4500), + self.heading, + ) + self.add_unit_to_group( + aux_group, + dd_type, + "DD2", + Point(self.position.x + 2500, self.position.y - 4500), + self.heading, + ) + + self.add_unit_to_group( + aux_group, + dd_type, + "DD3", + Point(self.position.x + 4500, self.position.y + 8500), + self.heading, + ) + self.add_unit_to_group( + aux_group, + dd_type, + "DD4", + Point(self.position.x + 4500, self.position.y - 8500), + self.heading, + ) + + self.get_generated_group().points[0].speed = 20 + + +class CarrierStrikeGroup8Generator(ShipGroupGenerator): + def generate(self) -> None: + # Carrier Strike Group 8 + carrier_type = dcs.ships.Stennis + + self.add_unit( + carrier_type, + "CVN-75 Harry S. Truman", + self.position.x, + self.position.y, + self.heading, + ) + + aux_group = self.add_auxiliary_group() + + # Add Arleigh Burke escort + self.add_unit_to_group( + aux_group, + USS_Arleigh_Burke_IIa, + "USS Ramage", + Point(self.position.x + 6482, self.position.y + 6667), + self.heading, + ) + + self.add_unit_to_group( + aux_group, + USS_Arleigh_Burke_IIa, + "USS Mitscher", + Point(self.position.x - 7963, self.position.y + 7037), + self.heading, + ) + + self.add_unit_to_group( + aux_group, + USS_Arleigh_Burke_IIa, + "USS Forrest Sherman", + Point(self.position.x - 7408, self.position.y - 7408), + self.heading, + ) + + self.add_unit_to_group( + aux_group, + USS_Arleigh_Burke_IIa, + "USS Lassen", + Point(self.position.x + 8704, self.position.y - 6296), + self.heading, + ) + + # Add Ticonderoga escort + if self.heading >= Heading.from_degrees(180): + self.add_unit_to_group( + aux_group, + TICONDEROG, + "USS Hué City", + Point(self.position.x + 2222, self.position.y - 3333), + self.heading, + ) + else: + self.add_unit_to_group( + aux_group, + TICONDEROG, + "USS Hué City", + Point(self.position.x - 3333, self.position.y + 2222), + self.heading, + ) + + self.get_generated_group().points[0].speed = 20 diff --git a/gen/to_remove/cn_dd_group.py b/gen/to_remove/cn_dd_group.py new file mode 100644 index 00000000..ce04e023 --- /dev/null +++ b/gen/to_remove/cn_dd_group.py @@ -0,0 +1,59 @@ +from __future__ import annotations + +import random +from typing import TYPE_CHECKING + +from dcs.ships import ( + Type_052C, + Type_052B, + Type_054A, +) + +from game.factions.faction import Faction +from game.theater.theatergroundobject import ShipGroundObject +from gen.to_remove.dd_group import DDGroupGenerator +from gen.group_generator import ShipGroupGenerator + +if TYPE_CHECKING: + from game.game import Game + + +class ChineseNavyGroupGenerator(ShipGroupGenerator): + def generate(self) -> None: + self.add_unit( + Type_054A, + "FF1", + self.position.x + 1200, + self.position.y + 900, + self.heading, + ) + self.add_unit( + Type_054A, + "FF2", + self.position.x + 1200, + self.position.y - 900, + self.heading, + ) + self.add_unit( + Type_052C, + "DD1", + self.position.x + 2400, + self.position.y + 900, + self.heading, + ) + self.add_unit( + Type_052C, + "DD2", + self.position.x + 2400, + self.position.y - 900, + self.heading, + ) + + self.get_generated_group().points[0].speed = 20 + + +class Type54GroupGenerator(DDGroupGenerator): + def __init__(self, game: Game, ground_object: ShipGroundObject, faction: Faction): + super(Type54GroupGenerator, self).__init__( + game, ground_object, faction, Type_054A + ) diff --git a/gen/to_remove/coastal_group_generator.py b/gen/to_remove/coastal_group_generator.py new file mode 100644 index 00000000..26d8d4b0 --- /dev/null +++ b/gen/to_remove/coastal_group_generator.py @@ -0,0 +1,13 @@ +import logging +import random +from typing import Optional + +from dcs.unitgroup import VehicleGroup + +from game import db, Game +from game.theater.theatergroundobject import CoastalSiteGroundObject +from gen.to_remove.silkworm import SilkwormGenerator + +COASTAL_MAP = { + "SilkwormGenerator": SilkwormGenerator, +} diff --git a/gen/sam/cold_war_flak.py b/gen/to_remove/cold_war_flak.py similarity index 97% rename from gen/sam/cold_war_flak.py rename to gen/to_remove/cold_war_flak.py index bb538434..583be9dd 100644 --- a/gen/sam/cold_war_flak.py +++ b/gen/to_remove/cold_war_flak.py @@ -2,8 +2,8 @@ import random from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/fleet/dd_group.py b/gen/to_remove/dd_group.py similarity index 96% rename from gen/fleet/dd_group.py rename to gen/to_remove/dd_group.py index db766a0d..2a1a11ab 100644 --- a/gen/fleet/dd_group.py +++ b/gen/to_remove/dd_group.py @@ -7,7 +7,7 @@ from dcs.unittype import ShipType from game.factions.faction import Faction from game.theater.theatergroundobject import ShipGroundObject -from gen.sam.group_generator import ShipGroupGenerator +from gen.group_generator import ShipGroupGenerator if TYPE_CHECKING: from game.game import Game diff --git a/gen/to_remove/ewr_group_generator.py b/gen/to_remove/ewr_group_generator.py new file mode 100644 index 00000000..d7a83dd8 --- /dev/null +++ b/gen/to_remove/ewr_group_generator.py @@ -0,0 +1,27 @@ +from gen.to_remove.ewrs import ( + BigBirdGenerator, + BoxSpringGenerator, + DogEarGenerator, + FlatFaceGenerator, + HawkEwrGenerator, + PatriotEwrGenerator, + RolandEwrGenerator, + SnowDriftGenerator, + StraightFlushGenerator, + TallRackGenerator, + TinShieldGenerator, +) + +EWR_MAP = { + "BoxSpringGenerator": BoxSpringGenerator, + "TallRackGenerator": TallRackGenerator, + "DogEarGenerator": DogEarGenerator, + "RolandEwrGenerator": RolandEwrGenerator, + "FlatFaceGenerator": FlatFaceGenerator, + "PatriotEwrGenerator": PatriotEwrGenerator, + "BigBirdGenerator": BigBirdGenerator, + "SnowDriftGenerator": SnowDriftGenerator, + "StraightFlushGenerator": StraightFlushGenerator, + "HawkEwrGenerator": HawkEwrGenerator, + "TinShieldGenerator": TinShieldGenerator, +} diff --git a/gen/sam/ewrs.py b/gen/to_remove/ewrs.py similarity index 94% rename from gen/sam/ewrs.py rename to gen/to_remove/ewrs.py index 854337b6..8857880e 100644 --- a/gen/sam/ewrs.py +++ b/gen/to_remove/ewrs.py @@ -4,11 +4,11 @@ from dcs.unittype import VehicleType from dcs.vehicles import AirDefence from game.theater.theatergroundobject import EwrGroundObject -from gen.sam.group_generator import VehicleGroupGenerator +from gen.group_generator import VehicleGroupGenerator class EwrGenerator(VehicleGroupGenerator[EwrGroundObject]): - unit_type: Type[VehicleType] + unit_type: Type[VehicleType] = AirDefence.P_19_s_125_sr @classmethod def name(cls) -> str: @@ -20,7 +20,7 @@ class EwrGenerator(VehicleGroupGenerator[EwrGroundObject]): "EWR", self.position.x, self.position.y, - self.heading_to_conflict(), + self.heading, ) diff --git a/gen/sam/freya_ewr.py b/gen/to_remove/freya_ewr.py similarity index 96% rename from gen/sam/freya_ewr.py rename to gen/to_remove/freya_ewr.py index e484d53e..26c4c911 100644 --- a/gen/sam/freya_ewr.py +++ b/gen/to_remove/freya_ewr.py @@ -1,7 +1,7 @@ from dcs.vehicles import AirDefence, Infantry, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) from game.utils import Heading diff --git a/gen/fleet/lacombattanteII.py b/gen/to_remove/lacombattanteII.py similarity index 89% rename from gen/fleet/lacombattanteII.py rename to gen/to_remove/lacombattanteII.py index bd476f45..53b529dd 100644 --- a/gen/fleet/lacombattanteII.py +++ b/gen/to_remove/lacombattanteII.py @@ -3,7 +3,7 @@ from dcs.ships import La_Combattante_II from game import Game from game.factions.faction import Faction from game.theater.theatergroundobject import ShipGroundObject -from gen.fleet.dd_group import DDGroupGenerator +from gen.to_remove.dd_group import DDGroupGenerator class LaCombattanteIIGroupGenerator(DDGroupGenerator): diff --git a/gen/to_remove/lha_group.py b/gen/to_remove/lha_group.py new file mode 100644 index 00000000..0719503f --- /dev/null +++ b/gen/to_remove/lha_group.py @@ -0,0 +1,39 @@ +import random + +import dcs.ships +from dcs import Point + +from gen.group_generator import ShipGroupGenerator + + +class LHAGroupGenerator(ShipGroupGenerator): + def generate(self) -> None: + + # Add carrier + self.add_unit( + dcs.ships.LHA_Tarawa, + "LHA", + self.position.x, + self.position.y, + self.heading, + ) + + # Add destroyers escort + aux_group = self.add_auxiliary_group() + dd_type = dcs.ships.USS_Arleigh_Burke_IIa + self.add_unit_to_group( + aux_group, + dd_type, + "DD1", + Point(self.position.x + 1250, self.position.y + 1450), + self.heading, + ) + self.add_unit_to_group( + aux_group, + dd_type, + "DD2", + Point(self.position.x + 1250, self.position.y - 1450), + self.heading, + ) + + self.get_generated_group().points[0].speed = 20 diff --git a/gen/to_remove/missiles_group_generator.py b/gen/to_remove/missiles_group_generator.py new file mode 100644 index 00000000..ac5fafcc --- /dev/null +++ b/gen/to_remove/missiles_group_generator.py @@ -0,0 +1,12 @@ +import logging +import random +from typing import Optional + +from dcs.unitgroup import VehicleGroup + +from game import db, Game +from game.theater.theatergroundobject import MissileSiteGroundObject +from gen.to_remove.scud_site import ScudGenerator +from gen.to_remove.v1_group import V1GroupGenerator + +MISSILES_MAP = {"V1GroupGenerator": V1GroupGenerator, "ScudGenerator": ScudGenerator} diff --git a/gen/to_remove/ru_dd_group.py b/gen/to_remove/ru_dd_group.py new file mode 100644 index 00000000..5c3d9b3d --- /dev/null +++ b/gen/to_remove/ru_dd_group.py @@ -0,0 +1,92 @@ +from __future__ import annotations + +import random +from typing import TYPE_CHECKING + +from dcs.ships import ( + ALBATROS, + MOLNIYA, + NEUSTRASH, + REZKY, + MOSCOW, + KILO, + SOM, +) + +from game.factions.faction import Faction +from game.theater.theatergroundobject import ShipGroundObject +from gen.to_remove.dd_group import DDGroupGenerator +from gen.group_generator import ShipGroupGenerator + +if TYPE_CHECKING: + from game.game import Game + + +class RussianNavyGroupGenerator(ShipGroupGenerator): + def generate(self) -> None: + + self.add_unit( + ALBATROS, + "FF1", + self.position.x + 1200, + self.position.y + 900, + self.heading, + ) + self.add_unit( + ALBATROS, + "FF2", + self.position.x + 1200, + self.position.y - 900, + self.heading, + ) + + self.add_unit( + NEUSTRASH, + "DD1", + self.position.x + 2400, + self.position.y + 900, + self.heading, + ) + self.add_unit( + NEUSTRASH, + "DD2", + self.position.x + 2400, + self.position.y - 900, + self.heading, + ) + + # 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( + MOSCOW, + "CC1", + self.position.x, + self.position.y, + self.heading, + ) + + self.get_generated_group().points[0].speed = 20 + + +class GrishaGroupGenerator(DDGroupGenerator): + def __init__(self, game: Game, ground_object: ShipGroundObject, faction: Faction): + super(GrishaGroupGenerator, self).__init__( + game, ground_object, faction, ALBATROS + ) + + +class MolniyaGroupGenerator(DDGroupGenerator): + def __init__(self, game: Game, ground_object: ShipGroundObject, faction: Faction): + super(MolniyaGroupGenerator, self).__init__( + game, ground_object, faction, MOLNIYA + ) + + +class KiloSubGroupGenerator(DDGroupGenerator): + def __init__(self, game: Game, ground_object: ShipGroundObject, faction: Faction): + super(KiloSubGroupGenerator, self).__init__(game, ground_object, faction, KILO) + + +class TangoSubGroupGenerator(DDGroupGenerator): + def __init__(self, game: Game, ground_object: ShipGroundObject, faction: Faction): + super(TangoSubGroupGenerator, self).__init__(game, ground_object, faction, SOM) diff --git a/gen/sam/sam_avenger.py b/gen/to_remove/sam_avenger.py similarity index 88% rename from gen/sam/sam_avenger.py rename to gen/to_remove/sam_avenger.py index ac72b709..92b60e84 100644 --- a/gen/sam/sam_avenger.py +++ b/gen/to_remove/sam_avenger.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_chaparral.py b/gen/to_remove/sam_chaparral.py similarity index 88% rename from gen/sam/sam_chaparral.py rename to gen/to_remove/sam_chaparral.py index 2a746f95..4e145a79 100644 --- a/gen/sam/sam_chaparral.py +++ b/gen/to_remove/sam_chaparral.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_gepard.py b/gen/to_remove/sam_gepard.py similarity index 88% rename from gen/sam/sam_gepard.py rename to gen/to_remove/sam_gepard.py index 05b04068..20fe67ae 100644 --- a/gen/sam/sam_gepard.py +++ b/gen/to_remove/sam_gepard.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_group_generator.py b/gen/to_remove/sam_group_generator.py similarity index 69% rename from gen/sam/sam_group_generator.py rename to gen/to_remove/sam_group_generator.py index 5d12bb30..7935ef82 100644 --- a/gen/sam/sam_group_generator.py +++ b/gen/to_remove/sam_group_generator.py @@ -5,34 +5,33 @@ from dcs.unitgroup import VehicleGroup from game import Game from game.factions.faction import Faction -from game.theater.theatergroundobject import SamGroundObject -from gen.sam.aaa_bofors import BoforsGenerator -from gen.sam.aaa_flak import FlakGenerator -from gen.sam.aaa_flak18 import Flak18Generator -from gen.sam.aaa_ks19 import KS19Generator -from gen.sam.aaa_ww2_ally_flak import AllyWW2FlakGenerator -from gen.sam.aaa_zsu57 import ZSU57Generator -from gen.sam.aaa_zu23_insurgent import ZU23InsurgentGenerator -from gen.sam.airdefensegroupgenerator import ( +from game.theater.theatergroundobject import SamGroundObject, AirDefenseRange +from gen.to_remove.aaa_bofors import BoforsGenerator +from gen.to_remove.aaa_flak import FlakGenerator +from gen.to_remove.aaa_flak18 import Flak18Generator +from gen.to_remove.aaa_ks19 import KS19Generator +from gen.to_remove.aaa_ww2_ally_flak import AllyWW2FlakGenerator +from gen.to_remove.aaa_zsu57 import ZSU57Generator +from gen.to_remove.aaa_zu23_insurgent import ZU23InsurgentGenerator +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, - AirDefenseRange, ) -from gen.sam.cold_war_flak import ( +from gen.to_remove.cold_war_flak import ( ColdWarFlakGenerator, EarlyColdWarFlakGenerator, ) -from gen.sam.freya_ewr import FreyaGenerator -from gen.sam.sam_avenger import AvengerGenerator -from gen.sam.sam_chaparral import ChaparralGenerator -from gen.sam.sam_gepard import GepardGenerator -from gen.sam.sam_hawk import HawkGenerator -from gen.sam.sam_hq7 import HQ7Generator -from gen.sam.sam_linebacker import LinebackerGenerator -from gen.sam.sam_nasams import NasamBGenerator, NasamCGenerator -from gen.sam.sam_patriot import PatriotGenerator -from gen.sam.sam_rapier import RapierGenerator -from gen.sam.sam_roland import RolandGenerator -from gen.sam.sam_sa10 import ( +from gen.to_remove.freya_ewr import FreyaGenerator +from gen.to_remove.sam_avenger import AvengerGenerator +from gen.to_remove.sam_chaparral import ChaparralGenerator +from gen.to_remove.sam_gepard import GepardGenerator +from gen.to_remove.sam_hawk import HawkGenerator +from gen.to_remove.sam_hq7 import HQ7Generator +from gen.to_remove.sam_linebacker import LinebackerGenerator +from gen.to_remove.sam_nasams import NasamBGenerator, NasamCGenerator +from gen.to_remove.sam_patriot import PatriotGenerator +from gen.to_remove.sam_rapier import RapierGenerator +from gen.to_remove.sam_roland import RolandGenerator +from gen.to_remove.sam_sa10 import ( SA10Generator, Tier2SA10Generator, Tier3SA10Generator, @@ -42,22 +41,22 @@ from gen.sam.sam_sa10 import ( SA20BGenerator, SA23Generator, ) -from gen.sam.sam_sa11 import SA11Generator -from gen.sam.sam_sa13 import SA13Generator -from gen.sam.sam_sa15 import SA15Generator -from gen.sam.sam_sa17 import SA17Generator -from gen.sam.sam_sa19 import SA19Generator -from gen.sam.sam_sa2 import SA2Generator -from gen.sam.sam_sa3 import SA3Generator -from gen.sam.sam_sa5 import SA5Generator, SA5FlatFaceGenerator -from gen.sam.sam_sa6 import SA6Generator -from gen.sam.sam_sa8 import SA8Generator -from gen.sam.sam_sa9 import SA9Generator -from gen.sam.sam_vulcan import VulcanGenerator -from gen.sam.sam_zsu23 import ZSU23Generator -from gen.sam.sam_zu23 import ZU23Generator -from gen.sam.sam_zu23_ural import ZU23UralGenerator -from gen.sam.sam_zu23_ural_insurgent import ZU23UralInsurgentGenerator +from gen.to_remove.sam_sa11 import SA11Generator +from gen.to_remove.sam_sa13 import SA13Generator +from gen.to_remove.sam_sa15 import SA15Generator +from gen.to_remove.sam_sa17 import SA17Generator +from gen.to_remove.sam_sa19 import SA19Generator +from gen.to_remove.sam_sa2 import SA2Generator +from gen.to_remove.sam_sa3 import SA3Generator +from gen.to_remove.sam_sa5 import SA5Generator, SA5FlatFaceGenerator +from gen.to_remove.sam_sa6 import SA6Generator +from gen.to_remove.sam_sa8 import SA8Generator +from gen.to_remove.sam_sa9 import SA9Generator +from gen.to_remove.sam_vulcan import VulcanGenerator +from gen.to_remove.sam_zsu23 import ZSU23Generator +from gen.to_remove.sam_zu23 import ZU23Generator +from gen.to_remove.sam_zu23_ural import ZU23UralGenerator +from gen.to_remove.sam_zu23_ural_insurgent import ZU23UralInsurgentGenerator SAM_MAP: Dict[str, Type[AirDefenseGroupGenerator]] = { "HawkGenerator": HawkGenerator, diff --git a/gen/sam/sam_hawk.py b/gen/to_remove/sam_hawk.py similarity index 92% rename from gen/sam/sam_hawk.py rename to gen/to_remove/sam_hawk.py index f65faf09..808d6aef 100644 --- a/gen/sam/sam_hawk.py +++ b/gen/to_remove/sam_hawk.py @@ -1,12 +1,9 @@ -import random - from dcs.mapping import Point from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange, SkynetRole +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, - SkynetRole, ) diff --git a/gen/sam/sam_hq7.py b/gen/to_remove/sam_hq7.py similarity index 92% rename from gen/sam/sam_hq7.py rename to gen/to_remove/sam_hq7.py index 89a81097..6c850108 100644 --- a/gen/sam/sam_hq7.py +++ b/gen/to_remove/sam_hq7.py @@ -1,12 +1,9 @@ -import random - from dcs.mapping import Point from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange, SkynetRole +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, - SkynetRole, ) diff --git a/gen/sam/sam_linebacker.py b/gen/to_remove/sam_linebacker.py similarity index 88% rename from gen/sam/sam_linebacker.py rename to gen/to_remove/sam_linebacker.py index 397c38a7..b8fefde0 100644 --- a/gen/sam/sam_linebacker.py +++ b/gen/to_remove/sam_linebacker.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_nasams.py b/gen/to_remove/sam_nasams.py similarity index 93% rename from gen/sam/sam_nasams.py rename to gen/to_remove/sam_nasams.py index 62bbf60c..4181ef58 100644 --- a/gen/sam/sam_nasams.py +++ b/gen/to_remove/sam_nasams.py @@ -1,13 +1,12 @@ from typing import Type -from dcs.mapping import Point from dcs.unittype import VehicleType from dcs.vehicles import AirDefence from game import Game from game.theater import SamGroundObject -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_patriot.py b/gen/to_remove/sam_patriot.py similarity index 95% rename from gen/sam/sam_patriot.py rename to gen/to_remove/sam_patriot.py index 55c4be2b..f88d845c 100644 --- a/gen/sam/sam_patriot.py +++ b/gen/to_remove/sam_patriot.py @@ -1,10 +1,9 @@ from dcs.mapping import Point from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import SkynetRole, AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, - SkynetRole, ) diff --git a/gen/sam/sam_rapier.py b/gen/to_remove/sam_rapier.py similarity index 90% rename from gen/sam/sam_rapier.py rename to gen/to_remove/sam_rapier.py index aac88d64..30e67400 100644 --- a/gen/sam/sam_rapier.py +++ b/gen/to_remove/sam_rapier.py @@ -1,11 +1,8 @@ -import random - from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import SkynetRole, AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, - SkynetRole, ) diff --git a/gen/sam/sam_roland.py b/gen/to_remove/sam_roland.py similarity index 90% rename from gen/sam/sam_roland.py rename to gen/to_remove/sam_roland.py index 57c3ab0e..006e77ac 100644 --- a/gen/sam/sam_roland.py +++ b/gen/to_remove/sam_roland.py @@ -1,9 +1,8 @@ from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import SkynetRole, AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, - SkynetRole, ) diff --git a/gen/sam/sam_sa10.py b/gen/to_remove/sam_sa10.py similarity index 98% rename from gen/sam/sam_sa10.py rename to gen/to_remove/sam_sa10.py index 6b277bfa..0be9694a 100644 --- a/gen/sam/sam_sa10.py +++ b/gen/to_remove/sam_sa10.py @@ -6,10 +6,9 @@ from dcs.vehicles import AirDefence from game import Game from game.theater import SamGroundObject -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import SkynetRole, AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, - SkynetRole, ) from pydcs_extensions.highdigitsams import highdigitsams diff --git a/gen/sam/sam_sa11.py b/gen/to_remove/sam_sa11.py similarity index 90% rename from gen/sam/sam_sa11.py rename to gen/to_remove/sam_sa11.py index 873ee0d5..e4c13bc8 100644 --- a/gen/sam/sam_sa11.py +++ b/gen/to_remove/sam_sa11.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_sa13.py b/gen/to_remove/sam_sa13.py similarity index 90% rename from gen/sam/sam_sa13.py rename to gen/to_remove/sam_sa13.py index 0c81e042..a88af0ed 100644 --- a/gen/sam/sam_sa13.py +++ b/gen/to_remove/sam_sa13.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_sa15.py b/gen/to_remove/sam_sa15.py similarity index 90% rename from gen/sam/sam_sa15.py rename to gen/to_remove/sam_sa15.py index c0a6d852..658518f8 100644 --- a/gen/sam/sam_sa15.py +++ b/gen/to_remove/sam_sa15.py @@ -1,7 +1,7 @@ from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_sa17.py b/gen/to_remove/sam_sa17.py similarity index 90% rename from gen/sam/sam_sa17.py rename to gen/to_remove/sam_sa17.py index 1544a043..a67652de 100644 --- a/gen/sam/sam_sa17.py +++ b/gen/to_remove/sam_sa17.py @@ -1,7 +1,7 @@ from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) from pydcs_extensions.highdigitsams import highdigitsams diff --git a/gen/sam/sam_sa19.py b/gen/to_remove/sam_sa19.py similarity index 89% rename from gen/sam/sam_sa19.py rename to gen/to_remove/sam_sa19.py index 8611a310..4b78db21 100644 --- a/gen/sam/sam_sa19.py +++ b/gen/to_remove/sam_sa19.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_sa2.py b/gen/to_remove/sam_sa2.py similarity index 90% rename from gen/sam/sam_sa2.py rename to gen/to_remove/sam_sa2.py index 0d2546c5..76159a41 100644 --- a/gen/sam/sam_sa2.py +++ b/gen/to_remove/sam_sa2.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_sa3.py b/gen/to_remove/sam_sa3.py similarity index 90% rename from gen/sam/sam_sa3.py rename to gen/to_remove/sam_sa3.py index b75555d1..f86943d3 100644 --- a/gen/sam/sam_sa3.py +++ b/gen/to_remove/sam_sa3.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_sa5.py b/gen/to_remove/sam_sa5.py similarity index 92% rename from gen/sam/sam_sa5.py rename to gen/to_remove/sam_sa5.py index 0388479d..7a7c972b 100644 --- a/gen/sam/sam_sa5.py +++ b/gen/to_remove/sam_sa5.py @@ -5,8 +5,8 @@ from dcs.vehicles import AirDefence, Unarmed from game import Game from game.theater import SamGroundObject -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) @@ -70,6 +70,8 @@ class SA5FlatFaceGenerator(SA5Generator): This generate a SA-5 group using the P-19 FlatFace SR """ + name = "SA-5/S-200 Site wit FlatFace SR" + def __init__(self, game: Game, ground_object: SamGroundObject): super().__init__(game, ground_object) self.sr: Type[VehicleType] = AirDefence.P_19_s_125_sr diff --git a/gen/sam/sam_sa6.py b/gen/to_remove/sam_sa6.py similarity index 88% rename from gen/sam/sam_sa6.py rename to gen/to_remove/sam_sa6.py index af9a6ffc..eff1c02f 100644 --- a/gen/sam/sam_sa6.py +++ b/gen/to_remove/sam_sa6.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_sa8.py b/gen/to_remove/sam_sa8.py similarity index 88% rename from gen/sam/sam_sa8.py rename to gen/to_remove/sam_sa8.py index 35afab86..855fe903 100644 --- a/gen/sam/sam_sa8.py +++ b/gen/to_remove/sam_sa8.py @@ -1,7 +1,7 @@ from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_sa9.py b/gen/to_remove/sam_sa9.py similarity index 90% rename from gen/sam/sam_sa9.py rename to gen/to_remove/sam_sa9.py index 6ee35518..db18dbe2 100644 --- a/gen/sam/sam_sa9.py +++ b/gen/to_remove/sam_sa9.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_vulcan.py b/gen/to_remove/sam_vulcan.py similarity index 88% rename from gen/sam/sam_vulcan.py rename to gen/to_remove/sam_vulcan.py index 9a458db0..4c3e1732 100644 --- a/gen/sam/sam_vulcan.py +++ b/gen/to_remove/sam_vulcan.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_zsu23.py b/gen/to_remove/sam_zsu23.py similarity index 88% rename from gen/sam/sam_zsu23.py rename to gen/to_remove/sam_zsu23.py index 5e64d5df..7434cfab 100644 --- a/gen/sam/sam_zsu23.py +++ b/gen/to_remove/sam_zsu23.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_zu23.py b/gen/to_remove/sam_zu23.py similarity index 89% rename from gen/sam/sam_zu23.py rename to gen/to_remove/sam_zu23.py index 2a2e2f4b..1880cb32 100644 --- a/gen/sam/sam_zu23.py +++ b/gen/to_remove/sam_zu23.py @@ -2,8 +2,8 @@ import random from dcs.vehicles import AirDefence, Unarmed -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_zu23_ural.py b/gen/to_remove/sam_zu23_ural.py similarity index 86% rename from gen/sam/sam_zu23_ural.py rename to gen/to_remove/sam_zu23_ural.py index 85ca1d20..c7b01ae5 100644 --- a/gen/sam/sam_zu23_ural.py +++ b/gen/to_remove/sam_zu23_ural.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/sam/sam_zu23_ural_insurgent.py b/gen/to_remove/sam_zu23_ural_insurgent.py similarity index 86% rename from gen/sam/sam_zu23_ural_insurgent.py rename to gen/to_remove/sam_zu23_ural_insurgent.py index 7d70300a..92c167ee 100644 --- a/gen/sam/sam_zu23_ural_insurgent.py +++ b/gen/to_remove/sam_zu23_ural_insurgent.py @@ -1,9 +1,7 @@ -import random - from dcs.vehicles import AirDefence -from gen.sam.airdefensegroupgenerator import ( - AirDefenseRange, +from game.theater.theatergroundobject import AirDefenseRange +from gen.to_remove.airdefensegroupgenerator import ( AirDefenseGroupGenerator, ) diff --git a/gen/fleet/schnellboot.py b/gen/to_remove/schnellboot.py similarity index 90% rename from gen/fleet/schnellboot.py rename to gen/to_remove/schnellboot.py index d5fe16a6..04cce7c3 100644 --- a/gen/fleet/schnellboot.py +++ b/gen/to_remove/schnellboot.py @@ -2,7 +2,7 @@ import random from dcs.ships import Schnellboot_type_S130 -from gen.sam.group_generator import ShipGroupGenerator +from gen.group_generator import ShipGroupGenerator class SchnellbootGroupGenerator(ShipGroupGenerator): diff --git a/gen/missiles/scud_site.py b/gen/to_remove/scud_site.py similarity index 96% rename from gen/missiles/scud_site.py rename to gen/to_remove/scud_site.py index c57b43e3..1d03649d 100644 --- a/gen/missiles/scud_site.py +++ b/gen/to_remove/scud_site.py @@ -6,7 +6,7 @@ from game import Game from game.factions.faction import Faction from game.theater.theatergroundobject import MissileSiteGroundObject from game.utils import Heading -from gen.sam.group_generator import VehicleGroupGenerator +from gen.group_generator import VehicleGroupGenerator class ScudGenerator(VehicleGroupGenerator[MissileSiteGroundObject]): diff --git a/gen/to_remove/ship_group_generator.py b/gen/to_remove/ship_group_generator.py new file mode 100644 index 00000000..92ee198c --- /dev/null +++ b/gen/to_remove/ship_group_generator.py @@ -0,0 +1,52 @@ +from __future__ import annotations + +import logging +import random +from typing import TYPE_CHECKING, Optional + +from dcs.unitgroup import ShipGroup + +from game import db +from game.theater.theatergroundobject import ( + LhaGroundObject, + CarrierGroundObject, + ShipGroundObject, +) +from gen.to_remove.carrier_group import CarrierGroupGenerator +from gen.to_remove.cn_dd_group import ChineseNavyGroupGenerator, Type54GroupGenerator +from gen.to_remove.dd_group import ( + ArleighBurkeGroupGenerator, + OliverHazardPerryGroupGenerator, +) +from gen.to_remove.lacombattanteII import LaCombattanteIIGroupGenerator +from gen.to_remove.lha_group import LHAGroupGenerator +from gen.to_remove.ru_dd_group import ( + RussianNavyGroupGenerator, + GrishaGroupGenerator, + MolniyaGroupGenerator, + KiloSubGroupGenerator, + TangoSubGroupGenerator, +) +from gen.to_remove.schnellboot import SchnellbootGroupGenerator +from gen.to_remove.uboat import UBoatGroupGenerator +from gen.to_remove.ww2lst import WW2LSTGroupGenerator + +if TYPE_CHECKING: + from game import Game + + +SHIP_MAP = { + "SchnellbootGroupGenerator": SchnellbootGroupGenerator, + "WW2LSTGroupGenerator": WW2LSTGroupGenerator, + "UBoatGroupGenerator": UBoatGroupGenerator, + "OliverHazardPerryGroupGenerator": OliverHazardPerryGroupGenerator, + "ArleighBurkeGroupGenerator": ArleighBurkeGroupGenerator, + "RussianNavyGroupGenerator": RussianNavyGroupGenerator, + "ChineseNavyGroupGenerator": ChineseNavyGroupGenerator, + "GrishaGroupGenerator": GrishaGroupGenerator, + "MolniyaGroupGenerator": MolniyaGroupGenerator, + "KiloSubGroupGenerator": KiloSubGroupGenerator, + "TangoSubGroupGenerator": TangoSubGroupGenerator, + "Type54GroupGenerator": Type54GroupGenerator, + "LaCombattanteIIGroupGenerator": LaCombattanteIIGroupGenerator, +} diff --git a/gen/coastal/silkworm.py b/gen/to_remove/silkworm.py similarity index 96% rename from gen/coastal/silkworm.py rename to gen/to_remove/silkworm.py index b0fb98c5..7d042f69 100644 --- a/gen/coastal/silkworm.py +++ b/gen/to_remove/silkworm.py @@ -4,7 +4,7 @@ from game import Game from game.factions.faction import Faction from game.theater.theatergroundobject import CoastalSiteGroundObject from game.utils import Heading -from gen.sam.group_generator import VehicleGroupGenerator +from gen.group_generator import VehicleGroupGenerator class SilkwormGenerator(VehicleGroupGenerator[CoastalSiteGroundObject]): diff --git a/gen/fleet/uboat.py b/gen/to_remove/uboat.py similarity index 90% rename from gen/fleet/uboat.py rename to gen/to_remove/uboat.py index ee8c3114..48e6c7a6 100644 --- a/gen/fleet/uboat.py +++ b/gen/to_remove/uboat.py @@ -2,7 +2,7 @@ import random from dcs.ships import Uboat_VIIC -from gen.sam.group_generator import ShipGroupGenerator +from gen.group_generator import ShipGroupGenerator class UBoatGroupGenerator(ShipGroupGenerator): diff --git a/gen/missiles/v1_group.py b/gen/to_remove/v1_group.py similarity index 96% rename from gen/missiles/v1_group.py rename to gen/to_remove/v1_group.py index e42a94fe..1374d1f6 100644 --- a/gen/missiles/v1_group.py +++ b/gen/to_remove/v1_group.py @@ -6,7 +6,7 @@ from game import Game from game.factions.faction import Faction from game.theater.theatergroundobject import MissileSiteGroundObject from game.utils import Heading -from gen.sam.group_generator import VehicleGroupGenerator +from gen.group_generator import VehicleGroupGenerator class V1GroupGenerator(VehicleGroupGenerator[MissileSiteGroundObject]): diff --git a/gen/fleet/ww2lst.py b/gen/to_remove/ww2lst.py similarity index 92% rename from gen/fleet/ww2lst.py rename to gen/to_remove/ww2lst.py index e3ac7de6..0ff74dcf 100644 --- a/gen/fleet/ww2lst.py +++ b/gen/to_remove/ww2lst.py @@ -2,7 +2,7 @@ import random from dcs.ships import USS_Samuel_Chase, LST_Mk2 -from gen.sam.group_generator import ShipGroupGenerator +from gen.group_generator import ShipGroupGenerator class WW2LSTGroupGenerator(ShipGroupGenerator):