mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Bumps the breakthrough requirement to 2x, elimination to 1.5x, and uses agressive for 0.8-1.5x.
20 lines
779 B
Python
20 lines
779 B
Python
from collections import Iterator
|
|
from dataclasses import dataclass
|
|
|
|
from game.commander.tasks.primitive.aggressiveattack import AggressiveAttack
|
|
from game.commander.tasks.primitive.cas import PlanCas
|
|
from game.commander.tasks.primitive.eliminationattack import EliminationAttack
|
|
from game.commander.theaterstate import TheaterState
|
|
from game.htn import CompoundTask, Method
|
|
from game.theater import FrontLine
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class DestroyEnemyGroundUnits(CompoundTask[TheaterState]):
|
|
front_line: FrontLine
|
|
|
|
def each_valid_method(self, state: TheaterState) -> Iterator[Method[TheaterState]]:
|
|
yield [EliminationAttack(self.front_line, state.player)]
|
|
yield [AggressiveAttack(self.front_line, state.player)]
|
|
yield [PlanCas(self.front_line)]
|