Skip to main content

Ronove

The Soulstealer

Unit #012

HPPWRCPSpeedRangeTier
12 (+6)4 (+2)3 (+2)NormalDistantB

Abilities

Passive

After Ronove deals X damage (after n), this may remove a total of X damage from Any Demons.
Engine Implementation
def _ronove_lifesteal_heal(
state,
event,
demon,
depth: int,
):
"""After Ronove deals damage, remove equal damage from Local Allied Demons.

Fires on DAMAGE_DEALT. When Ronove (event.source) deals X effective damage,
remove up to X total damage from allied demons in Ronove's lane.

event.source = Ronove (must be this instance)
event.value = effective damage dealt (after DEF)
"""
if event.source is None:
return None
if event.source.instance_id != demon.instance_id:
return None
if event.value is None or event.value <= 0:
return None

from engine.operations import remove_damage # lazy: avoids circular

heal_remaining = event.value
new_state = state

for target in list(new_state.demons):
if heal_remaining <= 0:
break
if (
target.owner == demon.owner
and target.damage > 0
):
heal_amount = min(heal_remaining, target.damage)
new_state = remove_damage(new_state, target, heal_amount)
heal_remaining -= heal_amount

return new_state if new_state is not state else None

register_trigger("012", 0, _ronove_lifesteal_heal)
Ronove