aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2013-03-22 21:21:09 +0100
committerShauren <shauren.trinity@gmail.com>2013-03-22 21:21:09 +0100
commitd40a16a95f3bce5959b7002cbefb53c13079476a (patch)
tree56f06e4fc3b7ff4156956792f9a88940ad9419e5 /src/server
parent15a249e28c3a6fbd44c964e48052651580caceb7 (diff)
Core/Auras: Fixed client freezes happening with scalable auras that do not have all effects applied on all targets
Closes #8913
Diffstat (limited to 'src/server')
-rw-r--r--src/server/game/Spells/Auras/SpellAuras.cpp5
1 files changed, 3 insertions, 2 deletions
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)