✅ Shax readies and gains ap on kill
| Category | Ability |
| Status | Passing |
| Test | tests/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}."
)