diff --git a/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp b/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp index 9ab3451f5..8a5608901 100644 --- a/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp @@ -37,49 +37,38 @@ enum DeathlyUsher SPELL_TELEPORT_GROUP = 27686 }; -class spell_razelikh_teleport_group : public SpellScriptLoader +class spell_razelikh_teleport_group : public SpellScript { -public: - spell_razelikh_teleport_group() : SpellScriptLoader("spell_razelikh_teleport_group") { } + PrepareSpellScript(spell_razelikh_teleport_group); - class spell_razelikh_teleport_group_SpellScript : public SpellScript + bool Validate(SpellInfo const* /*spell*/) override { - PrepareSpellScript(spell_razelikh_teleport_group_SpellScript); + return ValidateSpellInfo({ SPELL_TELEPORT_SINGLE, SPELL_TELEPORT_SINGLE_IN_GROUP }); + } - bool Validate(SpellInfo const* /*spell*/) override + void HandleScriptEffect(SpellEffIndex /* effIndex */) + { + if (Player* player = GetHitPlayer()) { - return ValidateSpellInfo({ SPELL_TELEPORT_SINGLE, SPELL_TELEPORT_SINGLE_IN_GROUP }); - } - - void HandleScriptEffect(SpellEffIndex /* effIndex */) - { - if (Player* player = GetHitPlayer()) + if (Group* group = player->GetGroup()) { - if (Group* group = player->GetGroup()) - { - for (GroupReference* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next()) - if (Player* member = itr->GetSource()) - if (member->IsWithinDistInMap(player, 20.0f) && !member->isDead()) - member->CastSpell(member, SPELL_TELEPORT_SINGLE_IN_GROUP, true); - } - else - player->CastSpell(player, SPELL_TELEPORT_SINGLE, true); + for (GroupReference* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next()) + if (Player* member = itr->GetSource()) + if (member->IsWithinDistInMap(player, 20.0f) && !member->isDead()) + member->CastSpell(member, SPELL_TELEPORT_SINGLE_IN_GROUP, true); } + else + player->CastSpell(player, SPELL_TELEPORT_SINGLE, true); } + } - void Register() override - { - OnEffectHitTarget += SpellEffectFn(spell_razelikh_teleport_group_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); - } - }; - - SpellScript* GetSpellScript() const override + void Register() override { - return new spell_razelikh_teleport_group_SpellScript(); + OnEffectHitTarget += SpellEffectFn(spell_razelikh_teleport_group::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); } }; void AddSC_blasted_lands() { - new spell_razelikh_teleport_group(); + RegisterSpellScript(spell_razelikh_teleport_group); } diff --git a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp index 54d31091a..d6bd6de41 100644 --- a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp +++ b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp @@ -457,31 +457,20 @@ enum PurificationIds NPC_AURIC = 37765, }; -class spell_bh_cleanse_quel_delar : public SpellScriptLoader +class spell_bh_cleanse_quel_delar : public SpellScript { -public: - spell_bh_cleanse_quel_delar() : SpellScriptLoader("spell_bh_cleanse_quel_delar") { } + PrepareSpellScript(spell_bh_cleanse_quel_delar); - class spell_bh_cleanse_quel_delar_SpellScript : public SpellScript + void OnEffect(SpellEffIndex /*effIndex*/) { - PrepareSpellScript(spell_bh_cleanse_quel_delar_SpellScript); + if (Unit* caster = GetCaster()) + if (Creature* c = caster->FindNearestCreature(NPC_ROMMATH, 50.0f, true)) + c->AI()->DoAction(-1); + } - void OnEffect(SpellEffIndex /*effIndex*/) - { - if (Unit* caster = GetCaster()) - if (Creature* c = caster->FindNearestCreature(NPC_ROMMATH, 50.0f, true)) - c->AI()->DoAction(-1); - } - - void Register() override - { - OnEffectLaunch += SpellEffectFn(spell_bh_cleanse_quel_delar_SpellScript::OnEffect, EFFECT_0, SPELL_EFFECT_SEND_EVENT); - } - }; - - SpellScript* GetSpellScript() const override + void Register() override { - return new spell_bh_cleanse_quel_delar_SpellScript(); + OnEffectLaunch += SpellEffectFn(spell_bh_cleanse_quel_delar::OnEffect, EFFECT_0, SPELL_EFFECT_SEND_EVENT); } }; @@ -692,7 +681,7 @@ void AddSC_isle_of_queldanas() { // OUR: new npc_bh_thalorien_dawnseeker(); - new spell_bh_cleanse_quel_delar(); + RegisterSpellScript(spell_bh_cleanse_quel_delar); new npc_grand_magister_rommath(); // THEIR: diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp index 8a67b19fc..41e93d9cc 100644 --- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp +++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp @@ -2223,36 +2223,25 @@ public: ######*/ // - 61123 - Ingest -class spell_blight_worm_ingest : public SpellScriptLoader +class spell_blight_worm_ingest : public SpellScript { -public: - spell_blight_worm_ingest() : SpellScriptLoader("spell_blight_worm_ingest") { } + PrepareSpellScript(spell_blight_worm_ingest); - class spell_blight_worm_ingest_SpellScript : public SpellScript + bool Validate(SpellInfo const* /*spellInfo*/) override { - PrepareSpellScript(spell_blight_worm_ingest_SpellScript); + return ValidateSpellInfo({ SPELL_INGEST }); + } - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo({ SPELL_INGEST }); - } - - void HandleScript(SpellEffIndex /*effIndex*/) - { - if (Unit* target = GetHitUnit()) - if (Unit* caster = GetCaster()) - target->CastSpell(caster, SPELL_INGEST_TRIGGER, true); - } - - void Register() override - { - OnEffectHitTarget += SpellEffectFn(spell_blight_worm_ingest_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); - } - }; - - SpellScript* GetSpellScript() const override + void HandleScript(SpellEffIndex /*effIndex*/) { - return new spell_blight_worm_ingest_SpellScript(); + if (Unit* target = GetHitUnit()) + if (Unit* caster = GetCaster()) + target->CastSpell(caster, SPELL_INGEST_TRIGGER, true); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_blight_worm_ingest::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); } }; @@ -4082,5 +4071,5 @@ void AddSC_undercity() new npc_jaina_proudmoore_bfu(); new npc_lady_sylvanas_windrunner_bfu(); new boss_blight_worm(); - new spell_blight_worm_ingest(); + RegisterSpellScript(spell_blight_worm_ingest); }