aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellEffects.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-12-14 18:55:25 +0100
committerOvahlord <dreadkiller@gmx.de>2024-12-16 16:43:23 +0100
commit4566661d75c01db1a30c1b0e50974c1e03b019e9 (patch)
treeee9d5e71c43d0f5757fbd3a5c374e773e0d6a065 /src/server/game/Spells/SpellEffects.cpp
parentb3cc2eaaf522c6faaaaafdb17b50274b98bb1b2c (diff)
Core/Spells: Fixed PROC_HIT_DISPEL and PROC_HIT_INTERRUPT on procs using PROC_SPELL_PHASE_HIT phase
Diffstat (limited to 'src/server/game/Spells/SpellEffects.cpp')
-rw-r--r--src/server/game/Spells/SpellEffects.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 775cc515f76..7ea4088a6bf 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -2180,7 +2180,7 @@ void Spell::EffectDispel()
CallScriptSuccessfulDispel(SpellEffIndex(effectInfo->EffectIndex));
- m_hitMask |= PROC_HIT_DISPEL;
+ std::ranges::find(m_UniqueTargetInfo, unitTarget->GetGUID(), &TargetInfo::TargetGUID)->ProcHitMask |= PROC_HIT_DISPEL;
}
void Spell::EffectDualWield()
@@ -2936,7 +2936,7 @@ void Spell::EffectInterruptCast()
int32 duration = m_spellInfo->GetDuration();
duration = unitTarget->ModSpellDuration(m_spellInfo, unitTarget, duration, false, 1 << effectInfo->EffectIndex);
unitTarget->GetSpellHistory()->LockSpellSchool(curSpellInfo->GetSchoolMask(), Milliseconds(duration));
- m_hitMask |= PROC_HIT_INTERRUPT;
+ std::ranges::find(m_UniqueTargetInfo, unitTarget->GetGUID(), &TargetInfo::TargetGUID)->ProcHitMask |= PROC_HIT_INTERRUPT;
SendSpellInterruptLog(unitTarget, curSpellInfo->Id);
unitTarget->InterruptSpell(CurrentSpellTypes(i), false);
}
@@ -4148,7 +4148,7 @@ void Spell::EffectDispelMechanic()
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;
+ std::ranges::find(m_UniqueTargetInfo, unitTarget->GetGUID(), &TargetInfo::TargetGUID)->ProcHitMask |= PROC_HIT_DISPEL;
}
void Spell::EffectResurrectPet()
@@ -4713,7 +4713,7 @@ void Spell::EffectStealBeneficialBuff()
m_caster->SendMessageToSet(spellDispellLog.Write(), true);
- m_hitMask |= PROC_HIT_DISPEL;
+ std::ranges::find(m_UniqueTargetInfo, unitTarget->GetGUID(), &TargetInfo::TargetGUID)->ProcHitMask |= PROC_HIT_DISPEL;
}
void Spell::EffectKillCreditPersonal()