From 4ec11ddea54c13fd6f6669a6ffeee74aba841181 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Thu, 27 May 2021 16:04:51 -0700 Subject: [PATCH] Auto-ASAP player packages based on preferences. https://github.com/dcs-liberation/dcs_liberation/issues/276 --- gen/ato.py | 4 ++++ gen/flights/ai_flight_planner.py | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/gen/ato.py b/gen/ato.py index 614641fb..d3e991b2 100644 --- a/gen/ato.py +++ b/gen/ato.py @@ -67,6 +67,10 @@ class Package: waypoints: Optional[PackageWaypoints] = field(default=None) + @property + def has_players(self) -> bool: + return any(flight.client_count for flight in self.flights) + @property def formation_speed(self) -> Optional[Speed]: """The speed of the package when in formation. diff --git a/gen/flights/ai_flight_planner.py b/gen/flights/ai_flight_planner.py index d8e0e119..5969f335 100644 --- a/gen/flights/ai_flight_planner.py +++ b/gen/flights/ai_flight_planner.py @@ -935,6 +935,11 @@ class CoalitionMissionPlanner: for flight in package.flights: if not flight.flight_plan.waypoints: flight_plan_builder.populate_flight_plan(flight) + + if package.has_players and self.game.settings.auto_ato_player_missions_asap: + package.auto_asap = True + package.set_tot_asap() + self.ato.add_package(package) def stagger_missions(self) -> None: