Skip to main content

✅ Flank applies minus2 def when condition met

CategoryInteraction
StatusPassing
Testtests/test_abilities_complex.py::TestEligosFlank::test_flank_applies_minus2_def_when_condition_met

Eligos Flank: -2 DEF to enemies in target lane when allied > enemy in that lane.

Preconditions

  • P1 Main Phase, P1 has 3 AP

  • Lane 0: P1's Eligos (#067), READIED

  • Lane 1: P1's Murmur (#002) ← allied in target lane

  • Lane 1: P1's Sabnock (#003) ← allied in target lane (2 allies)

  • Lane 1: P2's Duban (#001) ← 1 enemy in target lane

  • 2 allies > 1 enemy → condition met

Action

  • Eligos uses Flank (1 AP, ready, 1x) targeting Lane 1
from engine.abilities import execute_ability
result = execute_ability(state, eligos_p, ability_idx=1, choices={"lane": 1})

duban_after = next(d for d in result.demons if d.unit_id == "001")
eligos_after = next(d for d in result.demons if d.unit_id == "067")

effects = get_active_effects_on(result, duban_after)
duban_def = sum(e.value for e in effects if e.stat == "def")

Expected Postconditions

  • Duban: -2 DEF status (expires end of phase)

  • Eligos: still READIED (ready_required)

  • P1 AP: 2 (3 - 1)

Assertions

assert duban_def == -2, (
f"Duban must have -2 DEF when condition met (2 allies > 1 enemy). Got {duban_def}."
)
assert eligos_after.state == DemonState.READIED, (
"Eligos stays READIED (ready_required, not tap_required)"
)