Skip to main content

wowlab_engine_content/hooks/items/
locuswalkers_ribbon.rs

1use wowlab_engine_combat::{HookCtx, ProcOps as _, SchedulingOps as _};
2use wowlab_types::sim::ActorId;
3
4use crate::generated::items::locuswalkers_ribbon::{RPPM_BINDING, SPELL_BINDING};
5
6pub(crate) fn on_player_cast(ctx: &mut HookCtx<'_>) {
7    if !super::bound_rppm(ctx, RPPM_BINDING).is_some_and(|rppm| ctx.roll_rppm(rppm)) {
8        return;
9    }
10
11    let Some(spell) = ctx.program().bound_spell(SPELL_BINDING::TEMPTATION) else {
12        return;
13    };
14    let _ = ctx.dispatch_proc_spell(spell, RPPM_BINDING, ActorId::Player);
15}