## TriggerEffect: Emits a "on_hp_zero" trigger when the target's HP reaches 0. ## The trigger can be caught by other effects to apply follow-up effects (e.g., a buff). 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 if evt.value <= 0: var trigger: TriggerDef = ctx.ctx.get_trigger_def_by_name("on_hp_zero") if trigger: trigger.emit_event(ctx)