aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeader <keader.android@gmail.com>2017-10-07 18:38:11 -0300
committerGitHub <noreply@github.com>2017-10-07 18:38:11 -0300
commit98c363154ad6906fb9cfaeb2ac13b77c8540c73d (patch)
tree6d1e97c96d383edc19199f63ad6ce287e9a6c234
parent607034064f04b33f5de6e166a87c8e1c8a2fe953 (diff)
Core/Spells: Fixed issues with School Immune vs SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE (#20546)
-rw-r--r--sql/updates/world/3.3.5/2017_10_07_03_world.sql1
-rw-r--r--src/server/game/Spells/SpellInfo.cpp3
2 files changed, 3 insertions, 1 deletions
diff --git a/sql/updates/world/3.3.5/2017_10_07_03_world.sql b/sql/updates/world/3.3.5/2017_10_07_03_world.sql
new file mode 100644
index 00000000000..29ef92f27a1
--- /dev/null
+++ b/sql/updates/world/3.3.5/2017_10_07_03_world.sql
@@ -0,0 +1 @@
+UPDATE `spell_dbc` SET `Attributes`= `Attributes` &~ 0x20000000 WHERE `Id`=35729;
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index 99b8aa3cff0..477e3ba7428 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -1369,7 +1369,8 @@ bool SpellInfo::CanDispelAura(SpellInfo const* auraSpellInfo) const
return true;
// These auras (Cyclone for example) are not dispelable
- if (auraSpellInfo->HasAttribute(SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE) || auraSpellInfo->HasAttribute(SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE))
+ if ((auraSpellInfo->HasAttribute(SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE) && auraSpellInfo->Mechanic != MECHANIC_NONE)
+ || auraSpellInfo->HasAttribute(SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE))
return false;
return true;