Skip to main content

✅ Nyx fear applies cannot ready status and exhausts target

CategoryRegression
StatusPassing
Testtests/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