Skip to main content

✅ Shax readies and gains ap on kill

CategoryAbility
StatusPassing
Testtests/test_abilities_complex.py::TestShaxKillReward::test_shax_readies_and_gains_ap_on_kill

Shax triggers kill reward when it fatally wounds an enemy.

Preconditions

  • P1 Main Phase, P1 AP=0

  • Lane 0: P1's Shax (#021) — HP=9, 0 damage, EXHAUSTED

  • (Shax is NOT fatally_wounded)

  • P2's enemy Murmur (#002) in lane 0 — killed by Shax

Action

  • fire FATALLY_WOUNDED event with source=Shax, target=P2's Murmur
result = fire_event(state, event)

shax_after = next(d for d in result.demons if d.unit_id == "021")

Expected Postconditions

  • Shax: READIED (was EXHAUSTED)

  • P1 AP: 2 (gained 2 AP for 1 kill)

  • Murmur: unchanged (trigger only affects Shax + P1 AP)

Assertions

assert shax_after.state == DemonState.READIED, (
"Shax must be READIED after kill trigger. Was EXHAUSTED before."
)
assert result.players[Side.PLAYER_1].ap == 2, (
f"P1 must gain 2 AP for 1 kill. Got {result.players[Side.PLAYER_1].ap}."
)