From 01c2a6d87c1ebb95a49bc9fa0c45312b93e189be Mon Sep 17 00:00:00 2001 From: Shocker Date: Wed, 8 Sep 2010 07:01:55 +0300 Subject: Core/Spells: Don't allow most spells to be casted while dead --HG-- branch : trunk --- src/server/game/Spells/Spell.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 09eb0c4f710..bb2d38aca6d 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4701,6 +4701,10 @@ void Spell::HandleEffects(Unit *pUnitTarget,Item *pItemTarget,GameObject *pGOTar SpellCastResult Spell::CheckCast(bool strict) { + // check death state + if (!m_caster->isAlive() && !(m_spellInfo->Attributes & SPELL_ATTR_PASSIVE) && !(m_spellInfo->Attributes & SPELL_ATTR_CASTABLE_WHILE_DEAD)) + return SPELL_FAILED_CASTER_DEAD; + // check cooldowns to prevent cheating if (m_caster->GetTypeId() == TYPEID_PLAYER && !(m_spellInfo->Attributes & SPELL_ATTR_PASSIVE)) { -- cgit v1.2.3