Skip to main content

✅ Leraje counter attacks damaged demon

CategoryInteraction
StatusPassing
Testtests/test_abilities_complex.py::TestLerajeCounterAttack::test_leraje_counter_attacks_damaged_demon

A demon in a different lane takes damage — Leraje counter-attacks.

Preconditions

  • P1 Main Phase, P1 has 6 AP

  • Lane 0: P1's Leraje (#091) — PWR=3, range=Distant, READIED

  • Lane 2: P2's Duban (#001) — 6 HP, 0 damage (takes damage event)

Action

  • Fire DAMAGE_RECEIVED targeting Duban (lane 2), source=some other demon, value=2

Expected Postconditions

  • Leraje counter-attacks Duban: deals PWR=3 damage to Duban

  • Leraje: AP cost deducted (6 - 1 = 5 AP remaining)

  • Leraje: READIED still (exhaust ignored per card text)

Assertions

assert duban_after.damage == 3, (
f"Leraje must counter-attack Duban for 3 damage (PWR=3, no DEF). Got {duban_after.damage}."
)
assert result.players[Side.PLAYER_1].ap == 5, (
f"Leraje's counter-attack costs 1 AP (2-1). P1 AP should be 5. Got {result.players[Side.PLAYER_1].ap}."
)
assert leraje_after.state == DemonState.READIED, (
"Leraje must remain READIED after counter-attack (exhaust cost ignored)."
)