diff options
author | Shauren <shauren.trinity@gmail.com> | 2013-03-22 21:21:09 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2013-03-22 21:21:09 +0100 |
commit | d40a16a95f3bce5959b7002cbefb53c13079476a (patch) | |
tree | 56f06e4fc3b7ff4156956792f9a88940ad9419e5 /src/server | |
parent | 15a249e28c3a6fbd44c964e48052651580caceb7 (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.cpp | 5 |
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) |