diff --git a/game/theater/controlpoint.py b/game/theater/controlpoint.py index 8be9813f..57ed2957 100644 --- a/game/theater/controlpoint.py +++ b/game/theater/controlpoint.py @@ -1133,7 +1133,7 @@ class Fob(ControlPoint): self.name = name def runway_is_operational(self) -> bool: - return False + return self.has_helipads def active_runway( self, conditions: Conditions, dynamic_runways: Dict[str, RunwayData] diff --git a/gen/aircraft.py b/gen/aircraft.py index 88799384..7e55ae20 100644 --- a/gen/aircraft.py +++ b/gen/aircraft.py @@ -1197,7 +1197,7 @@ class AircraftConflictGenerator: # If the flight is an helicopter flight, then prioritize dedicated helipads group = None - if flight.unit_type in helicopters.helicopter_map.values(): + if flight.unit_type.helicopter: helipad = cp.get_free_helipad() if helipad is not None: group = self._generate_at_group( diff --git a/gen/flights/closestairfields.py b/gen/flights/closestairfields.py index d4c4de25..4dd0032e 100644 --- a/gen/flights/closestairfields.py +++ b/gen/flights/closestairfields.py @@ -25,11 +25,7 @@ class ClosestAirfields: @property def operational_airfields(self) -> Iterator[ControlPoint]: - return ( - c - for c in self.closest_airfields - if c.runway_is_operational() or c.has_helipads - ) + return (c for c in self.closest_airfields if c.runway_is_operational()) def _airfields_within( self, distance: Distance, operational: bool