Link landing wpt to pad in flightgroupspawner

Fixes a bug where helipads would try to pop from an empty list
This commit is contained in:
Raffson 2023-06-25 03:21:58 +02:00
parent 768f2dbc57
commit 51fc0215d6
No known key found for this signature in database
GPG Key ID: B0402B2C9B764D99
2 changed files with 8 additions and 9 deletions

View File

@ -29,7 +29,6 @@ from game.settings import Settings
from game.theater.controlpoint import ( from game.theater.controlpoint import (
Airfield, Airfield,
ControlPoint, ControlPoint,
Fob,
) )
from game.unitmap import UnitMap from game.unitmap import UnitMap
from .aircraftpainter import AircraftPainter from .aircraftpainter import AircraftPainter
@ -231,13 +230,6 @@ class AircraftGenerator:
).configure() ).configure()
) )
wpt = group.waypoint("LANDING")
if flight.is_helo and isinstance(flight.arrival, Fob) and wpt:
hpad = self.helipads[flight.arrival].pop(0)
wpt.helipad_id = hpad.units[0].id
wpt.link_unit = hpad.units[0].id
self.helipads[flight.arrival].append(hpad)
if self.ewrj: if self.ewrj:
self._track_ewrj_flight(flight, group) self._track_ewrj_flight(flight, group)

View File

@ -9,7 +9,7 @@ from dcs.mission import StartType as DcsStartType
from dcs.planes import F_14A, Su_33 from dcs.planes import F_14A, Su_33
from dcs.point import PointAction from dcs.point import PointAction
from dcs.ships import KUZNECOW from dcs.ships import KUZNECOW
from dcs.terrain import Airport, NoParkingSlotError from dcs.terrain import NoParkingSlotError
from dcs.unitgroup import FlyingGroup, ShipGroup, StaticGroup from dcs.unitgroup import FlyingGroup, ShipGroup, StaticGroup
from game.ato import Flight from game.ato import Flight
@ -310,6 +310,13 @@ class FlightGroupSpawner:
group.points[0].action = PointAction.FromGroundAreaHot group.points[0].action = PointAction.FromGroundAreaHot
group.points[0].type = "TakeOffGroundHot" group.points[0].type = "TakeOffGroundHot"
wpt = group.waypoint("LANDING")
if wpt:
hpad = self.helipads[self.flight.arrival].pop(0)
wpt.helipad_id = hpad.units[0].id
wpt.link_unit = hpad.units[0].id
self.helipads[self.flight.arrival].append(hpad)
for i in range(self.flight.count - 1): for i in range(self.flight.count - 1):
try: try:
helipad = self.helipads[cp].pop() helipad = self.helipads[cp].pop()