如何使仅在触发时触发法术光环?

时间:2019-04-01 08:33:36

标签: c++ azerothcore

我为一个称为“咒语反射”的战士咒语制作了一个自定义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();
        }
};

那么有人可以帮助我吗?

0 个答案:

没有答案