mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 15:40:45 +01:00
Scripts/Brewfest: Implement a couple more BOTM (#31111)
* Draenic Pale Ale * Autumnal Acorn Ale * Bartlett's Bitter Brew
This commit is contained in:
36
sql/updates/world/3.3.5/2025_07_05_00_world.sql
Normal file
36
sql/updates/world/3.3.5/2025_07_05_00_world.sql
Normal file
@@ -0,0 +1,36 @@
|
||||
--
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 27958;
|
||||
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` = 27958 AND `source_type` = 0;
|
||||
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||
(27958,0,0,0,11,0,100,0,0,0,0,0,0,11,50186,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Parading Pink Elekk - On Spawn - Cast 'Parading Pink Elekk Life Aura'"),
|
||||
(27958,0,1,0,60,0,100,1,0,5000,0,0,0,11,36440,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Parading Pink Elekk - On Update - Cast 'Drunk Invisibility (Pink)' (No Repeat)"),
|
||||
(27958,0,2,0,11,0,100,0,0,0,0,0,0,29,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,"Parading Pink Elekk - On Spawn - Start Follow Owner");
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE `spell_id` = 50186 AND `ScriptName` = 'spell_gen_despawn_aura';
|
||||
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
|
||||
(50186,'spell_gen_despawn_aura');
|
||||
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_brewfest_botm_pink_elekk';
|
||||
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
|
||||
(42264,'spell_brewfest_botm_pink_elekk');
|
||||
|
||||
-- This one is based only on comments
|
||||
UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 27867;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` = 27867 AND `source_type` = 0;
|
||||
DELETE FROM `smart_scripts` WHERE `entryorguid` BETWEEN 2786700 AND 2786701 AND `source_type` = 9;
|
||||
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
|
||||
(27867,0,0,0,11,0,100,0,0,0,0,0,0,87,2786700,2786701,0,0,0,0,1,0,0,0,0,0,0,0,0,"Woodland Squirrel - On Spawn - Run Random Script"),
|
||||
|
||||
(2786700,9,0,0,0,0,100,0,0,0,0,0,0,11,49757,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Woodland Squirrel - On Script - Cast 'BOTM - Woodland Brew - Squirrel Love Aura'"),
|
||||
(2786700,9,1,0,0,0,100,0,0,0,0,0,0,29,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,"Woodland Squirrel - On Script - Start Follow Owner"),
|
||||
(2786700,9,2,0,0,0,100,0,10000,10000,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Woodland Squirrel - On Script - Despawn"),
|
||||
|
||||
(2786701,9,0,0,0,0,100,0,2000,2000,0,0,0,11,49764,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Woodland Squirrel - On Script - Cast 'BOTM - Woodland Brew - Squirrel Hate'"),
|
||||
(2786701,9,1,0,0,0,100,0,0,0,0,0,0,114,0,0,0,0,0,0,1,0,0,0,0,30,30,0,0,"Woodland Squirrel - On Script - Move Offset"),
|
||||
(2786701,9,2,0,0,0,100,0,5000,5000,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Woodland Squirrel - On Script - Despawn");
|
||||
|
||||
--
|
||||
DELETE FROM `spell_script_names` WHERE `ScriptName` = 'spell_brewfest_botm_nauseous';
|
||||
INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
|
||||
(49869,'spell_brewfest_botm_nauseous');
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user