From 93db1254ec1259173cfa4d7c05f8d8e467cf6cde Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 4 Oct 2020 14:35:10 -0700 Subject: [PATCH] Improve insufficient aircraft message. Specify only the tasks which were unfulfilled so the player knows what to buy. --- gen/flights/ai_flight_planner.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/gen/flights/ai_flight_planner.py b/gen/flights/ai_flight_planner.py index 36b9d929..d9621457 100644 --- a/gen/flights/ai_flight_planner.py +++ b/gen/flights/ai_flight_planner.py @@ -406,12 +406,21 @@ class CoalitionMissionPlanner: self.game.aircraft_inventory, self.is_player ) + + missing_types: Set[FlightType] = set() for proposed_flight in mission.flights: if not builder.plan_flight(proposed_flight): - builder.release_planned_aircraft() - self.message("Insufficient aircraft", - f"Not enough aircraft in range for {mission}") - return + missing_types.add(proposed_flight.task) + + if missing_types: + missing_types_str = ", ".join( + sorted([t.name for t in missing_types])) + builder.release_planned_aircraft() + self.message( + "Insufficient aircraft", + f"Not enough aircraft in range for {mission.location.name} " + f"capable of: {missing_types_str}") + return package = builder.build() flight_plan_builder = FlightPlanBuilder(self.game, package,