From 5ed83ed27c676ae2dcf661409550ce0fcbffe5c8 Mon Sep 17 00:00:00 2001 From: offl <11556157+offl@users.noreply.github.com> Date: Fri, 9 May 2025 01:10:43 +0300 Subject: Scripts/Spells: Get rid of some database spell scripts (#30915) --- .../EasternKingdoms/ScarletEnclave/chapter1.cpp | 27 ++++ .../EasternKingdoms/SunwellPlateau/boss_muru.cpp | 23 +++ .../scripts/EasternKingdoms/ZulGurub/zulgurub.cpp | 29 ++++ .../scripts/EasternKingdoms/eastern_kingdoms.cpp | 175 +++++++++++++++++++++ .../eastern_kingdoms_script_loader.cpp | 2 + 5 files changed, 256 insertions(+) create mode 100644 src/server/scripts/EasternKingdoms/eastern_kingdoms.cpp (limited to 'src/server/scripts/EasternKingdoms') diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index 61049c875a2..60437c0eb78 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -1143,6 +1143,32 @@ class spell_chapter1_runeforging_credit : public SpellScript } }; +enum SkyDarkenerAssault +{ + SPELL_SKY_DARKENER_ASSAULT = 52125 +}; + +// 52124 - Sky Darkener Assault +class spell_chapter1_sky_darkener_assault : public SpellScript +{ + PrepareSpellScript(spell_chapter1_sky_darkener_assault); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_SKY_DARKENER_ASSAULT }); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + GetCaster()->CastSpell(GetHitUnit(), SPELL_SKY_DARKENER_ASSAULT); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_chapter1_sky_darkener_assault::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + void AddSC_the_scarlet_enclave_c1() { new npc_unworthy_initiate(); @@ -1160,4 +1186,5 @@ void AddSC_the_scarlet_enclave_c1() RegisterCreatureAI(npc_scarlet_ghoul); RegisterSpellScript(spell_gift_of_the_harvester); RegisterSpellScript(spell_chapter1_runeforging_credit); + RegisterSpellScript(spell_chapter1_sky_darkener_assault); } diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp index a892e1ae0fe..44c339f8310 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp @@ -53,6 +53,7 @@ enum Spells SPELL_ENTROPIUS_COSMETIC_SPAWN = 46223, SPELL_DARKNESS_E = 46269, SPELL_NEGATIVE_ENERGY_PERIODIC_E = 46284, + SPELL_NEGATIVE_ENERGY_DAMAGE = 46285, SPELL_BLACKHOLE = 46282, SPELL_SUMMON_DARKFIEND_E = 46263, @@ -635,6 +636,27 @@ class spell_muru_negative_energy_periodic : public AuraScript } }; +// 46289 - Negative Energy +class spell_muru_negative_energy : public SpellScript +{ + PrepareSpellScript(spell_muru_negative_energy); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_NEGATIVE_ENERGY_DAMAGE }); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + GetCaster()->CastSpell(GetHitUnit(), SPELL_NEGATIVE_ENERGY_DAMAGE, true); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_muru_negative_energy::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + void AddSC_boss_muru() { RegisterSunwellPlateauCreatureAI(boss_muru); @@ -649,4 +671,5 @@ void AddSC_boss_muru() RegisterSpellScript(spell_transform_visual_missile_periodic); RegisterSpellScript(spell_summon_blood_elves_periodic); RegisterSpellScript(spell_muru_negative_energy_periodic); + RegisterSpellScript(spell_muru_negative_energy); } diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.cpp index 9a641317d36..940e7981c1d 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.cpp @@ -16,10 +16,12 @@ */ #include "ScriptMgr.h" +#include "SpellScript.h" #include "zulgurub.h" #include "GameEventMgr.h" #include "GameObject.h" #include "GameObjectAI.h" +#include "Unit.h" /*###### ## go_brazier_of_madness @@ -74,7 +76,34 @@ public: } }; +enum PoisonousBlood +{ + SPELL_POISONOUS_BLOOD = 24321 +}; + +// 24320 - Poisonous Blood +class spell_zulgurub_poisonous_blood : public SpellScript +{ + PrepareSpellScript(spell_zulgurub_poisonous_blood); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_POISONOUS_BLOOD }); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + GetHitUnit()->CastSpell(GetHitUnit(), SPELL_POISONOUS_BLOOD); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_zulgurub_poisonous_blood::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + void AddSC_zulgurub() { new go_brazier_of_madness(); + RegisterSpellScript(spell_zulgurub_poisonous_blood); } diff --git a/src/server/scripts/EasternKingdoms/eastern_kingdoms.cpp b/src/server/scripts/EasternKingdoms/eastern_kingdoms.cpp new file mode 100644 index 00000000000..4e36f5e5c39 --- /dev/null +++ b/src/server/scripts/EasternKingdoms/eastern_kingdoms.cpp @@ -0,0 +1,175 @@ +/* + * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include "DBCStores.h" +#include "ScriptMgr.h" +#include "SpellScript.h" +#include "Unit.h" + +enum Translocation +{ + SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_UP = 26566, + SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_DOWN = 26572, + SPELL_TRANSLOCATION_SILVERMOON_TO_UNDERCITY = 25649, + SPELL_TRANSLOCATION_UNDERCITY_TO_SILVERMOON = 35730 +}; + +// 34448 - Translocate +class spell_eastern_kingdoms_duskwither_spire_up : public SpellScript +{ + PrepareSpellScript(spell_eastern_kingdoms_duskwither_spire_up); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_UP }); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_UP); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_duskwither_spire_up::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + +// 34452 - Translocate +class spell_eastern_kingdoms_duskwither_spire_down : public SpellScript +{ + PrepareSpellScript(spell_eastern_kingdoms_duskwither_spire_down); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_DOWN }); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TRANSLOCATION_DUSKWITHER_SPIRE_DOWN); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_duskwither_spire_down::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + +// 35376 - Translocate +class spell_eastern_kingdoms_silvermoon_to_undercity : public SpellScript +{ + PrepareSpellScript(spell_eastern_kingdoms_silvermoon_to_undercity); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_TRANSLOCATION_SILVERMOON_TO_UNDERCITY }); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TRANSLOCATION_SILVERMOON_TO_UNDERCITY); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_silvermoon_to_undercity::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + +// 35727 - Translocate +class spell_eastern_kingdoms_undercity_to_silvermoon : public SpellScript +{ + PrepareSpellScript(spell_eastern_kingdoms_undercity_to_silvermoon); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_TRANSLOCATION_UNDERCITY_TO_SILVERMOON }); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + GetHitUnit()->CastSpell(GetHitUnit(), SPELL_TRANSLOCATION_UNDERCITY_TO_SILVERMOON); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_undercity_to_silvermoon::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + +enum DeadScarBombingRun +{ + SOUND_ID_BOMBING_RUN = 12318 +}; + +// 45071 - Quest - Sunwell Daily - Dead Scar Bombing Run +class spell_eastern_kingdoms_dead_scar_bombing_run : public SpellScript +{ + PrepareSpellScript(spell_eastern_kingdoms_dead_scar_bombing_run); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return sSoundEntriesStore.LookupEntry(SOUND_ID_BOMBING_RUN); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + GetHitUnit()->PlayDirectSound(SOUND_ID_BOMBING_RUN); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_dead_scar_bombing_run::HandleScript, EFFECT_2, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + +enum DawnbladeAttack +{ + SPELL_DAWNBLADE_ATTACK = 45189 +}; + +// 45188 - Dawnblade Attack +class spell_eastern_kingdoms_dawnblade_attack : public SpellScript +{ + PrepareSpellScript(spell_eastern_kingdoms_dawnblade_attack); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_DAWNBLADE_ATTACK }); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + GetCaster()->CastSpell(GetHitUnit(), SPELL_DAWNBLADE_ATTACK); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_eastern_kingdoms_dawnblade_attack::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + +void AddSC_eastern_kingdoms() +{ + RegisterSpellScript(spell_eastern_kingdoms_duskwither_spire_up); + RegisterSpellScript(spell_eastern_kingdoms_duskwither_spire_down); + RegisterSpellScript(spell_eastern_kingdoms_silvermoon_to_undercity); + RegisterSpellScript(spell_eastern_kingdoms_undercity_to_silvermoon); + RegisterSpellScript(spell_eastern_kingdoms_dead_scar_bombing_run); + RegisterSpellScript(spell_eastern_kingdoms_dawnblade_attack); +} diff --git a/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp b/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp index ef2c5c36bb3..56b5438747d 100644 --- a/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp +++ b/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp @@ -174,6 +174,7 @@ void AddSC_boss_renataki(); void AddSC_boss_wushoolay(); void AddSC_instance_zulgurub(); void AddSC_zulgurub(); +void AddSC_eastern_kingdoms(); //void AddSC_alterac_mountains(); //void AddSC_arathi_highlands(); void AddSC_blasted_lands(); @@ -354,6 +355,7 @@ void AddEasternKingdomsScripts() AddSC_boss_wushoolay(); AddSC_instance_zulgurub(); AddSC_zulgurub(); + AddSC_eastern_kingdoms(); //AddSC_alterac_mountains(); //AddSC_arathi_highlands(); AddSC_blasted_lands(); -- cgit v1.2.3