Introduce AttackShips compound task

This commit is contained in:
Raffson 2024-02-12 00:04:13 +01:00
parent 05163d41a0
commit 3f5b93a5c1
No known key found for this signature in database
GPG Key ID: B0402B2C9B764D99
2 changed files with 17 additions and 0 deletions

View 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)]

View File

@ -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()]