[10837] Implement script effect of spell 26218.

Also do small spells ordering around.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
Schmoozerd 2010-12-08 06:01:56 +03:00 committed by VladimirMangos
parent 29d5f56247
commit 8d5fdb300e
2 changed files with 33 additions and 23 deletions

View file

@ -5688,6 +5688,31 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_DECREASE_SPEED);
return;
}
case 22539: // Shadow Flame (All script effects, not just end ones to
case 22972: // prevent player from dodging the last triggered spell)
case 22975:
case 22976:
case 22977:
case 22978:
case 22979:
case 22980:
case 22981:
case 22982:
case 22983:
case 22984:
case 22985:
{
if (!unitTarget || !unitTarget->isAlive())
return;
// Onyxia Scale Cloak
if (unitTarget->GetDummyAura(22683))
return;
// Shadow Flame
m_caster->CastSpell(unitTarget, 22682, true);
return;
}
case 24590: // Brittle Armor - need remove one 24575 Brittle Armor aura
unitTarget->RemoveAuraHolderFromStack(24575);
return;
@ -5707,9 +5732,6 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
unitTarget->CastSpell(unitTarget, iTmpSpellId, true);
return;
}
case 26465: // Mercurial Shield - need remove one 26464 Mercurial Shield aura
unitTarget->RemoveAuraHolderFromStack(26464);
return;
case 25140: // Orb teleport spells
case 25143:
case 25650:
@ -5740,31 +5762,19 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
unitTarget->CastSpell(unitTarget,spellid,false);
return;
}
case 22539: // Shadow Flame (All script effects, not just end ones to
case 22972: // prevent player from dodging the last triggered spell)
case 22975:
case 22976:
case 22977:
case 22978:
case 22979:
case 22980:
case 22981:
case 22982:
case 22983:
case 22984:
case 22985:
case 26218: // Mistletoe
{
if (!unitTarget || !unitTarget->isAlive())
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
return;
// Onyxia Scale Cloak
if (unitTarget->GetDummyAura(22683))
return;
uint32 spells[3] = {26206, 26207, 45036};
// Shadow Flame
m_caster->CastSpell(unitTarget, 22682, true);
m_caster->CastSpell(unitTarget, spells[urand(0, 2)], true);
return;
}
case 26465: // Mercurial Shield - need remove one 26464 Mercurial Shield aura
unitTarget->RemoveAuraHolderFromStack(26464);
return;
case 26656: // Summon Black Qiraji Battle Tank
{
if (!unitTarget)