mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Introduce AttackShips compound task
This commit is contained in:
parent
05163d41a0
commit
3f5b93a5c1
15
game/commander/tasks/compound/attackships.py
Normal file
15
game/commander/tasks/compound/attackships.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
from collections.abc import Iterator
|
||||||
|
|
||||||
|
from game.commander.tasks.primitive.antiship import PlanAntiShip
|
||||||
|
from game.commander.theaterstate import TheaterState
|
||||||
|
from game.htn import CompoundTask, Method
|
||||||
|
|
||||||
|
|
||||||
|
class AttackShips(CompoundTask[TheaterState]):
|
||||||
|
def each_valid_method(self, state: TheaterState) -> Iterator[Method[TheaterState]]:
|
||||||
|
for ship in state.enemy_ships:
|
||||||
|
# Ammo depots are targeted based on the needs of the front line by
|
||||||
|
# ReduceEnemyFrontLineCapacity. No reason to target them before that front
|
||||||
|
# line is active.
|
||||||
|
if ship.has_live_radar_sam:
|
||||||
|
yield [PlanAntiShip(ship)]
|
||||||
@ -6,6 +6,7 @@ from game.commander.tasks.compound.attackairinfrastructure import (
|
|||||||
)
|
)
|
||||||
from game.commander.tasks.compound.attackbattlepositions import AttackBattlePositions
|
from game.commander.tasks.compound.attackbattlepositions import AttackBattlePositions
|
||||||
from game.commander.tasks.compound.attackbuildings import AttackBuildings
|
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.capturebases import CaptureBases
|
||||||
from game.commander.tasks.compound.defendbases import DefendBases
|
from game.commander.tasks.compound.defendbases import DefendBases
|
||||||
from game.commander.tasks.compound.degradeiads import DegradeIads
|
from game.commander.tasks.compound.degradeiads import DegradeIads
|
||||||
@ -32,3 +33,4 @@ class PlanNextAction(CompoundTask[TheaterState]):
|
|||||||
yield [CaptureBases()]
|
yield [CaptureBases()]
|
||||||
yield [AttackAirInfrastructure(self.aircraft_cold_start)]
|
yield [AttackAirInfrastructure(self.aircraft_cold_start)]
|
||||||
yield [AttackBuildings()]
|
yield [AttackBuildings()]
|
||||||
|
yield [AttackShips()]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user