Skip to main content

HandlerFn

Type Alias HandlerFn 

Source
pub type HandlerFn<P> = fn(ctx: &mut BattleCtx<'_, P>, relay: RelayVar, target: BattlerRef, source: BattlerRef, source_effect: EffectId) -> HandlerResult;
Expand description

A handler is a zero-capture fn pointer (design §1.2): it cannot capture or alias battle state, so the only mutable path is through ctx. Per-effect counter state lives in EffectState, not a closure.

P is the game’s EffectProvider.