From d40a16a95f3bce5959b7002cbefb53c13079476a Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 22 Mar 2013 21:21:09 +0100 Subject: Core/Auras: Fixed client freezes happening with scalable auras that do not have all effects applied on all targets Closes #8913 --- src/server/game/Spells/Auras/SpellAuras.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 8687034a9f3..99fbd8fbe03 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -212,8 +212,9 @@ void AuraApplication::BuildUpdatePacket(ByteBuffer& data, bool remove) const if (flags & AFLAG_ANY_EFFECT_AMOUNT_SENT) for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i) - if (AuraEffect const* eff = aura->GetEffect(i)) // NULL if effect flag not set - data << int32(eff->GetAmount()); + if (AuraEffect const* eff = aura->GetEffect(i)) + if (HasEffect(i)) // Not all of aura's effects have to be applied on every target + data << int32(eff->GetAmount()); } void AuraApplication::ClientUpdate(bool remove) -- cgit v1.2.3