aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Events/brewfest.cpp63
1 files changed, 60 insertions, 3 deletions
diff --git a/src/server/scripts/Events/brewfest.cpp b/src/server/scripts/Events/brewfest.cpp
index 1894dcb1110..cf7f2515c49 100644
--- a/src/server/scripts/Events/brewfest.cpp
+++ b/src/server/scripts/Events/brewfest.cpp
@@ -432,13 +432,14 @@ class spell_brewfest_mount_transformation : public SpellScript
July [Stranglethorn Brew]
spell_brewfest_botm_jungle_madness
August [Draenic Pale Ale]
- NYI
+ spell_brewfest_botm_pink_elekk
September [Binary Brew]
spell_brewfest_botm_teach_language
October [Autumnal Acorn Ale]
- NYI
+ Nothing to script here
November [Bartlett's Bitter Brew]
- NYI
+ spell_brewfest_botm_nauseous
+ Incomplete
December [Lord of Frost's Private Label]
Nothing to script here
*/
@@ -573,6 +574,34 @@ class spell_brewfest_botm_jungle_madness : public SpellScript
}
};
+enum DraenicPaleAle
+{
+ SPELL_BOTM_PINK_ELEKK = 49908
+};
+
+// 42264 - Weak Alcohol
+class spell_brewfest_botm_pink_elekk : public SpellScript
+{
+ PrepareSpellScript(spell_brewfest_botm_pink_elekk);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_BOTM_PINK_ELEKK });
+ }
+
+ void HandleAfterCast()
+ {
+ // TODO: Needs additional research, this spell is most likely used if drunk state is high enough.
+ if (roll_chance_i(50))
+ GetCaster()->CastSpell(GetCaster(), SPELL_BOTM_PINK_ELEKK);
+ }
+
+ void Register() override
+ {
+ AfterCast += SpellCastFn(spell_brewfest_botm_pink_elekk::HandleAfterCast);
+ }
+};
+
enum BinaryBrew
{
SPELL_LEARN_GNOMISH_BINARY = 50242,
@@ -601,6 +630,32 @@ class spell_brewfest_botm_teach_language : public SpellScript
}
};
+enum BartlettsBitterBrew
+{
+ SPELL_BOTM_VOMIT_BREW_VOMIT_VISUAL = 49867
+};
+
+// 49869 - Nauseous
+class spell_brewfest_botm_nauseous : public AuraScript
+{
+ PrepareAuraScript(spell_brewfest_botm_nauseous);
+
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_BOTM_VOMIT_BREW_VOMIT_VISUAL });
+ }
+
+ void AfterRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ GetTarget()->CastSpell(GetTarget(), SPELL_BOTM_VOMIT_BREW_VOMIT_VISUAL, true);
+ }
+
+ void Register() override
+ {
+ AfterEffectRemove += AuraEffectRemoveFn(spell_brewfest_botm_nauseous::AfterRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
+ }
+};
+
enum CreateEmptyBrewBottle
{
SPELL_BOTM_CREATE_EMPTY_BREW_BOTTLE = 51655
@@ -706,7 +761,9 @@ void AddSC_event_brewfest()
RegisterSpellScript(spell_brewfest_botm_bloated);
RegisterSpellScript(spell_brewfest_botm_internal_combustion);
RegisterSpellScript(spell_brewfest_botm_jungle_madness);
+ RegisterSpellScript(spell_brewfest_botm_pink_elekk);
RegisterSpellScript(spell_brewfest_botm_teach_language);
+ RegisterSpellScript(spell_brewfest_botm_nauseous);
RegisterSpellScript(spell_brewfest_botm_weak_alcohol);
RegisterSpellScript(spell_brewfest_botm_empty_bottle_throw_resolve);
RegisterSpellScript(spell_brewfest_mole_machine_portal_schedule);