aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-05-22 18:55:17 +0200
committerShauren <shauren.trinity@gmail.com>2023-05-22 18:55:17 +0200
commit206369934aecfcac9a49583f3f7e98f0d69ad55b (patch)
tree0da3b37b7d518d92da95de1538b851bcf9cfe805 /src/server/game/Spells/SpellEffects.cpp
parentc2884612cedb33c12e3a0c30883903efd6d700e0 (diff)
Core/Spells: Implemented new proc hit type PROC_HIT_DISPEL
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rw-r--r--src/server/game/Spells/SpellEffects.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 9f878275a6e..d90f7cd7342 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -2131,6 +2131,8 @@ void Spell::EffectDispel()
m_caster->SendMessageToSet(spellDispellLog.Write(), true);
CallScriptSuccessfulDispel(SpellEffIndex(effectInfo->EffectIndex));
+
+ m_hitMask |= PROC_HIT_DISPEL;
}
void Spell::EffectDualWield()
@@ -4105,8 +4107,13 @@ void Spell::EffectDispelMechanic()
dispel_list.emplace_back(aura->GetId(), aura->GetCasterGUID());
}
+ if (dispel_list.empty())
+ return;
+
for (auto itr = dispel_list.begin(); itr != dispel_list.end(); ++itr)
unitTarget->RemoveAura(itr->first, itr->second, 0, AURA_REMOVE_BY_ENEMY_SPELL);
+
+ m_hitMask |= PROC_HIT_DISPEL;
}
void Spell::EffectResurrectPet()
@@ -4645,6 +4652,8 @@ void Spell::EffectStealBeneficialBuff()
}
m_caster->SendMessageToSet(spellDispellLog.Write(), true);
+
+ m_hitMask |= PROC_HIT_DISPEL;
}
void Spell::EffectKillCreditPersonal()