aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormegamage <none@none>2008-10-21 17:10:05 -0500
committermegamage <none@none>2008-10-21 17:10:05 -0500
commit96d1c9f4d6194bb5ebc26e12df5d2ee92a0a8032 (patch)
tree60488a036e747254edf2160f133f664a3b1d7503 /src
parent9688da09b02049c7a9e8138b794771246d1c63c7 (diff)
[svn] Fix cloak of shadows. Dispel type should be based on SPELL_DAMAGE_CLASS_MAGIC.
Fix: SPELL_DAMAGE_CLASS_NONE type spells should never miss. --HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/SpellEffects.cpp4
-rw-r--r--src/game/Unit.cpp1
2 files changed, 3 insertions, 2 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 085fb44b136..fcfb8e89314 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -1773,8 +1773,8 @@ void Spell::EffectTriggerSpell(uint32 i)
// remove all harmful spells on you...
if( // ignore positive and passive auras
!iter->second->IsPositive() && !iter->second->IsPassive() &&
- // ignore physical auras
- (GetSpellSchoolMask(iter->second->GetSpellProto()) & SPELL_SCHOOL_MASK_NORMAL)==0 &&
+ // only affect magic spells
+ iter->second->GetSpellProto()->DmgClass == SPELL_DAMAGE_CLASS_MAGIC &&
// ignore immunity persistent spells
!( iter->second->GetSpellProto()->AttributesEx & 0x10000 ) )
{
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index d6347ff5491..60c2b6e8f0f 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -2905,6 +2905,7 @@ SpellMissInfo Unit::SpellHitResult(Unit *pVictim, SpellEntry const *spell, bool
// return MeleeSpellHitResult(pVictim, spell);
return SPELL_MISS_NONE;
case SPELL_DAMAGE_CLASS_NONE:
+ return SPELL_MISS_NONE;
case SPELL_DAMAGE_CLASS_MAGIC:
return MagicSpellHitResult(pVictim, spell);
}