diff options
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r-- | src/game/Unit.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index cce161acaae..8c87dc044fa 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -3815,12 +3815,14 @@ bool Unit::AddAura(Aura *Aur, bool handleEffects) // find current aura from spell and change it's stackamount if (Aura * foundAura = GetAura(aurSpellInfo->Id, Aur->GetCasterGUID())) { - uint8 stackAmount = foundAura->GetStackAmount() + 1; - if (stackAmount > aurSpellInfo->StackAmount) - stackAmount = aurSpellInfo->StackAmount; - Aur->SetStackAmount(stackAmount, false); + if(foundAura->aurSpellInfo->StackAmount) + { + uint8 stackAmount = foundAura->GetStackAmount() + 1; + if (stackAmount > aurSpellInfo->StackAmount) + stackAmount = aurSpellInfo->StackAmount; + Aur->SetStackAmount(stackAmount, false); + } RemoveAura(foundAura, AURA_REMOVE_BY_STACK); - return true; } } |