[9363] Implement new way spell 1535 and ranks work.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also implemented spell casting requirement check and proper animation.
This commit is contained in:
laise 2010-02-12 10:57:50 +03:00 committed by VladimirMangos
parent 268bb3221b
commit 6fbe7f4307
3 changed files with 40 additions and 1 deletions

View file

@ -4485,6 +4485,13 @@ SpellCastResult Spell::CheckCast(bool strict)
if(m_targets.getUnitTarget() && !m_caster->IsFriendlyTo(m_targets.getUnitTarget()) && !m_caster->HasInArc( M_PI_F, m_targets.getUnitTarget() ))
return SPELL_FAILED_UNIT_NOT_INFRONT;
}
// Fire Nova
if (m_spellInfo->SpellFamilyName == SPELLFAMILY_SHAMAN && m_spellInfo->SpellIconID == 33)
{
// fire totems slot
if (!m_caster->m_TotemSlot[0])
return SPELL_FAILED_TOTEMS;
}
break;
}
case SPELL_EFFECT_SCHOOL_DAMAGE:

View file

@ -1982,6 +1982,38 @@ void Spell::EffectDummy(uint32 i)
}
return;
}
// Fire Nova
if (m_spellInfo->SpellIconID == 33)
{
// fire totems slot
if (!m_caster->m_TotemSlot[0])
return;
Creature* totem = m_caster->GetMap()->GetCreature(m_caster->m_TotemSlot[0]);
if (!totem)
return;
uint32 triggered_spell_id;
switch(m_spellInfo->Id)
{
case 1535: triggered_spell_id = 8349; break;
case 8498: triggered_spell_id = 8502; break;
case 8499: triggered_spell_id = 8503; break;
case 11314: triggered_spell_id = 11306; break;
case 11315: triggered_spell_id = 11307; break;
case 25546: triggered_spell_id = 25535; break;
case 25547: triggered_spell_id = 25537; break;
case 61649: triggered_spell_id = 61650; break;
case 61657: triggered_spell_id = 61654; break;
default: return;
}
totem->CastSpell(totem, triggered_spell_id, true, NULL, NULL, m_caster->GetGUID());
// Fire Nova Visual
totem->CastSpell(totem, 19823, true, NULL, NULL, m_caster->GetGUID());
return;
}
break;
case SPELLFAMILY_DEATHKNIGHT:
// Death Coil

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "9362"
#define REVISION_NR "9363"
#endif // __REVISION_NR_H__