Get transports from the closest airfield.

https://github.com/Khopa/dcs_liberation/issues/825
This commit is contained in:
Dan Albert 2021-04-23 23:24:03 -07:00
parent 8a44fc19ee
commit 6016ebd3b4

View File

@ -13,6 +13,7 @@ from game.procurement import AircraftProcurementRequest
from game.utils import meters, nautical_miles from game.utils import meters, nautical_miles
from gen.ato import Package from gen.ato import Package
from gen.flights.ai_flight_planner_db import TRANSPORT_CAPABLE from gen.flights.ai_flight_planner_db import TRANSPORT_CAPABLE
from gen.flights.closestairfields import ObjectiveDistanceCache
from gen.flights.flightplan import FlightPlanBuilder from gen.flights.flightplan import FlightPlanBuilder
from game.theater import ControlPoint, MissionTarget from game.theater import ControlPoint, MissionTarget
from game.theater.supplyroutes import SupplyRoute from game.theater.supplyroutes import SupplyRoute
@ -190,7 +191,13 @@ class AirliftPlanner:
return True return True
def create_package_for_airlift(self) -> None: 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) inventory = self.game.aircraft_inventory.for_control_point(cp)
for unit_type, available in inventory.all_aircraft: for unit_type, available in inventory.all_aircraft:
if self.compatible_with_mission(unit_type, cp): if self.compatible_with_mission(unit_type, cp):