mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 22:37:03 +00:00
[9130] Implement spell 48603 script effect.
Also apply some ordering to existed spell cases code.
This commit is contained in:
parent
3e3c090348
commit
57f495de35
2 changed files with 53 additions and 48 deletions
|
|
@ -4947,23 +4947,6 @@ void Spell::EffectScriptEffect(uint32 effIndex)
|
||||||
{
|
{
|
||||||
switch(m_spellInfo->Id)
|
switch(m_spellInfo->Id)
|
||||||
{
|
{
|
||||||
// PX-238 Winter Wondervolt TRAP
|
|
||||||
case 26275:
|
|
||||||
{
|
|
||||||
uint32 spells[4] = { 26272, 26157, 26273, 26274 };
|
|
||||||
|
|
||||||
// check presence
|
|
||||||
for(int j = 0; j < 4; ++j)
|
|
||||||
if(unitTarget->HasAura(spells[j],0))
|
|
||||||
return;
|
|
||||||
|
|
||||||
// select spell
|
|
||||||
uint32 iTmpSpellId = spells[urand(0,3)];
|
|
||||||
|
|
||||||
// cast
|
|
||||||
unitTarget->CastSpell(unitTarget, iTmpSpellId, true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// Bending Shinbone
|
// Bending Shinbone
|
||||||
case 8856:
|
case 8856:
|
||||||
{
|
{
|
||||||
|
|
@ -4980,10 +4963,45 @@ void Spell::EffectScriptEffect(uint32 effIndex)
|
||||||
m_caster->CastSpell(m_caster,spell_id,true,NULL);
|
m_caster->CastSpell(m_caster,spell_id,true,NULL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Piccolo of the Flaming Fire
|
||||||
|
case 17512:
|
||||||
|
{
|
||||||
|
if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
|
||||||
|
return;
|
||||||
|
unitTarget->HandleEmoteCommand(EMOTE_STATE_DANCE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Escape artist
|
||||||
|
case 20589:
|
||||||
|
{
|
||||||
|
if(!unitTarget)
|
||||||
|
return;
|
||||||
|
|
||||||
|
unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_ROOT);
|
||||||
|
unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_DECREASE_SPEED);
|
||||||
|
return;
|
||||||
|
}
|
||||||
// Brittle Armor - need remove one 24575 Brittle Armor aura
|
// Brittle Armor - need remove one 24575 Brittle Armor aura
|
||||||
case 24590:
|
case 24590:
|
||||||
unitTarget->RemoveSingleSpellAurasFromStack(24575);
|
unitTarget->RemoveSingleSpellAurasFromStack(24575);
|
||||||
return;
|
return;
|
||||||
|
// PX-238 Winter Wondervolt TRAP
|
||||||
|
case 26275:
|
||||||
|
{
|
||||||
|
uint32 spells[4] = { 26272, 26157, 26273, 26274 };
|
||||||
|
|
||||||
|
// check presence
|
||||||
|
for(int j = 0; j < 4; ++j)
|
||||||
|
if(unitTarget->HasAura(spells[j],0))
|
||||||
|
return;
|
||||||
|
|
||||||
|
// select spell
|
||||||
|
uint32 iTmpSpellId = spells[urand(0,3)];
|
||||||
|
|
||||||
|
// cast
|
||||||
|
unitTarget->CastSpell(unitTarget, iTmpSpellId, true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
// Mercurial Shield - need remove one 26464 Mercurial Shield aura
|
// Mercurial Shield - need remove one 26464 Mercurial Shield aura
|
||||||
case 26465:
|
case 26465:
|
||||||
unitTarget->RemoveSingleSpellAurasFromStack(26464);
|
unitTarget->RemoveSingleSpellAurasFromStack(26464);
|
||||||
|
|
@ -5061,36 +5079,6 @@ void Spell::EffectScriptEffect(uint32 effIndex)
|
||||||
unitTarget->CastSpell(unitTarget, 26655, false);
|
unitTarget->CastSpell(unitTarget, 26655, false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Piccolo of the Flaming Fire
|
|
||||||
case 17512:
|
|
||||||
{
|
|
||||||
if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
|
|
||||||
return;
|
|
||||||
unitTarget->HandleEmoteCommand(EMOTE_STATE_DANCE);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// Demonic Empowerment (succubus Vanish effect)
|
|
||||||
case 54436:
|
|
||||||
{
|
|
||||||
if(!unitTarget)
|
|
||||||
return;
|
|
||||||
|
|
||||||
unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_ROOT);
|
|
||||||
unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_DECREASE_SPEED);
|
|
||||||
unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_STALKED);
|
|
||||||
unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_STUN);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// Escape artist
|
|
||||||
case 20589:
|
|
||||||
{
|
|
||||||
if(!unitTarget)
|
|
||||||
return;
|
|
||||||
|
|
||||||
unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_ROOT);
|
|
||||||
unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_DECREASE_SPEED);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// Mirren's Drinking Hat
|
// Mirren's Drinking Hat
|
||||||
case 29830:
|
case 29830:
|
||||||
{
|
{
|
||||||
|
|
@ -5178,6 +5166,11 @@ void Spell::EffectScriptEffect(uint32 effIndex)
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// High Executor's Branding Iron
|
||||||
|
case 48603:
|
||||||
|
// Torture the Torturer: High Executor's Branding Iron Impact
|
||||||
|
unitTarget->CastSpell(unitTarget, 48614, true);
|
||||||
|
return;
|
||||||
// Emblazon Runeblade
|
// Emblazon Runeblade
|
||||||
case 51770:
|
case 51770:
|
||||||
{
|
{
|
||||||
|
|
@ -5215,6 +5208,18 @@ void Spell::EffectScriptEffect(uint32 effIndex)
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Demonic Empowerment (succubus Vanish effect)
|
||||||
|
case 54436:
|
||||||
|
{
|
||||||
|
if(!unitTarget)
|
||||||
|
return;
|
||||||
|
|
||||||
|
unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_ROOT);
|
||||||
|
unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_DECREASE_SPEED);
|
||||||
|
unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_STALKED);
|
||||||
|
unitTarget->RemoveSpellsCausingAura(SPELL_AURA_MOD_STUN);
|
||||||
|
return;
|
||||||
|
}
|
||||||
case 55693: // Remove Collapsing Cave Aura
|
case 55693: // Remove Collapsing Cave Aura
|
||||||
if(!unitTarget)
|
if(!unitTarget)
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "9129"
|
#define REVISION_NR "9130"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue