Skip to main content

✅ Black serpent kill reward

CategoryAbility
StatusPassing
Testtests/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}"