aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index b1b23753832..5ef40a06a7e 100755
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -4941,6 +4941,12 @@ SpellCastResult Spell::CheckCast(bool strict)
bool hasDispellableAura = false;
for (int i = 0; i < MAX_SPELL_EFFECTS; i++)
if (m_spellInfo->Effects[i].Effect == SPELL_EFFECT_DISPEL)
+ {
+ if (m_spellInfo->Effects[i].TargetA.IsArea() || m_spellInfo->Effects[i].TargetB.IsArea())
+ {
+ hasDispellableAura = true;
+ break;
+ }
if (Unit* target = m_targets.GetUnitTarget())
{
DispelChargesList dispelList;
@@ -4952,6 +4958,7 @@ SpellCastResult Spell::CheckCast(bool strict)
break;
}
}
+ }
if (!hasDispellableAura && m_spellInfo->HasEffect(SPELL_EFFECT_DISPEL))
return SPELL_FAILED_NOTHING_TO_DISPEL;