diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SpellEffects.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index ac9eb2d142d..88d5dbcc982 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -3263,8 +3263,9 @@ void Spell::EffectDispel(uint32 i) if(positive == unitTarget->IsFriendlyTo(m_caster)) continue; } - // Add aura to dispel list - dispel_list.push_back(aur); + // Add every aura stack to dispel list + for(uint32 stack_amount = 0; stack_amount < aur->GetStackAmount(); ++stack_amount) + dispel_list.push_back(aur); } } // Ok if exist some buffs for dispel try dispel it @@ -3302,6 +3303,7 @@ void Spell::EffectDispel(uint32 i) { j = dispel_list.erase(j); --list_size; + break; } else ++j; |