aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQAston <qaston@gmail.com>2011-07-28 03:08:42 +0200
committerQAston <qaston@gmail.com>2011-07-28 03:08:42 +0200
commitf33a0c23caf9897223e47d3be318ed8d5a09de46 (patch)
treee2efc0b6e2ef85bd6b778e9c87cfe8523b996bc5
parent7094f5784129d4277a268d5c2808a00df47fee7e (diff)
Core/Spells: Fix passive auras stacking logic after recent changes.
Closes #2417
-rwxr-xr-xsrc/server/game/Spells/Auras/SpellAuras.cpp4
-rw-r--r--src/server/game/Spells/SpellInfo.cpp2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index 0d0c6c4e86e..7dbf4a0f59c 100755
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -1771,8 +1771,8 @@ bool Aura::CanStackWith(Aura const* existingAura) const
SpellInfo const* existingSpellInfo = existingAura->GetSpellInfo();
bool sameCaster = GetCasterGUID() == existingAura->GetCasterGUID();
- // passive auras don't stack when cast by different casters, or with another rank of the spell
- if (IsPassive() && (!sameCaster || !m_spellInfo->IsDifferentRankOf(existingSpellInfo)))
+ // passive auras don't stack with another rank of the spell cast by same caster
+ if (IsPassive() && sameCaster && m_spellInfo->IsDifferentRankOf(existingSpellInfo))
return false;
for (uint8 i = 0; i < MAX_SPELL_EFFECTS; ++i)
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index c59492c9ec3..8f89228513a 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -803,7 +803,7 @@ bool SpellInfo::CanBeUsedInCombat() const
bool SpellInfo::IsPositive() const
{
- return AttributesCu & SPELL_ATTR0_CU_NEGATIVE;
+ return !(AttributesCu & SPELL_ATTR0_CU_NEGATIVE);
}
bool SpellInfo::IsPositiveEffect(uint8 effIndex) const