From f63939ce3ce96f793f4b436b4b58b53046d6bcef Mon Sep 17 00:00:00 2001 From: Raffson Date: Sun, 15 Sep 2024 20:37:03 +0200 Subject: [PATCH] Include isolated points in objectivefinder --- game/commander/objectivefinder.py | 5 ++++- game/commander/theaterstate.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/game/commander/objectivefinder.py b/game/commander/objectivefinder.py index 020398a3..4806c85e 100644 --- a/game/commander/objectivefinder.py +++ b/game/commander/objectivefinder.py @@ -254,17 +254,20 @@ class ObjectiveFinder: if not c.is_friendly(self.is_player) ) - def prioritized_unisolated_points(self) -> list[ControlPoint]: + def prioritized_points(self) -> list[ControlPoint]: prioritized = [] capturable_later = [] + isolated = [] for cp in self.game.theater.control_points_for(not self.is_player): if cp.is_isolated: + isolated.append(cp) continue if cp.has_active_frontline: prioritized.append(cp) else: capturable_later.append(cp) prioritized.extend(self._targets_by_range(capturable_later)) + prioritized.extend(self._targets_by_range(isolated)) return prioritized @staticmethod diff --git a/game/commander/theaterstate.py b/game/commander/theaterstate.py index f84735a9..9e045728 100644 --- a/game/commander/theaterstate.py +++ b/game/commander/theaterstate.py @@ -145,7 +145,7 @@ class TheaterState(WorldState["TheaterState"]): ) -> TheaterState: coalition = game.coalition_for(player) finder = ObjectiveFinder(game, player) - ordered_capturable_points = finder.prioritized_unisolated_points() + ordered_capturable_points = finder.prioritized_points() context = PersistentContext( game.db,