我为一个名为“Spell Reflection”的战士法术制作了一个自定义的 AuraScript,我想让这个光环只在光环所有者在法术来自的施法者面前时才反射法术。
我已经用 procs 进行了尝试并做出了 if 语句if(GetTarget()->isInFront(eventInfo.GetProcTarget())
,但我找不到正确的方法让光环只在它触发时才反映。
到目前为止我的代码:
class spell_custom_reflect : public SpellScriptLoader
{
public:
spell_custom_reflect() : SpellScriptLoader("spell_custom_reflect") { }
class spell_custom_reflect_AuraScript : public AuraScript
{
PrepareAuraScript(spell_custom_reflect_AuraScript);
bool CheckProc(ProcEventInfo& eventInfo)
{
return if(GetTarget()->isInFront(eventInfo.GetProcTarget()))
}
void HandleEffectProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
{
// I want to reflect only when the aura effect procs.
}
void Register()
{
DoCheckProc += AuraCheckProcFn(spell_custom_reflect_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_custom_reflect_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};
AuraScript* GetAuraScript() const
{
return new spell_custom_reflect_AuraScript();
}
};
那么任何人都可以帮助我吗?