aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2016-12-30 01:57:14 -0300
committerariel- <ariel-@users.noreply.github.com>2016-12-30 02:29:34 -0300
commit81f16b201b120f4a26c05ce4c3943d825c89cc97 (patch)
tree15a9a6775bf89aec7622d42cf73c8a0475fec665 /src/server/scripts
parent342cd18c3cf0bae7496616b1b08b9a59ec9247ed (diff)
Core/Spell: Fixed Arcane Potency
- Removed old workaround in SpellAuras.cpp Closes #18417
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Spells/spell_mage.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp
index 5c496024599..88eb2663520 100644
--- a/src/server/scripts/Spells/spell_mage.cpp
+++ b/src/server/scripts/Spells/spell_mage.cpp
@@ -68,7 +68,9 @@ enum MageSpells
enum MageSpellIcons
{
- SPELL_ICON_MAGE_SHATTERED_BARRIER = 2945
+ SPELL_ICON_MAGE_SHATTERED_BARRIER = 2945,
+ SPELL_ICON_MAGE_PRESENCE_OF_MIND = 139,
+ SPELL_ICON_MAGE_CLEARCASTING = 212
};
// Incanter's Absorbtion
@@ -114,6 +116,16 @@ class spell_mage_arcane_potency : public SpellScriptLoader
return true;
}
+ bool CheckProc(ProcEventInfo& eventInfo)
+ {
+ // due to family mask sharing with brain freeze/missile barrage proc, we need to filter out by icon id
+ SpellInfo const* spellInfo = eventInfo.GetSpellInfo();
+ if (!spellInfo || (spellInfo->SpellIconID != SPELL_ICON_MAGE_CLEARCASTING && spellInfo->SpellIconID != SPELL_ICON_MAGE_PRESENCE_OF_MIND))
+ return false;
+
+ return true;
+ }
+
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
{
static uint32 const triggerSpell[2] = { SPELL_MAGE_ARCANE_POTENCY_RANK_1, SPELL_MAGE_ARCANE_POTENCY_RANK_2 };
@@ -126,6 +138,7 @@ class spell_mage_arcane_potency : public SpellScriptLoader
void Register() override
{
+ DoCheckProc += AuraCheckProcFn(spell_mage_arcane_potency_AuraScript::CheckProc);
OnEffectProc += AuraEffectProcFn(spell_mage_arcane_potency_AuraScript::HandleProc, EFFECT_0, SPELL_AURA_DUMMY);
}
};