diff --git a/game/game.py b/game/game.py index 4c250682..637c15b3 100644 --- a/game/game.py +++ b/game/game.py @@ -31,6 +31,7 @@ from .income import Income from .infos.information import Information from .navmesh import NavMesh from .procurement import AircraftProcurementRequest, ProcurementAi +from .profiling import logged_duration from .settings import Settings from .theater import ConflictTheater from .theater.transitnetwork import TransitNetwork, TransitNetworkBuilder @@ -361,11 +362,12 @@ class Game: self.transfers.order_airlift_assets() self.transfers.plan_transports() - blue_planner = CoalitionMissionPlanner(self, is_player=True) - blue_planner.plan_missions() + with logged_duration("Mission planning"): + blue_planner = CoalitionMissionPlanner(self, is_player=True) + blue_planner.plan_missions() - red_planner = CoalitionMissionPlanner(self, is_player=False) - red_planner.plan_missions() + red_planner = CoalitionMissionPlanner(self, is_player=False) + red_planner.plan_missions() for cp in self.theater.controlpoints: if cp.has_frontline: diff --git a/gen/flights/ai_flight_planner.py b/gen/flights/ai_flight_planner.py index 801a430a..2cd658d5 100644 --- a/gen/flights/ai_flight_planner.py +++ b/gen/flights/ai_flight_planner.py @@ -162,10 +162,10 @@ class AircraftAllocator: if not airfield.is_friendly(self.is_player): continue inventory = self.global_inventory.for_control_point(airfield) - for aircraft, available in inventory.all_aircraft: + for aircraft in types: if not airfield.can_operate(aircraft): continue - if aircraft in types and available >= flight.num_aircraft: + if inventory.available(aircraft) >= flight.num_aircraft: inventory.remove_aircraft(aircraft, flight.num_aircraft) return airfield, aircraft