Skip to main content

✅ Hebe ambrosia status expires end of phase

CategoryRegression
StatusPassing
Testtests/test_abilities_complex.py::TestHebe::test_hebe_ambrosia_status_expires_end_of_phase

Regression: Confusion #9 — status effects are temporary, expire end of main phase.

Preconditions

  • Hebe applied Imperfect Ambrosia status to Murmur (active)

Action

  • Advance phase counter → expire status effects
result = execute_ability(state, hebe_p, ability_idx=2, targets=[murmur_p])
murmur_after = next(d for d in result.demons if d.unit_id == "002")
effects_before = get_active_effects_on(result, murmur_after)
# Advance phase and expire
result.phase_counter += 1
result2 = expire_status_effects(result)
murmur_final = next(d for d in result2.demons if d.unit_id == "002")
effects_after = get_active_effects_on(result2, murmur_final)

Expected Postconditions

  • Murmur has NO active PWR/DEF status effects after phase expires

Assertions

assert len(effects_before) > 0, "Status must be active before phase end"
assert len(effects_after) == 0, "Status must expire at end of phase"