From 9459a64c1964df5dca958a02a5d2c3d2c20f75c1 Mon Sep 17 00:00:00 2001 From: Jelle Meeus Date: Sun, 9 Jun 2024 19:00:17 +0200 Subject: [PATCH] fl vehicle circuit overload --- .../Ulduar/Ulduar/boss_flame_leviathan.cpp | 37 +++++++------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp index 57810405e2..52e67621f1 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp @@ -1759,34 +1759,23 @@ class spell_vehicle_grab_pyrite : public SpellScript } }; -class spell_vehicle_circuit_overload : public SpellScriptLoader +class spell_vehicle_circuit_overload_aura : public AuraScript { -public: - spell_vehicle_circuit_overload() : SpellScriptLoader("spell_vehicle_circuit_overload") { } + PrepareAuraScript(spell_vehicle_circuit_overload_aura); - class spell_vehicle_circuit_overload_AuraScript : public AuraScript + void OnPeriodic(AuraEffect const* /*aurEff*/) { - PrepareAuraScript(spell_vehicle_circuit_overload_AuraScript); + if (Unit* target = GetTarget()) + if (int(target->GetAppliedAuras().count(SPELL_OVERLOAD_CIRCUIT)) >= (target->GetMap()->Is25ManRaid() ? 4 : 2)) + { + target->CastSpell(target, SPELL_SYSTEMS_SHUTDOWN, true); + target->RemoveAurasDueToSpell(SPELL_OVERLOAD_CIRCUIT); + } + } - void OnPeriodic(AuraEffect const* /*aurEff*/) - { - if (Unit* target = GetTarget()) - if (int(target->GetAppliedAuras().count(SPELL_OVERLOAD_CIRCUIT)) >= (target->GetMap()->Is25ManRaid() ? 4 : 2)) - { - target->CastSpell(target, SPELL_SYSTEMS_SHUTDOWN, true); - target->RemoveAurasDueToSpell(SPELL_OVERLOAD_CIRCUIT); - } - } - - void Register() override - { - OnEffectPeriodic += AuraEffectPeriodicFn(spell_vehicle_circuit_overload_AuraScript::OnPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY); - } - }; - - AuraScript* GetAuraScript() const override + void Register() override { - return new spell_vehicle_circuit_overload_AuraScript(); + OnEffectPeriodic += AuraEffectPeriodicFn(spell_vehicle_circuit_overload_aura::OnPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY); } }; @@ -2100,7 +2089,7 @@ void AddSC_boss_flame_leviathan() RegisterSpellScript(spell_vehicle_throw_passenger); RegisterSpellScript(spell_tar_blaze_aura); RegisterSpellScript(spell_vehicle_grab_pyrite); - new spell_vehicle_circuit_overload(); + RegisterSpellScript(spell_vehicle_circuit_overload_aura); new spell_orbital_supports(); new spell_thorims_hammer(); new spell_transitus_shield_beam();