Skip to main content

✅ Hebe imperfect ambrosia exhausts target removes damage applies status

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

Hebe's Imperfect Ambrosia: Exhaust target, remove all damage, apply -5 PWR -3 DEF status (expires end of phase).

Preconditions

  • P1 Main Phase, P1 has 2 AP

  • Lane 0: P1's Hebe (#060), READIED

  • Lane 0: P1's Murmur (#002, HP=9, damage=6), READIED (target)

Action

  • Hebe uses Imperfect Ambrosia (0 AP, exhaust) targeting Murmur
result = execute_ability(state, hebe_p, ability_idx=2, targets=[murmur_p])
hebe_after = next(d for d in result.demons if d.unit_id == "060")
murmur_after = next(d for d in result.demons if d.unit_id == "002")

Expected Postconditions

  • Murmur: EXHAUSTED (Ambrosia exhausts the target)

  • Murmur: damage = 0 (all damage removed)

  • Murmur: -5 PWR status, -3 DEF status (expires end of phase)

  • Hebe: EXHAUSTED (ability cost is exhaust)

  • P1 AP: 2 (0 AP cost)

Assertions

assert murmur_after.state == DemonState.EXHAUSTED
assert murmur_after.damage == 0
assert hebe_after.state == DemonState.EXHAUSTED
assert result.players[Side.PLAYER_1].ap == 2