Skip to main content

✅ Thanatos styxs shores hits all other demons

CategoryRegression
StatusPassing
Testtests/test_abilities_actions.py::test_thanatos_styxs_shores_hits_all_other_demons

Thanatos uses Styx's Shores, hitting all other demons including allies.

Preconditions

  • P1 Main Phase, P1 has 5 AP

  • Lane 0: P1's Thanatos (#004) — HP=9, PWR=5, READIED

  • Lane 0: P1's Sabnock (#003) — HP=15, 0 damage (ALLY — will be hit, no DEF passive)

  • Lane 1: P2's Ipos (#019) — HP=12, 0 damage (ENEMY — will be hit, no DEF passive)

  • No DEF on any demon

Action

  • Execute Thanatos's Styx's Shores (ability[0], 4 AP, exhaust) targeting All Other Demons
result = execute_ability(state, thanatos_on_field, ability_idx=0, targets=None)

sabnock_after = next(d for d in result.demons if d.unit_id == "003")
ipos_after = next(d for d in result.demons if d.unit_id == "019")
thanatos_after = next(d for d in result.demons if d.unit_id == "004")

Expected Postconditions

  • Sabnock (P1 ally): takes 5 damage (PWR=5, no DEF)

  • Ipos (P2 enemy): takes 5 damage (PWR=5, no DEF)

  • Thanatos: EXHAUSTED, 0 damage (Styx's Shores does NOT target self)

  • P1 AP: 1 (was 5, spent 4)

  • (Regression: confusion #21 — "All Demons" includes allies — friendly fire)

Assertions

assert sabnock_after.damage == 5
assert ipos_after.damage == 5
assert thanatos_after.damage == 0, "Thanatos does NOT target itself (All OTHER Demons)"
assert result.players[Side.PLAYER_1].ap == 1, "P1 AP should be 1 (spent 4)"