diff options
| author | offl <11556157+offl@users.noreply.github.com> | 2025-05-09 01:10:43 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-09 00:10:43 +0200 |
| commit | 5ed83ed27c676ae2dcf661409550ce0fcbffe5c8 (patch) | |
| tree | 111c87a9626a542fec10a6b41cecba7b0d353784 /src/server/scripts/Events | |
| parent | 7b0d1f09135999958e850dd67ed9c5b1eaf16536 (diff) | |
Scripts/Spells: Get rid of some database spell scripts (#30915)
Diffstat (limited to 'src/server/scripts/Events')
| -rw-r--r-- | src/server/scripts/Events/brewfest.cpp | 27 | ||||
| -rw-r--r-- | src/server/scripts/Events/lunar_festival.cpp | 27 | ||||
| -rw-r--r-- | src/server/scripts/Events/midsummer.cpp | 53 |
3 files changed, 107 insertions, 0 deletions
diff --git a/src/server/scripts/Events/brewfest.cpp b/src/server/scripts/Events/brewfest.cpp index b4698876f33..1894dcb1110 100644 --- a/src/server/scripts/Events/brewfest.cpp +++ b/src/server/scripts/Events/brewfest.cpp @@ -663,6 +663,32 @@ class spell_brewfest_botm_empty_bottle_throw_resolve : public SpellScript } }; +enum MoleMachine +{ + SPELL_PORT_TO_GRIM_GUZZLER = 47523 +}; + +// 49466 - Mole Machine Portal Schedule +class spell_brewfest_mole_machine_portal_schedule : public SpellScript +{ + PrepareSpellScript(spell_brewfest_mole_machine_portal_schedule); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_PORT_TO_GRIM_GUZZLER }); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + GetHitUnit()->CastSpell(GetHitUnit(), SPELL_PORT_TO_GRIM_GUZZLER); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_brewfest_mole_machine_portal_schedule::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + void AddSC_event_brewfest() { RegisterSpellScript(spell_brewfest_giddyup); @@ -683,4 +709,5 @@ void AddSC_event_brewfest() RegisterSpellScript(spell_brewfest_botm_teach_language); RegisterSpellScript(spell_brewfest_botm_weak_alcohol); RegisterSpellScript(spell_brewfest_botm_empty_bottle_throw_resolve); + RegisterSpellScript(spell_brewfest_mole_machine_portal_schedule); } diff --git a/src/server/scripts/Events/lunar_festival.cpp b/src/server/scripts/Events/lunar_festival.cpp index 1ee9faa5172..de4690a5a98 100644 --- a/src/server/scripts/Events/lunar_festival.cpp +++ b/src/server/scripts/Events/lunar_festival.cpp @@ -476,10 +476,37 @@ class spell_lunar_festival_elune_candle : public SpellScript } }; +enum ElunesBlessing +{ + SPELL_ELUNES_BLESSING_QUEST_CREDIT = 26394 +}; + +// 26393 - Elune's Blessing +class spell_lunar_festival_elunes_blessing : public SpellScript +{ + PrepareSpellScript(spell_lunar_festival_elunes_blessing); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_ELUNES_BLESSING_QUEST_CREDIT }); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + GetHitUnit()->CastSpell(GetHitUnit(), SPELL_ELUNES_BLESSING_QUEST_CREDIT); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_lunar_festival_elunes_blessing::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + void AddSC_event_lunar_festival() { RegisterCreatureAI(npc_firework); RegisterCreatureAI(npc_omen); RegisterCreatureAI(npc_giant_spotlight); RegisterSpellScript(spell_lunar_festival_elune_candle); + RegisterSpellScript(spell_lunar_festival_elunes_blessing); } diff --git a/src/server/scripts/Events/midsummer.cpp b/src/server/scripts/Events/midsummer.cpp index 2e28d3f18c3..aff921d63ba 100644 --- a/src/server/scripts/Events/midsummer.cpp +++ b/src/server/scripts/Events/midsummer.cpp @@ -445,6 +445,51 @@ class spell_midsummer_fling_torch_missed : public SpellScript } }; +enum CleansingFlames +{ + SPELL_CREATE_FLAME_OF_DARNASSUS = 29099, + SPELL_CREATE_FLAME_OF_STORMWIND = 29101, + SPELL_CREATE_FLAME_OF_IRONFORGE = 29102, + SPELL_CREATE_FLAME_OF_ORGRIMMAR = 29130, + SPELL_CREATE_FLAME_OF_THUNDER_BLUFF = 29132, + SPELL_CREATE_FLAME_OF_THE_UNDERCITY = 29133, + SPELL_CREATE_FLAME_OF_SILVERMOON = 46689, + SPELL_CREATE_FLAME_OF_THE_EXODAR = 46690 +}; + +// 29126 - Cleansing Flames +// 29137 - Cleansing Flames +// 29135 - Cleansing Flames +// 29136 - Cleansing Flames +// 29138 - Cleansing Flames +// 29139 - Cleansing Flames +// 46672 - Cleansing Flames +// 46671 - Cleansing Flames +class spell_midsummer_cleansing_flames : public SpellScript +{ + PrepareSpellScript(spell_midsummer_cleansing_flames); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ _triggeredSpell }); + } + + void HandleDummy(SpellEffIndex /*effIndex*/) + { + GetHitUnit()->CastSpell(GetHitUnit(), _triggeredSpell); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_midsummer_cleansing_flames::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY); + } + + uint32 _triggeredSpell; + +public: + explicit spell_midsummer_cleansing_flames(CleansingFlames triggeredSpell) : _triggeredSpell(triggeredSpell) { } +}; + void AddSC_event_midsummer() { RegisterSpellScript(spell_midsummer_braziers_hit); @@ -458,4 +503,12 @@ void AddSC_event_midsummer() RegisterSpellScript(spell_midsummer_fling_torch_triggered); RegisterSpellScript(spell_midsummer_fling_torch_catch); RegisterSpellScript(spell_midsummer_fling_torch_missed); + RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_darnassus", SPELL_CREATE_FLAME_OF_DARNASSUS); + RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_stormwind", SPELL_CREATE_FLAME_OF_STORMWIND); + RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_ironforge", SPELL_CREATE_FLAME_OF_IRONFORGE); + RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_orgrimmar", SPELL_CREATE_FLAME_OF_ORGRIMMAR); + RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_thunder_bluff", SPELL_CREATE_FLAME_OF_THUNDER_BLUFF); + RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_the_undercity", SPELL_CREATE_FLAME_OF_THE_UNDERCITY); + RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_silvermoon", SPELL_CREATE_FLAME_OF_SILVERMOON); + RegisterSpellScriptWithArgs(spell_midsummer_cleansing_flames, "spell_midsummer_cleansing_flames_the_exodar", SPELL_CREATE_FLAME_OF_THE_EXODAR); } |
