mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
125 lines
3.3 KiB
Python
125 lines
3.3 KiB
Python
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
|