aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2011-08-21 19:03:24 +0200
committerShauren <shauren.trinity@gmail.com>2011-08-21 19:03:24 +0200
commitcb9985c054ff61c6b612effde782682e669e66fd (patch)
treea359eec247ca187e143c12eb3fdd5a1225529221 /src
parentd5fbd223c610f7f223ffaa7268e7b20ebc0f002f (diff)
Core/Spells: Check SPELL_AURA_PREVENT_RESSURECTION on targets for resurrection spells
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/SpellInfo.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index 38dcfa85acd..4c118942ac7 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -1515,7 +1515,7 @@ SpellCastResult SpellInfo::CheckTarget(Unit const* caster, Unit const* target, b
if (!(AttributesEx6 & SPELL_ATTR6_CAN_TARGET_UNTARGETABLE) && target->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE))
return SPELL_FAILED_BAD_TARGETS;
-
+
//if (!(AttributesEx6 & SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS)
if (!CheckTargetCreatureType(target))
@@ -1592,6 +1592,11 @@ SpellCastResult SpellInfo::CheckTarget(Unit const* caster, Unit const* target, b
}
}
}
+
+ if (target->HasAuraType(SPELL_AURA_PREVENT_RESSURECTION))
+ if (HasEffect(SPELL_EFFECT_SELF_RESURRECT) || HasEffect(SPELL_EFFECT_RESURRECT) || HasEffect(SPELL_EFFECT_RESURRECT_NEW))
+ return SPELL_FAILED_TARGET_CANNOT_BE_RESURRECTED;
+
return SPELL_CAST_OK;
}