From ef4c878d260c0e01a6ab2f4391af46c261d04785 Mon Sep 17 00:00:00 2001 From: offl <11556157+offl@users.noreply.github.com> Date: Wed, 24 Nov 2021 17:05:01 +0200 Subject: Scripts/Spells: Small cleanup for gen/item spell scripts (#27311) --- .../SunwellPlateau/boss_brutallus.cpp | 20 ++++++++++++++++ .../EasternKingdoms/SunwellPlateau/boss_muru.cpp | 27 ++++++++++++++++++++++ 2 files changed, 47 insertions(+) (limited to 'src/server/scripts/EasternKingdoms') diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp index 14cf629c3c8..549797c12fb 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp @@ -25,6 +25,8 @@ EndScriptData */ #include "InstanceScript.h" #include "Log.h" #include "ScriptedCreature.h" +#include "SpellAuraEffects.h" +#include "SpellScript.h" #include "sunwell_plateau.h" enum Quotes @@ -343,7 +345,25 @@ public: } }; +// 46394 - Burn +class spell_brutallus_burn : public AuraScript +{ + PrepareAuraScript(spell_brutallus_burn); + + void HandleEffectPeriodicUpdate(AuraEffect* aurEff) + { + if (aurEff->GetTickNumber() % 11 == 0) + aurEff->SetAmount(aurEff->GetAmount() * 2); + } + + void Register() override + { + OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_brutallus_burn::HandleEffectPeriodicUpdate, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE); + } +}; + void AddSC_boss_brutallus() { new boss_brutallus(); + RegisterSpellScript(spell_brutallus_burn); } diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp index 9dde3c80bab..27609a0688c 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp @@ -19,6 +19,7 @@ #include "InstanceScript.h" #include "ObjectAccessor.h" #include "ScriptedCreature.h" +#include "SpellAuraEffects.h" #include "SpellAuras.h" #include "SpellScript.h" #include "sunwell_plateau.h" @@ -608,6 +609,31 @@ class spell_summon_blood_elves_periodic : public AuraScript } }; +// 46284 - Negative Energy Periodic +class spell_muru_negative_energy_periodic : public AuraScript +{ + PrepareAuraScript(spell_muru_negative_energy_periodic); + + bool Validate(SpellInfo const* spellInfo) override + { + return ValidateSpellInfo({ spellInfo->GetEffect(EFFECT_0).TriggerSpell }); + } + + void PeriodicTick(AuraEffect const* aurEff) + { + PreventDefaultAction(); + + CastSpellExtraArgs args(aurEff); + args.AddSpellMod(SPELLVALUE_MAX_TARGETS, aurEff->GetTickNumber() / 10 + 1); + GetTarget()->CastSpell(nullptr, aurEff->GetSpellEffectInfo().TriggerSpell, args); + } + + void Register() override + { + OnEffectPeriodic += AuraEffectPeriodicFn(spell_muru_negative_energy_periodic::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL); + } +}; + void AddSC_boss_muru() { RegisterSunwellPlateauCreatureAI(boss_muru); @@ -621,4 +647,5 @@ void AddSC_boss_muru() RegisterSpellScript(spell_dark_fiend_skin); RegisterSpellScript(spell_transform_visual_missile_periodic); RegisterSpellScript(spell_summon_blood_elves_periodic); + RegisterSpellScript(spell_muru_negative_energy_periodic); } -- cgit v1.2.3