dcs-retribution/gen/to_remove/sam_roland.py
RndName 6baf36c587 Prepare the generators for template migration
adopt armor and ship generators for randomization
2022-02-21 20:45:41 +01:00

52 lines
1.3 KiB
Python

from dcs.vehicles import AirDefence, Unarmed
from game.theater.theatergroundobject import SkynetRole, AirDefenseRange
from gen.to_remove.airdefensegroupgenerator import (
AirDefenseGroupGenerator,
)
class RolandGenerator(AirDefenseGroupGenerator):
"""
This generate a Roland group
"""
name = "Roland Site"
def generate(self) -> None:
num_launchers = 2
self.add_unit(
AirDefence.Roland_Radar,
"EWR",
self.position.x + 40,
self.position.y,
self.heading,
)
positions = self.get_circular_position(
num_launchers, launcher_distance=80, coverage=240
)
for i, position in enumerate(positions):
self.add_unit(
AirDefence.Roland_ADS,
"ADS#" + str(i),
position[0],
position[1],
position[2],
)
self.add_unit(
Unarmed.M_818,
"TRUCK",
self.position.x + 80,
self.position.y,
self.heading,
)
@classmethod
def range(cls) -> AirDefenseRange:
return AirDefenseRange.Short
@classmethod
def primary_group_role(cls) -> SkynetRole:
return SkynetRole.Sam