Core/Scripts: Implemented Shifting Naaru Sliver

This commit is contained in:
ariel-
2018-01-02 02:58:19 -03:00
parent de3fd4d076
commit a5d4f34c31
2 changed files with 45 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_item_power_circle';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(45043, 'spell_item_power_circle');

View File

@@ -1533,6 +1533,47 @@ class spell_item_piccolo_of_the_flaming_fire : public SpellScript
}
};
enum PowerCircle
{
SPELL_LIMITLESS_POWER = 45044
};
// 45043 - Power Circle (Shifting Naaru Sliver)
class spell_item_power_circle : public AuraScript
{
PrepareAuraScript(spell_item_power_circle);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_LIMITLESS_POWER });
}
bool CheckCaster(Unit* target)
{
return target->GetGUID() == GetCasterGUID();
}
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
GetTarget()->CastSpell(nullptr, SPELL_LIMITLESS_POWER, true);
if (Aura* buff = GetTarget()->GetAura(SPELL_LIMITLESS_POWER))
buff->SetDuration(GetDuration());
}
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
GetTarget()->RemoveAurasDueToSpell(SPELL_LIMITLESS_POWER);
}
void Register() override
{
DoCheckAreaTarget += AuraCheckAreaTargetFn(spell_item_power_circle::CheckCaster);
AfterEffectApply += AuraEffectApplyFn(spell_item_power_circle::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
AfterEffectRemove += AuraEffectRemoveFn(spell_item_power_circle::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
}
};
// http://www.wowhead.com/item=6657 Savory Deviate Delight
// 8213 Savory Deviate Delight
enum SavoryDeviateDelight
@@ -3940,6 +3981,7 @@ void AddSC_item_spell_scripts()
RegisterAuraScript(spell_item_persistent_shield);
RegisterAuraScript(spell_item_pet_healing);
RegisterSpellScript(spell_item_piccolo_of_the_flaming_fire);
RegisterAuraScript(spell_item_power_circle);
RegisterSpellScript(spell_item_savory_deviate_delight);
RegisterSpellScript(spell_item_scroll_of_recall);
RegisterAuraScript(spell_item_unsated_craving);