aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2017-01-23 15:41:43 -0300
committerShauren <shauren.trinity@gmail.com>2018-12-09 14:18:42 +0100
commit49cd81a1c98f6fc219d12f401846b96d29fda637 (patch)
tree9a912e145628f9b59cb4255eca8cb1038a2689c7 /src
parent01691e5d3b31c4a74c3f03a129fc2720751f826b (diff)
Core/Spell: modified HitMask for new default procs
(cherry-picked from ad6912f0d578cd94beb2ea6f94b63ec83b605e82)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/SpellMgr.cpp24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index b3f93bef9a2..2532069e6c2 100644
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -1572,14 +1572,30 @@ void SpellMgr::LoadSpellProcs()
procEntry.SpellPhaseMask = PROC_SPELL_PHASE_HIT;
procEntry.HitMask = PROC_HIT_NONE; // uses default proc @see SpellMgr::CanSpellTriggerProcOnEvent
- // Reflect auras should only proc off reflects
for (SpellEffectInfo const* effect : spellInfo->GetEffectsForDifficulty(DIFFICULTY_NONE))
{
- if (effect && (effect->IsAura(SPELL_AURA_REFLECT_SPELLS) || effect->IsAura(SPELL_AURA_REFLECT_SPELLS_SCHOOL)))
+ if (!effect || !effect->IsAura())
+ continue;
+
+ switch (effect->ApplyAuraName)
{
- procEntry.HitMask = PROC_HIT_REFLECT;
- break;
+ // Reflect auras should only proc off reflects
+ case SPELL_AURA_REFLECT_SPELLS:
+ case SPELL_AURA_REFLECT_SPELLS_SCHOOL:
+ procEntry.HitMask = PROC_HIT_REFLECT;
+ break;
+ // Only drop charge on crit
+ case SPELL_AURA_MOD_WEAPON_CRIT_PERCENT:
+ procEntry.HitMask = PROC_HIT_CRITICAL;
+ break;
+ // Only drop charge on block
+ case SPELL_AURA_MOD_BLOCK_PERCENT:
+ procEntry.HitMask = PROC_HIT_BLOCK;
+ break;
+ default:
+ continue;
}
+ break;
}
procEntry.AttributesMask = 0;