mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
16 lines
653 B
Python
16 lines
653 B
Python
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)]
|