mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Consider BAI missions planned this turn when determining if a control point is still garrisioned for preventing breakthrough. This isn't very accurate yet since the HTN isn't checking for aircraft fulfillment yet, so it might *plan* a mission to kill the garrison, but there's no way to know if it will be fulfilled.
13 lines
481 B
Python
13 lines
481 B
Python
from collections import Iterator
|
|
|
|
from game.commander.tasks.primitive.bai import PlanBai
|
|
from game.commander.theaterstate import TheaterState
|
|
from game.htn import CompoundTask, Method
|
|
|
|
|
|
class AttackGarrisons(CompoundTask[TheaterState]):
|
|
def each_valid_method(self, state: TheaterState) -> Iterator[Method[TheaterState]]:
|
|
for garrisons in state.enemy_garrisons.values():
|
|
for garrison in garrisons.in_priority_order:
|
|
yield [PlanBai(garrison)]
|