From 045307cd6e0f6bb01eb8123aa0f3be9c23d87638 Mon Sep 17 00:00:00 2001 From: ariel- Date: Wed, 15 Mar 2017 13:46:56 -0300 Subject: [PATCH] Core/Auras: unregister AuraEffect from target list before changing amount, forces recalculation at stack change Closes #19301 --- src/server/game/Spells/Auras/SpellAuraEffects.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 697e146206f..6bd94c11a74 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -709,7 +709,10 @@ void AuraEffect::ChangeAmount(int32 newAmount, bool mark, bool onStackOrReapply) GetApplicationList(effectApplications); for (AuraApplication* aurApp : effectApplications) + { + aurApp->GetTarget()->_RegisterAuraEffect(this, false); HandleEffect(aurApp, handleMask, false); + } if (handleMask & AURA_EFFECT_HANDLE_CHANGE_AMOUNT) { @@ -721,7 +724,10 @@ void AuraEffect::ChangeAmount(int32 newAmount, bool mark, bool onStackOrReapply) } for (AuraApplication* aurApp : effectApplications) + { + aurApp->GetTarget()->_RegisterAuraEffect(this, true); HandleEffect(aurApp, handleMask, true); + } } void AuraEffect::HandleEffect(AuraApplication * aurApp, uint8 mode, bool apply)