class_name TriggerDef extends NBattleObject ## Definition of a custom trigger event. ## Triggers allow effects to emit named events that other effects can listen for. var name: String func _init(context: BattleContext, name_val: String) -> void: super._init(context) name = name_val func get_type() -> NBattleObject.Type: return NBattleObject.Type.TRIGGER_DEF func get_name() -> String: return name ## Emits a trigger event from the given effect context. func emit_event(effect_ctx: EffectCtx) -> void: var source_id: int = 0 if effect_ctx.source: source_id = effect_ctx.source.get_id() effect_ctx.ctx._emit_event(TriggerEvent.new( get_id(), effect_ctx.def.get_id(), effect_ctx.target.get_id(), source_id, effect_ctx.potency ))