From bcdf2ad887c76d68dddc6aa1b720312d7e192e68 Mon Sep 17 00:00:00 2001 From: Raffson Date: Sun, 15 Oct 2023 12:57:28 +0200 Subject: [PATCH] Fix wrong logic wrt hold WPT & air-assault --- game/ato/flightplans/escort.py | 4 ++-- game/ato/flightplans/formationattack.py | 8 +++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/game/ato/flightplans/escort.py b/game/ato/flightplans/escort.py index fe3e7797..b89663b9 100644 --- a/game/ato/flightplans/escort.py +++ b/game/ato/flightplans/escort.py @@ -49,8 +49,8 @@ class Builder(FormationAttackBuilder[EscortFlightPlan, FormationAttackLayout]): elif self.package.primary_flight is not None: fp = self.package.primary_flight.flight_plan assert isinstance(fp.layout, AirAssaultLayout) - assert fp.layout.pickup is not None - hold = builder.hold(fp.layout.pickup.position) + if fp.layout.pickup: + hold = builder.hold(fp.layout.pickup.position) join = builder.join(self.package.waypoints.join) split = builder.split(self.package.waypoints.split) diff --git a/game/ato/flightplans/formationattack.py b/game/ato/flightplans/formationattack.py index b8f85758..c684d763 100644 --- a/game/ato/flightplans/formationattack.py +++ b/game/ato/flightplans/formationattack.py @@ -188,7 +188,7 @@ class FormationAttackBuilder(IBuilder[FlightPlanT, LayoutT], ABC): hold = None join = None - if self.primary_flight_is_air_assault: + if not self.primary_flight_is_air_assault: hold = builder.hold(self._hold_point()) join = builder.join(self.package.waypoints.join) split = builder.split(self.package.waypoints.split) @@ -255,13 +255,11 @@ class FormationAttackBuilder(IBuilder[FlightPlanT, LayoutT], ABC): @property def primary_flight_is_air_assault(self) -> bool: if self.flight is self.package.primary_flight: - return True + return self.flight.flight_type == FlightType.AIR_ASSAULT else: assert self.package.primary_flight is not None fp = self.package.primary_flight.flight_plan - if fp.is_airassault: - return True - return False + return fp.is_airassault @staticmethod def target_waypoint(