Skip to main content

✅ Nyx cannot ready status expires end of phase

CategoryRegression
StatusPassing
Testtests/test_abilities_complex.py::TestNyxFearOfTheDark::test_nyx_cannot_ready_status_expires_end_of_phase

Regression: Confusion #9 — Fear of the Dark's "cannot be readied" is 1 phase only, not permanent.

Preconditions

  • Duban has active "cannot_ready" status from Nyx's Fear of the Dark

Action

  • Advance phase counter → expire status effects
result = execute_ability(state, nyx_p, ability_idx=1, targets=[duban_p])
duban_after = next(d for d in result.demons if d.unit_id == "001")
effects_before = get_active_effects_on(result, duban_after)
# Advance phase and expire
result.phase_counter += 1
result2 = expire_status_effects(result)
duban_final = next(d for d in result2.demons if d.unit_id == "001")
effects_after = get_active_effects_on(result2, duban_final)

Expected Postconditions

  • Duban has NO "cannot_ready" status after phase expires

Assertions

assert any(e.stat == "cannot_ready" for e in effects_before), "Status must be active"
assert not any(e.stat == "cannot_ready" for e in effects_after), "Status must expire"