aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Events
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2025-05-09 01:10:43 +0300
committerGitHub <noreply@github.com>2025-05-09 00:10:43 +0200
commit5ed83ed27c676ae2dcf661409550ce0fcbffe5c8 (patch)
tree111c87a9626a542fec10a6b41cecba7b0d353784 /src/server/scripts/Events
parent7b0d1f09135999958e850dd67ed9c5b1eaf16536 (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.cpp27
-rw-r--r--src/server/scripts/Events/lunar_festival.cpp27
-rw-r--r--src/server/scripts/Events/midsummer.cpp53
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);
}