From 417b300afc255cd6f153cd2a7e015470faf485f1 Mon Sep 17 00:00:00 2001 From: Keader Date: Sat, 7 Oct 2017 18:38:11 -0300 Subject: [PATCH] Core/Spells: Fixed issues with School Immune vs SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE (#20546) --- sql/updates/world/3.3.5/2017_10_07_03_world.sql | 1 + src/server/game/Spells/SpellInfo.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 sql/updates/world/3.3.5/2017_10_07_03_world.sql 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 7b77dad25cf..10c032f2abb 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1491,7 +1491,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;