aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorSubv <s.v.h21@hotmail.com>2012-04-08 15:08:54 -0500
committerSubv <s.v.h21@hotmail.com>2012-04-08 15:15:06 -0500
commit268401029e1bc3fa0a052cb15d86123c5ecd1e6a (patch)
tree86aa9aa8d232d31dc198ac058b0c7c50c7e14b5a /src/server
parent9d6c8add0e46a4700bed1cfcfdda03775ddcc7c6 (diff)
Core/Spells: Implemented SPELL_ATTR4_IGNORE_RESISTANCES.
Closes #919 Signed-off-by: Subv <s.v.h21@hotmail.com>
Diffstat (limited to 'src/server')
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp3
-rwxr-xr-xsrc/server/game/Miscellaneous/SharedDefines.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 2bc171857fb..8f1481cb01b 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -1540,7 +1540,8 @@ void Unit::CalcAbsorbResist(Unit* victim, SpellSchoolMask schoolMask, DamageEffe
DamageInfo dmgInfo = DamageInfo(this, victim, damage, spellInfo, schoolMask, damagetype);
// Magic damage, check for resists
- if ((schoolMask & SPELL_SCHOOL_MASK_NORMAL) == 0)
+ // Ignore spells that cant be resisted
+ if ((schoolMask & SPELL_SCHOOL_MASK_NORMAL) == 0 && (spellInfo->AttributesEx4 & SPELL_ATTR4_IGNORE_RESISTANCES) == 0)
{
float victimResistance = float(victim->GetResistance(schoolMask));
victimResistance += float(GetTotalAuraModifierByMiscMask(SPELL_AURA_MOD_TARGET_RESISTANCE, schoolMask));
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index df524b1409e..f578e24a20d 100755
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -410,7 +410,7 @@ enum SpellAttr3
enum SpellAttr4
{
- SPELL_ATTR4_UNK0 = 0x00000001, // 0
+ SPELL_ATTR4_IGNORE_RESISTANCES = 0x00000001, // 0 spells with this attribute will completely ignore the target resistances (theese spells cant be resisted)
SPELL_ATTR4_PROC_ONLY_ON_CASTER = 0x00000002, // 1 proc only on effects with TARGET_UNIT_CASTER?
SPELL_ATTR4_UNK2 = 0x00000004, // 2
SPELL_ATTR4_UNK3 = 0x00000008, // 3