diff options
Diffstat (limited to 'src/server/scripts/EasternKingdoms')
| -rw-r--r-- | src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp | 20 | ||||
| -rw-r--r-- | src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp | 27 |
2 files changed, 47 insertions, 0 deletions
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); } |
