aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortreeston <treeston.mmoc@gmail.com>2016-02-13 03:17:01 +0100
committerShauren <shauren.trinity@gmail.com>2016-04-05 22:12:11 +0200
commit60b98ecc2734188ddec43798c87cdf8e3b96482d (patch)
treea11cf2bf91aed63ab8bde619e48c80b49ba590c7 /src
parentf63db31c42a4947f8580dab04ba3c3a51b69dbc3 (diff)
Revert "Merge pull request #16483 from Treeston/3.3.5-debuffimmunity" to fix #16589 while I investigate the retail behavior of SPELL_ATTR_0_UNAFFECTED_BY_INVULERABILITY further.
This reverts commit d67e87733b2e258dc4f5613ee7fa40445e3b215f, reversing changes made to cfed2d7a3ddf4f8121d3359f9888e6116fc82e62. (cherry picked from commit 26bbba4b8d5fab1a1ccb1c164694f790864ec8e1)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp2
-rw-r--r--src/server/game/Spells/SpellInfo.cpp12
2 files changed, 5 insertions, 9 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 5811a6f109c..ea6b607e7a3 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -3568,7 +3568,7 @@ void AuraEffect::HandleAuraModSchoolImmunity(AuraApplication const* aurApp, uint
&& !iter->second->IsPositive() //Don't remove positive spells
&& spell->Id != GetId()) //Don't remove self
{
- target->RemoveAura(iter, AURA_REMOVE_BY_ENEMY_SPELL);
+ target->RemoveAura(iter);
}
else
++iter;
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index 190903b013b..9e97fb3b8c7 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -1583,18 +1583,14 @@ bool SpellInfo::CanDispelAura(SpellInfo const* aura) const
if (Attributes & SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY && !aura->IsDeathPersistent())
return true;
- // These auras (Cyclone for example) are not dispelable
- if (aura->HasAttribute(SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE))
- return false;
-
- // Divine Shield etc can dispel auras if they don't ignore school immunity
- if (HasAttribute(SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY) && !aura->IsDeathPersistent())
- return true;
-
// These auras (like Divine Shield) can't be dispelled
if (aura->HasAttribute(SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY))
return false;
+ // These auras (Cyclone for example) are not dispelable
+ if (aura->HasAttribute(SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE))
+ return false;
+
return true;
}