✅ Nyx fear applies cannot ready status and exhausts target
| Category | Regression |
| Status | Passing |
| Test | tests/test_abilities_complex.py::TestNyxFearOfTheDark::test_nyx_fear_applies_cannot_ready_status_and_exhausts_target |
Nyx's Fear of the Dark: Target demon gets "cannot_ready" status and is exhausted for this phase.
Preconditions
-
P1 Main Phase, P1 has 3 AP
-
Lane 0: P1's Nyx (#045, HP=12), READIED
-
Lane 0: P2's Duban (#001, HP=6), READIED (target)
Action
- Nyx uses Fear of the Dark (Start of Turn, 1 AP, exhaust) targeting Duban
result = execute_ability(state, nyx_p, ability_idx=1, targets=[duban_p])
nyx_after = next(d for d in result.demons if d.unit_id == "045")
duban_after = next(d for d in result.demons if d.unit_id == "001")
Expected Postconditions
-
Duban: EXHAUSTED (explicitly exhausted by the ability)
-
Duban: "cannot_ready" status value=1 (expires end of phase)
-
Nyx: EXHAUSTED (tap_required)
-
P1 AP: 2 (3 - 1)
Assertions
assert duban_after.state == DemonState.EXHAUSTED
duban_effects = get_active_effects_on(result, duban_after)
assert any(e.stat == "cannot_ready" for e in duban_effects)
assert nyx_after.state == DemonState.EXHAUSTED
assert result.players[Side.PLAYER_1].ap == 2