mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Let the TheaterCommander manage front line stance.
This improves the AI behavior by choosing the stances non-randomly: * Breakthrough will be used if the base is expected to be capturable and the coalition outnumbers the enemy by 20%. * Elimination will be used if the coalition has at least as many units as the enemy. * Defensive will be used if the coalition has at least half as many units as the enemy. * Retreat will be used if the coalition is significantly outnumbers. This also exposes the option to the player.
This commit is contained in:
@@ -247,14 +247,9 @@ class CoalitionMissionPlanner:
|
||||
"""
|
||||
return self.game.air_wing_for(self.is_player).can_auto_plan(mission_type)
|
||||
|
||||
def plan_missions(self) -> None:
|
||||
def fulfill_missions(self) -> None:
|
||||
"""Identifies and plans mission for the turn."""
|
||||
player = "Blue" if self.is_player else "Red"
|
||||
with logged_duration(f"{player} mission identification and fulfillment"):
|
||||
with MultiEventTracer() as tracer:
|
||||
commander = TheaterCommander(self.game, self.is_player)
|
||||
commander.plan_missions(self, tracer)
|
||||
|
||||
with logged_duration(f"{player} mission scheduling"):
|
||||
self.stagger_missions()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user