mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Use aggressive stance for similar troop counts.
Bumps the breakthrough requirement to 2x, elimination to 1.5x, and uses agressive for 0.8-1.5x.
This commit is contained in:
parent
0a416ab758
commit
c180eb466d
@ -1,6 +1,7 @@
|
||||
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
|
||||
@ -14,4 +15,5 @@ class DestroyEnemyGroundUnits(CompoundTask[TheaterState]):
|
||||
|
||||
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)]
|
||||
|
||||
14
game/commander/tasks/primitive/aggressiveattack.py
Normal file
14
game/commander/tasks/primitive/aggressiveattack.py
Normal file
@ -0,0 +1,14 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from game.commander.tasks.frontlinestancetask import FrontLineStanceTask
|
||||
from gen.ground_forces.combat_stance import CombatStance
|
||||
|
||||
|
||||
class AggressiveAttack(FrontLineStanceTask):
|
||||
@property
|
||||
def stance(self) -> CombatStance:
|
||||
return CombatStance.AGGRESSIVE
|
||||
|
||||
@property
|
||||
def have_sufficient_front_line_advantage(self) -> bool:
|
||||
return self.ground_force_balance >= 0.8
|
||||
@ -15,7 +15,7 @@ class BreakthroughAttack(FrontLineStanceTask):
|
||||
|
||||
@property
|
||||
def have_sufficient_front_line_advantage(self) -> bool:
|
||||
return self.ground_force_balance >= 1.2
|
||||
return self.ground_force_balance >= 2.0
|
||||
|
||||
@property
|
||||
def opposing_garrisons_eliminated(self) -> bool:
|
||||
|
||||
@ -11,4 +11,4 @@ class EliminationAttack(FrontLineStanceTask):
|
||||
|
||||
@property
|
||||
def have_sufficient_front_line_advantage(self) -> bool:
|
||||
return self.ground_force_balance >= 1.0
|
||||
return self.ground_force_balance >= 1.5
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user