From c844c364fa8a544b8f542a63c90da7162539640f Mon Sep 17 00:00:00 2001 From: MetalStormGhost <89945461+MetalStormGhost@users.noreply.github.com> Date: Sun, 2 Jan 2022 23:34:01 +0200 Subject: [PATCH] Remove front line minimum distance. This isn't what it says. It doesn't enforce a minimum distance between points, but a minimum path length, which isn't useful and isn't a documented requirement. --- game/theater/frontline.py | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/game/theater/frontline.py b/game/theater/frontline.py index 4a3ab51a..7e59445b 100644 --- a/game/theater/frontline.py +++ b/game/theater/frontline.py @@ -13,9 +13,6 @@ if TYPE_CHECKING: from game.ato import FlightType -FRONTLINE_MIN_CP_DISTANCE = 5000 - - @dataclass class FrontLineSegment: """ @@ -173,23 +170,8 @@ class FrontLine(MissionTarget): """ total_strength = self.blue_cp.base.strength + self.red_cp.base.strength if self.blue_cp.base.strength == 0: - return self._adjust_for_min_dist(0) + return 0 if self.red_cp.base.strength == 0: - return self._adjust_for_min_dist(self.attack_distance) + return self.attack_distance strength_pct = self.blue_cp.base.strength / total_strength - return self._adjust_for_min_dist(strength_pct * self.attack_distance) - - def _adjust_for_min_dist(self, distance: float) -> float: - """ - Ensures the frontline conflict is never located within the minimum distance - constant of either end control point. - """ - if (distance > self.attack_distance / 2) and ( - distance + FRONTLINE_MIN_CP_DISTANCE > self.attack_distance - ): - distance = self.attack_distance - FRONTLINE_MIN_CP_DISTANCE - elif (distance < self.attack_distance / 2) and ( - distance < FRONTLINE_MIN_CP_DISTANCE - ): - distance = FRONTLINE_MIN_CP_DISTANCE - return distance + return strength_pct * self.attack_distance