aboutsummaryrefslogtreecommitdiff
path: root/src/game/Unit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r--src/game/Unit.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 4cef59a9037..e12b7ecd7ca 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -13340,6 +13340,12 @@ void Unit::AddPetAura(PetAura const* petSpell)
if(GetTypeId() != TYPEID_PLAYER)
return;
+ // Aura already added - not need to add it twice
+ // This check is to prevent existing pet having aura applied twice (passive auras can stack)
+ // if aura has more than 1 dummy effect
+ if (m_petAuras.find(petSpell)!= m_petAuras.end())
+ return;
+
m_petAuras.insert(petSpell);
if(Pet* pet = ((Player*)this)->GetPet())
pet->CastPetAura(petSpell);