diff --git a/game/ato/flight.py b/game/ato/flight.py index 51417949..0f739228 100644 --- a/game/ato/flight.py +++ b/game/ato/flight.py @@ -194,9 +194,7 @@ class Flight(SidcDescribable): def abort(self) -> None: from .flightplans.rtb import RtbFlightPlan - self.flight_plan = RtbFlightPlan.builder_type()( - self, self.coalition.game.theater - ).build() + self.flight_plan = RtbFlightPlan.builder_type()(self).build() self.set_state( Navigating( diff --git a/game/ato/flightplans/flightplanbuilder.py b/game/ato/flightplans/flightplanbuilder.py index 4dd45a73..dc021f65 100644 --- a/game/ato/flightplans/flightplanbuilder.py +++ b/game/ato/flightplans/flightplanbuilder.py @@ -108,4 +108,4 @@ class FlightPlanBuilder: ) from ex def generate_flight_plan(self, flight: Flight) -> FlightPlan[Any]: - return self.builder_type(flight)(flight, self.theater).build() + return self.builder_type(flight)(flight).build() diff --git a/game/ato/flightplans/ibuilder.py b/game/ato/flightplans/ibuilder.py index 801f2ad6..714b4862 100644 --- a/game/ato/flightplans/ibuilder.py +++ b/game/ato/flightplans/ibuilder.py @@ -19,9 +19,12 @@ LayoutT = TypeVar("LayoutT", bound=Layout) class IBuilder(ABC, Generic[FlightPlanT, LayoutT]): - def __init__(self, flight: Flight, theater: ConflictTheater) -> None: + def __init__(self, flight: Flight) -> None: self.flight = flight - self.theater = theater + + @property + def theater(self) -> ConflictTheater: + return self.flight.departure.theater @abstractmethod def layout(self) -> LayoutT: