From 6016ebd3b495c17033a4cdbc0a7f937619c4efd0 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 23 Apr 2021 23:24:03 -0700 Subject: [PATCH] Get transports from the closest airfield. https://github.com/Khopa/dcs_liberation/issues/825 --- game/transfers.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/game/transfers.py b/game/transfers.py index 9a0cec5f..24008293 100644 --- a/game/transfers.py +++ b/game/transfers.py @@ -13,6 +13,7 @@ from game.procurement import AircraftProcurementRequest from game.utils import meters, nautical_miles from gen.ato import Package from gen.flights.ai_flight_planner_db import TRANSPORT_CAPABLE +from gen.flights.closestairfields import ObjectiveDistanceCache from gen.flights.flightplan import FlightPlanBuilder from game.theater import ControlPoint, MissionTarget from game.theater.supplyroutes import SupplyRoute @@ -190,7 +191,13 @@ class AirliftPlanner: return True def create_package_for_airlift(self) -> None: - for cp in self.game.theater.player_points(): + distance_cache = ObjectiveDistanceCache.get_closest_airfields( + self.transfer.position + ) + for cp in distance_cache.closest_airfields: + if cp.captured != self.for_player: + continue + inventory = self.game.aircraft_inventory.for_control_point(cp) for unit_type, available in inventory.all_aircraft: if self.compatible_with_mission(unit_type, cp):