mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
* fix conflict * squash bugs and reuse patrol layout * fix tanker tacan and formatting * fix unlimited fuel option * update pretense for tanker changes * reuse refueling flight plan and bugfix for sunken carrier changelog * remove unitmap dependency * formatting and more unit map removal * more formatting * typing and black * keep tanker out of clouds * fix if there are no clouds * better cloud handling * groundwork for recovery task * remove changes to game/commander * Finishing up recovery tankers --------- Co-authored-by: Raffson <Raffson@users.noreply.github.com>
39 lines
1.6 KiB
Python
39 lines
1.6 KiB
Python
from collections.abc import Iterator
|
|
from dataclasses import dataclass
|
|
|
|
from game.commander.tasks.compound.attackairinfrastructure import (
|
|
AttackAirInfrastructure,
|
|
)
|
|
from game.commander.tasks.compound.attackbattlepositions import AttackBattlePositions
|
|
from game.commander.tasks.compound.attackbuildings import AttackBuildings
|
|
from game.commander.tasks.compound.attackships import AttackShips
|
|
from game.commander.tasks.compound.capturebases import CaptureBases
|
|
from game.commander.tasks.compound.defendbases import DefendBases
|
|
from game.commander.tasks.compound.degradeiads import DegradeIads
|
|
from game.commander.tasks.compound.interdictreinforcements import (
|
|
InterdictReinforcements,
|
|
)
|
|
from game.commander.tasks.compound.protectairspace import ProtectAirSpace
|
|
from game.commander.tasks.compound.recoverysupport import RecoverySupport
|
|
from game.commander.tasks.compound.theatersupport import TheaterSupport
|
|
from game.commander.theaterstate import TheaterState
|
|
from game.htn import CompoundTask, Method
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class PlanNextAction(CompoundTask[TheaterState]):
|
|
aircraft_cold_start: bool
|
|
|
|
def each_valid_method(self, state: TheaterState) -> Iterator[Method[TheaterState]]:
|
|
yield [TheaterSupport()]
|
|
yield [ProtectAirSpace()]
|
|
yield [DefendBases()]
|
|
yield [InterdictReinforcements()]
|
|
yield [AttackBattlePositions()]
|
|
yield [CaptureBases()]
|
|
yield [AttackAirInfrastructure(self.aircraft_cold_start)]
|
|
yield [AttackBuildings()]
|
|
yield [AttackShips()]
|
|
yield [DegradeIads()]
|
|
yield [RecoverySupport()] # for recovery tankers
|