Scripts/Brewfest: Implement a couple more BOTM (#31111)

* Draenic Pale Ale
* Autumnal Acorn Ale 
* Bartlett's Bitter Brew
This commit is contained in:
offl
2025-07-05 17:00:31 +03:00
committed by GitHub
parent c867a1ad42
commit 7a688c19ff
2 changed files with 96 additions and 3 deletions

View File

@@ -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);