From 04f05896e2d54204f6dc1e0f89eef591f8979980 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sat, 11 Apr 2020 10:26:34 +0200 Subject: [PATCH] Core/Spells: re-send aura effect values when a aura with SPELL_ATTR8_AURA_SEND_AMOUNT gets its amount changed --- src/server/game/Spells/Auras/SpellAuraEffects.cpp | 9 +++++++++ src/server/game/Spells/Auras/SpellAuraEffects.h | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 7a1c05040dc..7229cf42ab4 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -478,6 +478,15 @@ void AuraEffect::GetApplicationList(Container& applicationContainer) const } } +void AuraEffect::SetAmount(int32 amount) +{ + m_amount = amount; + m_canBeRecalculated = false; + + if (GetSpellInfo()->HasAttribute(SPELL_ATTR8_AURA_SEND_AMOUNT)) + GetBase()->SetNeedClientUpdateForTargets(); +} + int32 AuraEffect::CalculateAmount(Unit* caster) { // default amount calculation diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.h b/src/server/game/Spells/Auras/SpellAuraEffects.h index 01555d7c4cd..bfc626546d1 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.h +++ b/src/server/game/Spells/Auras/SpellAuraEffects.h @@ -55,7 +55,7 @@ class TC_GAME_API AuraEffect int32 GetMiscValue() const { return m_spellInfo->Effects[m_effIndex].MiscValue; } AuraType GetAuraType() const { return (AuraType)m_spellInfo->Effects[m_effIndex].ApplyAuraName; } int32 GetAmount() const { return m_amount; } - void SetAmount(int32 amount) { m_amount = amount; m_canBeRecalculated = false;} + void SetAmount(int32 amount); int32 GetPeriodicTimer() const { return m_periodicTimer; } void SetPeriodicTimer(int32 periodicTimer) { m_periodicTimer = periodicTimer; }