✅ Black serpent kill reward
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_familiars.py::test_black_serpent_kill_reward |
After Black Serpent fatally wounds another demon, it readies and heals 4.
Preconditions
-
Lane 0: P1's Black Serpent (098_1) — EXHAUSTED, 8 damage.
-
Lane 0: P2's Duban (001) — fatally wounded.
Action
- Fire FATALLY_WOUNDED event with source=Black Serpent, target=Duban.
new_state = fire_event(
state,
GameEvent(
event_type=EventType.FATALLY_WOUNDED,
source=serpent,
target=duban,
value=0,
side=Side.PLAYER_1,
lane=0,
),
)
serpent_after = next(d for d in new_state.demons if d.unit_id == "098_1")
Expected Postconditions
-
Black Serpent is READIED (was EXHAUSTED).
-
Black Serpent damage = 4 (was 8, removed 4).
Assertions
assert serpent_after.state == DemonState.READIED, "Black Serpent should be READIED after kill."
assert serpent_after.damage == 4, f"Black Serpent should have 4 damage (8-4), got {serpent_after.damage}"