## SelfHeal: Prevents HP from going below current value by 1. ## If HP would decrease, it only decreases by 1 instead (effectively healing). extends EffectBase func on_stat_base(ctx: EffectCtx, evt: StatBaseEvent) -> void: var stat_def: StatDef = ctx.target.get_context().get_stat_def_by_id(evt.stat_def_id) if not stat_def or stat_def.get_name() != "hp": return if evt.combatant_id != ctx.target.get_id(): return var current_hp: int = ctx.target.get_stat("hp").get_value() if evt.value < current_hp: evt.set_value(evt.value + 1)