aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Unit.cpp12
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;
}
}