mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
This makes it so that the mission planning effects are applied only if the package can be fulfilled. For example, breakthrough will be used only if all the BAI missions were fulfilled, not if they will *attempt* to be fulfilled.
13 lines
453 B
Python
13 lines
453 B
Python
from collections import Iterator
|
|
|
|
from game.commander.tasks.primitive.barcap import PlanBarcap
|
|
from game.commander.theaterstate import TheaterState
|
|
from game.htn import CompoundTask, Method
|
|
|
|
|
|
class ProtectAirSpace(CompoundTask[TheaterState]):
|
|
def each_valid_method(self, state: TheaterState) -> Iterator[Method[TheaterState]]:
|
|
for cp, needed in state.barcaps_needed.items():
|
|
if needed > 0:
|
|
yield [PlanBarcap(cp)]
|