Skip to main content

✅ Ronove heals allies by damage dealt

CategoryAbility
StatusPassing
Testtests/test_abilities_passive.py::test_ronove_heals_allies_by_damage_dealt

Ronove deals 4 damage, heals an allied demon by 4.

Preconditions

  • Lane 0: P1's Ronove (#012) — READIED

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

  • Ronove deals 4 damage to an enemy

Action

  • Fire DAMAGE_DEALT event: source=Ronove, value=4
from engine.events import GameEvent, EventType, fire_event

state = make_game_state()
ronove = make_demon("012", lane=0, owner=Side.PLAYER_1)
murmur = make_demon("002", lane=0, owner=Side.PLAYER_1, damage=6)
state = place_demon(state, ronove)
state = place_demon(state, murmur)

ronove_on_field = next(d for d in state.demons if d.unit_id == "012")

event = GameEvent(
event_type=EventType.DAMAGE_DEALT,
source=ronove_on_field,
target=None,
value=4,
side=Side.PLAYER_1,
lane=0,
)
new_state = fire_event(state, event)

murmur_after = next(d for d in new_state.demons if d.unit_id == "002")

Expected Postconditions

  • Murmur damage reduced from 6 to 2 (healed by 4)

Assertions

assert murmur_after.damage == 2, (
f"Expected Murmur damage=2 (healed 4 from 6), got {murmur_after.damage}"
)