diff --git a/game/theater/conflicttheater.py b/game/theater/conflicttheater.py index d25bdcff..62aae3e0 100644 --- a/game/theater/conflicttheater.py +++ b/game/theater/conflicttheater.py @@ -925,6 +925,11 @@ class FrontLine(MissionTarget): self._build_segments() self.name = f"Front line {blue_point}/{red_point}" + def control_point_hostile_to(self, player: bool) -> ControlPoint: + if player: + return self.red_cp + return self.blue_cp + def is_friendly(self, to_player: bool) -> bool: """Returns True if the objective is in friendly territory.""" return False diff --git a/gen/flights/ai_flight_planner.py b/gen/flights/ai_flight_planner.py index 90f23f4a..f2177782 100644 --- a/gen/flights/ai_flight_planner.py +++ b/gen/flights/ai_flight_planner.py @@ -441,21 +441,15 @@ class ObjectiveFinder: def convoys(self) -> Iterator[Convoy]: for front_line in self.front_lines(): - if front_line.blue_cp.is_friendly(self.is_player): - enemy_cp = front_line.blue_cp - else: - enemy_cp = front_line.red_cp - - yield from self.game.transfers.convoys.travelling_to(enemy_cp) + yield from self.game.transfers.convoys.travelling_to( + front_line.control_point_hostile_to(self.is_player) + ) def cargo_ships(self) -> Iterator[CargoShip]: for front_line in self.front_lines(): - if front_line.blue_cp.is_friendly(self.is_player): - enemy_cp = front_line.blue_cp - else: - enemy_cp = front_line.red_cp - - yield from self.game.transfers.cargo_ships.travelling_to(enemy_cp) + yield from self.game.transfers.cargo_ships.travelling_to( + front_line.control_point_hostile_to(self.is_player) + ) def friendly_control_points(self) -> Iterator[ControlPoint]: """Iterates over all friendly control points."""