diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp index 0310c4a178..6fa0e9af61 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp @@ -1292,46 +1292,36 @@ class spell_algalon_cosmic_smash_damage : public SpellScript } }; -class spell_algalon_big_bang : public SpellScriptLoader +class spell_algalon_big_bang : public SpellScript { -public: - spell_algalon_big_bang() : SpellScriptLoader("spell_algalon_big_bang") { } + PrepareSpellScript(spell_algalon_big_bang); - class spell_algalon_big_bang_SpellScript : public SpellScript + bool Load() override { - PrepareSpellScript(spell_algalon_big_bang_SpellScript); - - bool Load() override - { - _targetCount = 0; - return true; - } - - void CountTargets(std::list& targets) - { - _targetCount = targets.size(); - } - - void CheckTargets() - { - Unit* caster = GetCaster(); - if (!_targetCount && caster && caster->GetAI()) - caster->GetAI()->DoAction(ACTION_ASCEND); - } - - void Register() override - { - OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_algalon_big_bang_SpellScript::CountTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY); - AfterCast += SpellCastFn(spell_algalon_big_bang_SpellScript::CheckTargets); - } - - uint32 _targetCount; - }; - - SpellScript* GetSpellScript() const override - { - return new spell_algalon_big_bang_SpellScript(); + _targetCount = 0; + return true; } + + void CountTargets(std::list& targets) + { + _targetCount = targets.size(); + } + + void CheckTargets() + { + Unit* caster = GetCaster(); + if (!_targetCount && caster && caster->GetAI()) + caster->GetAI()->DoAction(ACTION_ASCEND); + } + + void Register() override + { + OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_algalon_big_bang::CountTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY); + AfterCast += SpellCastFn(spell_algalon_big_bang::CheckTargets); + } + +private: + uint32 _targetCount; }; class spell_algalon_remove_phase : public SpellScriptLoader @@ -1430,7 +1420,7 @@ void AddSC_boss_algalon_the_observer() RegisterSpellScript(spell_algalon_collapse_aura); RegisterSpellScript(spell_algalon_trigger_3_adds); RegisterSpellScript(spell_algalon_cosmic_smash_damage); - new spell_algalon_big_bang(); + RegisterSpellScript(spell_algalon_big_bang); new spell_algalon_remove_phase(); new spell_algalon_supermassive_fail();