From 8fea8e7b4797a892312c44195c4f61b9c23c400b Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 28 Aug 2021 18:03:33 -0700 Subject: [PATCH] Move squadron end-turn behavior into the squadron. --- game/coalition.py | 2 +- game/squadrons/airwing.py | 4 ++-- game/squadrons/squadron.py | 4 ++++ game/theater/controlpoint.py | 2 -- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/game/coalition.py b/game/coalition.py index e15d916d..4ccc9128 100644 --- a/game/coalition.py +++ b/game/coalition.py @@ -139,7 +139,7 @@ class Coalition: For more information on turn finalization in general, see the documentation for `Game.finish_turn`. """ - self.air_wing.replenish() + self.air_wing.end_turn() self.budget += Income(self.game, self.player).total # Need to recompute before transfers and deliveries to account for captures. diff --git a/game/squadrons/airwing.py b/game/squadrons/airwing.py index f174a132..9d01e65c 100644 --- a/game/squadrons/airwing.py +++ b/game/squadrons/airwing.py @@ -75,9 +75,9 @@ class AirWing: for squadron in self.iter_squadrons(): squadron.populate_for_turn_0() - def replenish(self) -> None: + def end_turn(self) -> None: for squadron in self.iter_squadrons(): - squadron.replenish_lost_pilots() + squadron.end_turn() def reset(self) -> None: for squadron in self.iter_squadrons(): diff --git a/game/squadrons/squadron.py b/game/squadrons/squadron.py index c7354c03..ada95795 100644 --- a/game/squadrons/squadron.py +++ b/game/squadrons/squadron.py @@ -167,6 +167,10 @@ class Squadron: raise ValueError("Squadrons can only be created with active pilots.") self._recruit_pilots(self.settings.squadron_pilot_limit) + def end_turn(self) -> None: + self.replenish_lost_pilots() + self.deliver_orders() + def replenish_lost_pilots(self) -> None: if not self.pilot_limits_enabled: return diff --git a/game/theater/controlpoint.py b/game/theater/controlpoint.py index 0b738237..205a677f 100644 --- a/game/theater/controlpoint.py +++ b/game/theater/controlpoint.py @@ -704,8 +704,6 @@ class ControlPoint(MissionTarget, ABC): def process_turn(self, game: Game) -> None: self.ground_unit_orders.process(game) - for squadron in self.squadrons: - squadron.deliver_orders() runway_status = self.runway_status if runway_status is not None: