✅ Ronove does not heal on others damage dealt
| Category | Interaction |
| Status | Passing |
| Test | tests/test_abilities_passive.py::test_ronove_does_not_heal_on_others_damage_dealt |
When another demon deals damage, Ronove's passive does NOT trigger.
Preconditions
-
Lane 0: P1's Ronove (#012), P1's Murmur (#002) with damage=6
-
P1's Duban (#001) deals 3 damage (not Ronove)
Action
- Fire DAMAGE_DEALT event: source=Duban (not Ronove), value=3
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)
duban = make_demon("001", lane=0, owner=Side.PLAYER_1)
state = place_demon(state, ronove)
state = place_demon(state, murmur)
state = place_demon(state, duban)
duban_on_field = next(d for d in state.demons if d.unit_id == "001")
event = GameEvent(
event_type=EventType.DAMAGE_DEALT,
source=duban_on_field, # Duban, not Ronove
target=None,
value=3,
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 unchanged at 6
Assertions
assert murmur_after.damage == 6, (
f"Expected Murmur damage=6 (Ronove's passive not triggered), got {murmur_after.damage}"
)