✅ Thanatos styxs shores hits all other demons
| Category | Regression |
| Status | Passing |
| Test | tests/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)"