Core/Spells: Fixed Evasive Maneuvers and Stop Time, spells from the Oculus drakes.
Closes #6670 Closes #6675
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
DELETE FROM `spell_script_names` WHERE `spell_id`=49838;
|
||||||
|
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
|
||||||
|
(49838, "spell_gen_stop_time");
|
||||||
@@ -8205,6 +8205,14 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg
|
|||||||
CastSpell(victim, 27526, true, castItem, triggeredByAura);
|
CastSpell(victim, 27526, true, castItem, triggeredByAura);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
// Evasive Maneuvers
|
||||||
|
case 50240:
|
||||||
|
{
|
||||||
|
// Remove a Evasive Charge
|
||||||
|
Aura* charge = GetAura(50241);
|
||||||
|
if (charge->ModStackAmount(-1, AURA_REMOVE_BY_ENEMY_SPELL))
|
||||||
|
RemoveAurasDueToSpell(50240);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SPELLFAMILY_MAGE:
|
case SPELLFAMILY_MAGE:
|
||||||
|
|||||||
@@ -1736,6 +1736,7 @@ AuraStateType SpellInfo::GetAuraState() const
|
|||||||
switch (Id)
|
switch (Id)
|
||||||
{
|
{
|
||||||
case 71465: // Divine Surge
|
case 71465: // Divine Surge
|
||||||
|
case 50241: // Evasive Charges
|
||||||
return AURA_STATE_UNKNOWN22;
|
return AURA_STATE_UNKNOWN22;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -47,7 +47,9 @@ enum Drakes
|
|||||||
|
|
||||||
NPC_VERDISA = 27657,
|
NPC_VERDISA = 27657,
|
||||||
NPC_BELGARISTRASZ = 27658,
|
NPC_BELGARISTRASZ = 27658,
|
||||||
NPC_ETERNOS = 27659
|
NPC_ETERNOS = 27659,
|
||||||
|
|
||||||
|
SPELL_SHOCK_CHARGE = 49836,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Says
|
enum Says
|
||||||
@@ -210,8 +212,40 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class spell_gen_stop_time : public SpellScriptLoader
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
spell_gen_stop_time() : SpellScriptLoader("spell_gen_stop_time") { }
|
||||||
|
|
||||||
|
class spell_gen_stop_time_AuraScript : public AuraScript
|
||||||
|
{
|
||||||
|
PrepareAuraScript(spell_gen_stop_time_AuraScript);
|
||||||
|
|
||||||
|
void Apply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||||
|
{
|
||||||
|
Unit* caster = GetCaster();
|
||||||
|
if (!caster)
|
||||||
|
return;
|
||||||
|
Unit* target = GetTarget();
|
||||||
|
for (uint32 i = 0; i < 5; ++i)
|
||||||
|
caster->CastSpell(target, SPELL_SHOCK_CHARGE, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Register()
|
||||||
|
{
|
||||||
|
AfterEffectApply += AuraEffectApplyFn(spell_gen_stop_time_AuraScript::Apply, EFFECT_0);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
AuraScript* GetAuraScript() const
|
||||||
|
{
|
||||||
|
return new spell_gen_stop_time_AuraScript();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
void AddSC_oculus()
|
void AddSC_oculus()
|
||||||
{
|
{
|
||||||
new npc_oculus_drake();
|
new npc_oculus_drake();
|
||||||
new npc_image_belgaristrasz();
|
new npc_image_belgaristrasz();
|
||||||
|
new spell_gen_stop_time();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user