From e2d8faea093ab9aeeca1bbd8bba98fb06527a35b Mon Sep 17 00:00:00 2001 From: QAston Date: Sat, 20 Aug 2011 00:29:57 +0200 Subject: Core/Spells: move Cannibalize and Carrion Feeder cast checks to SpellScripts. --- src/server/game/Spells/Spell.cpp | 49 ++++------------------------------------ 1 file changed, 4 insertions(+), 45 deletions(-) (limited to 'src/server/game/Spells/Spell.cpp') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index c602a071c23..1dff9a2f3ce 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -652,51 +652,10 @@ void Spell::SelectSpellTargets() { case SPELL_EFFECT_DUMMY: { - switch(m_spellInfo->Id) - { - case 20577: // Cannibalize - case 54044: // Carrion Feeder - { - WorldObject* result = NULL; - if (m_spellInfo->Id == 20577) - result = FindCorpseUsing(); - else - result = FindCorpseUsing(); - - if (result) - { - switch(result->GetTypeId()) - { - case TYPEID_UNIT: - case TYPEID_PLAYER: - AddUnitTarget((Unit*)result, i); - break; - case TYPEID_CORPSE: - m_targets.SetCorpseTarget((Corpse*)result); - if (Player* owner = ObjectAccessor::FindPlayer(((Corpse*)result)->GetOwnerGUID())) - AddUnitTarget(owner, i); - break; - default: - break; - } - } - else - { - // clear cooldown at fail - if (m_caster->GetTypeId() == TYPEID_PLAYER) - m_caster->ToPlayer()->RemoveSpellCooldown(m_spellInfo->Id, true); - SendCastResult(SPELL_FAILED_NO_EDIBLE_CORPSES); - finish(false); - } - break; - } - default: - if (m_targets.GetUnitTarget()) - AddUnitTarget(m_targets.GetUnitTarget(), i, false); - else - AddUnitTarget(m_caster, i, false); - break; - } + if (m_targets.GetUnitTarget()) + AddUnitTarget(m_targets.GetUnitTarget(), i, false); + else + AddUnitTarget(m_caster, i, false); break; } case SPELL_EFFECT_BIND: -- cgit v1.2.3