aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMeji <alvaro.megias@outlook.com>2023-11-08 00:54:34 +0100
committerGitHub <noreply@github.com>2023-11-08 00:54:34 +0100
commiteaf84247fc956a4745275e6559413d2cee589b28 (patch)
treed3fedf6fc8f7dd3c3beb089a3d8acbfaeaaade7a /src
parent1dcb2904d5b5a6c12f5f3b56e44c74e4a79b9626 (diff)
Scripts/HallowsEnd: Implement quest: "Foul Fertilizer" (#29407)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Events/hallows_end.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/server/scripts/Events/hallows_end.cpp b/src/server/scripts/Events/hallows_end.cpp
index d868a1eebec..4e220078fe4 100644
--- a/src/server/scripts/Events/hallows_end.cpp
+++ b/src/server/scripts/Events/hallows_end.cpp
@@ -41,6 +41,12 @@ std::array<uint32, 4> const CandysSpells =
SPELL_HALLOWS_END_CANDY_GHOST
};
+enum HallowsEndMiscSpells
+{
+ SPELL_HALLOWS_END_DUMMY_NUKE = 21912,
+ SPELL_HALLOWS_END_DREAD_FERTILIZER = 191546
+};
+
// 24930 - Hallow's End Candy
class spell_hallow_end_candy : public SpellScript
{
@@ -290,6 +296,26 @@ class spell_hallow_end_wand : public SpellScript
}
};
+// 191547 - Powder Blast
+class spell_hallows_end_powder_blast : public AuraScript
+{
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_HALLOWS_END_DUMMY_NUKE, SPELL_HALLOWS_END_DREAD_FERTILIZER });
+ }
+
+ void HandleProc(AuraEffect* /*aurEff*/, ProcEventInfo& eventInfo)
+ {
+ GetTarget()->CastSpell(GetTarget(), SPELL_HALLOWS_END_DUMMY_NUKE);
+ eventInfo.GetProcTarget()->CastSpell(GetTarget(), SPELL_HALLOWS_END_DREAD_FERTILIZER);
+ }
+
+ void Register() override
+ {
+ OnEffectProc += AuraEffectProcFn(spell_hallows_end_powder_blast::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL);
+ }
+};
+
void AddSC_event_hallows_end()
{
RegisterSpellScript(spell_hallow_end_candy);
@@ -298,4 +324,5 @@ void AddSC_event_hallows_end()
RegisterSpellScript(spell_hallow_end_trick_or_treat);
RegisterSpellScript(spell_hallow_end_tricky_treat);
RegisterSpellScript(spell_hallow_end_wand);
+ RegisterSpellScript(spell_hallows_end_powder_blast);
}