mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Recovery tanker support (#429)
* 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>
This commit is contained in:
@@ -14,6 +14,7 @@ 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
|
||||
@@ -34,3 +35,4 @@ class PlanNextAction(CompoundTask[TheaterState]):
|
||||
yield [AttackBuildings()]
|
||||
yield [AttackShips()]
|
||||
yield [DegradeIads()]
|
||||
yield [RecoverySupport()] # for recovery tankers
|
||||
|
||||
16
game/commander/tasks/compound/recoverysupport.py
Normal file
16
game/commander/tasks/compound/recoverysupport.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from collections.abc import Iterator
|
||||
|
||||
from game.commander.tasks.primitive.recovery import PlanRecovery
|
||||
from game.commander.theaterstate import TheaterState
|
||||
from game.htn import CompoundTask, Method
|
||||
|
||||
|
||||
class RecoverySupport(CompoundTask[TheaterState]):
|
||||
def each_valid_method(self, state: TheaterState) -> Iterator[Method[TheaterState]]:
|
||||
yield [PlanRecoverySupport()]
|
||||
|
||||
|
||||
class PlanRecoverySupport(CompoundTask[TheaterState]):
|
||||
def each_valid_method(self, state: TheaterState) -> Iterator[Method[TheaterState]]:
|
||||
for target in state.recovery_targets:
|
||||
yield [PlanRecovery(target)]
|
||||
Reference in New Issue
Block a user