aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Events/brewfest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts/Events/brewfest.cpp')
-rw-r--r--src/server/scripts/Events/brewfest.cpp507
1 files changed, 205 insertions, 302 deletions
diff --git a/src/server/scripts/Events/brewfest.cpp b/src/server/scripts/Events/brewfest.cpp
index 71c4467669f..084a42bc740 100644
--- a/src/server/scripts/Events/brewfest.cpp
+++ b/src/server/scripts/Events/brewfest.cpp
@@ -43,321 +43,233 @@ enum RamBlaBla
};
// 42924 - Giddyup!
-class spell_brewfest_giddyup : public SpellScriptLoader
+class spell_brewfest_giddyup : public AuraScript
{
- public:
- spell_brewfest_giddyup() : SpellScriptLoader("spell_brewfest_giddyup") { }
+ PrepareAuraScript(spell_brewfest_giddyup);
- class spell_brewfest_giddyup_AuraScript : public AuraScript
+ void OnChange(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ Unit* target = GetTarget();
+ if (!target->HasAura(SPELL_RENTAL_RACING_RAM) && !target->HasAura(SPELL_SWIFT_WORK_RAM))
{
- PrepareAuraScript(spell_brewfest_giddyup_AuraScript);
-
- void OnChange(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
- {
- Unit* target = GetTarget();
- if (!target->HasAura(SPELL_RENTAL_RACING_RAM) && !target->HasAura(SPELL_SWIFT_WORK_RAM))
- {
- target->RemoveAura(GetId());
- return;
- }
-
- if (target->HasAura(SPELL_EXHAUSTED_RAM))
- return;
+ target->RemoveAura(GetId());
+ return;
+ }
- switch (GetStackAmount())
- {
- case 1: // green
- target->RemoveAura(SPELL_RAM_LEVEL_NEUTRAL);
- target->RemoveAura(SPELL_RAM_CANTER);
- target->CastSpell(target, SPELL_RAM_TROT, true);
- break;
- case 6: // yellow
- target->RemoveAura(SPELL_RAM_TROT);
- target->RemoveAura(SPELL_RAM_GALLOP);
- target->CastSpell(target, SPELL_RAM_CANTER, true);
- break;
- case 11: // red
- target->RemoveAura(SPELL_RAM_CANTER);
- target->CastSpell(target, SPELL_RAM_GALLOP, true);
- break;
- default:
- break;
- }
-
- if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_DEFAULT)
- {
- target->RemoveAura(SPELL_RAM_TROT);
- target->CastSpell(target, SPELL_RAM_LEVEL_NEUTRAL, true);
- }
- }
+ if (target->HasAura(SPELL_EXHAUSTED_RAM))
+ return;
- void OnPeriodic(AuraEffect const* /*aurEff*/)
- {
- GetTarget()->RemoveAuraFromStack(GetId());
- }
-
- void Register() override
- {
- AfterEffectApply += AuraEffectApplyFn(spell_brewfest_giddyup_AuraScript::OnChange, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
- OnEffectRemove += AuraEffectRemoveFn(spell_brewfest_giddyup_AuraScript::OnChange, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
- OnEffectPeriodic += AuraEffectPeriodicFn(spell_brewfest_giddyup_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
- }
- };
+ switch (GetStackAmount())
+ {
+ case 1: // green
+ target->RemoveAura(SPELL_RAM_LEVEL_NEUTRAL);
+ target->RemoveAura(SPELL_RAM_CANTER);
+ target->CastSpell(target, SPELL_RAM_TROT, true);
+ break;
+ case 6: // yellow
+ target->RemoveAura(SPELL_RAM_TROT);
+ target->RemoveAura(SPELL_RAM_GALLOP);
+ target->CastSpell(target, SPELL_RAM_CANTER, true);
+ break;
+ case 11: // red
+ target->RemoveAura(SPELL_RAM_CANTER);
+ target->CastSpell(target, SPELL_RAM_GALLOP, true);
+ break;
+ default:
+ break;
+ }
- AuraScript* GetAuraScript() const override
+ if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_DEFAULT)
{
- return new spell_brewfest_giddyup_AuraScript();
+ target->RemoveAura(SPELL_RAM_TROT);
+ target->CastSpell(target, SPELL_RAM_LEVEL_NEUTRAL, true);
}
+ }
+
+ void OnPeriodic(AuraEffect const* /*aurEff*/)
+ {
+ GetTarget()->RemoveAuraFromStack(GetId());
+ }
+
+ void Register() override
+ {
+ AfterEffectApply += AuraEffectApplyFn(spell_brewfest_giddyup::OnChange, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
+ OnEffectRemove += AuraEffectRemoveFn(spell_brewfest_giddyup::OnChange, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK);
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_brewfest_giddyup::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
+ }
};
// 43310 - Ram Level - Neutral
// 42992 - Ram - Trot
// 42993 - Ram - Canter
// 42994 - Ram - Gallop
-class spell_brewfest_ram : public SpellScriptLoader
+class spell_brewfest_ram : public AuraScript
{
- public:
- spell_brewfest_ram() : SpellScriptLoader("spell_brewfest_ram") { }
+ PrepareAuraScript(spell_brewfest_ram);
- class spell_brewfest_ram_AuraScript : public AuraScript
- {
- PrepareAuraScript(spell_brewfest_ram_AuraScript);
+ void OnPeriodic(AuraEffect const* aurEff)
+ {
+ Unit* target = GetTarget();
+ if (target->HasAura(SPELL_EXHAUSTED_RAM))
+ return;
- void OnPeriodic(AuraEffect const* aurEff)
+ switch (GetId())
+ {
+ case SPELL_RAM_LEVEL_NEUTRAL:
+ if (Aura* aura = target->GetAura(SPELL_RAM_FATIGUE))
+ aura->ModStackAmount(-4);
+ break;
+ case SPELL_RAM_TROT: // green
+ if (Aura* aura = target->GetAura(SPELL_RAM_FATIGUE))
+ aura->ModStackAmount(-2);
+ if (aurEff->GetTickNumber() == 4)
+ target->CastSpell(target, SPELL_BREWFEST_QUEST_SPEED_BUNNY_GREEN, true);
+ break;
+ case SPELL_RAM_CANTER:
{
- Unit* target = GetTarget();
- if (target->HasAura(SPELL_EXHAUSTED_RAM))
- return;
-
- switch (GetId())
- {
- case SPELL_RAM_LEVEL_NEUTRAL:
- if (Aura* aura = target->GetAura(SPELL_RAM_FATIGUE))
- aura->ModStackAmount(-4);
- break;
- case SPELL_RAM_TROT: // green
- if (Aura* aura = target->GetAura(SPELL_RAM_FATIGUE))
- aura->ModStackAmount(-2);
- if (aurEff->GetTickNumber() == 4)
- target->CastSpell(target, SPELL_BREWFEST_QUEST_SPEED_BUNNY_GREEN, true);
- break;
- case SPELL_RAM_CANTER:
- {
- CastSpellExtraArgs args(TRIGGERED_FULL_MASK);
- args.AddSpellMod(SPELLVALUE_AURA_STACK, 1);
- target->CastSpell(target, SPELL_RAM_FATIGUE, args);
- if (aurEff->GetTickNumber() == 8)
- target->CastSpell(target, SPELL_BREWFEST_QUEST_SPEED_BUNNY_YELLOW, true);
- break;
- }
- case SPELL_RAM_GALLOP:
- {
- CastSpellExtraArgs args(TRIGGERED_FULL_MASK);
- args.AddSpellMod(SPELLVALUE_AURA_STACK, target->HasAura(SPELL_RAM_FATIGUE) ? 4 : 5 /*Hack*/);
- target->CastSpell(target, SPELL_RAM_FATIGUE, args);
- if (aurEff->GetTickNumber() == 8)
- target->CastSpell(target, SPELL_BREWFEST_QUEST_SPEED_BUNNY_RED, true);
- break;
- }
- default:
- break;
- }
-
+ CastSpellExtraArgs args(TRIGGERED_FULL_MASK);
+ args.AddSpellMod(SPELLVALUE_AURA_STACK, 1);
+ target->CastSpell(target, SPELL_RAM_FATIGUE, args);
+ if (aurEff->GetTickNumber() == 8)
+ target->CastSpell(target, SPELL_BREWFEST_QUEST_SPEED_BUNNY_YELLOW, true);
+ break;
}
-
- void Register() override
+ case SPELL_RAM_GALLOP:
{
- OnEffectPeriodic += AuraEffectPeriodicFn(spell_brewfest_ram_AuraScript::OnPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
+ CastSpellExtraArgs args(TRIGGERED_FULL_MASK);
+ args.AddSpellMod(SPELLVALUE_AURA_STACK, target->HasAura(SPELL_RAM_FATIGUE) ? 4 : 5 /*Hack*/);
+ target->CastSpell(target, SPELL_RAM_FATIGUE, args);
+ if (aurEff->GetTickNumber() == 8)
+ target->CastSpell(target, SPELL_BREWFEST_QUEST_SPEED_BUNNY_RED, true);
+ break;
}
- };
-
- AuraScript* GetAuraScript() const override
- {
- return new spell_brewfest_ram_AuraScript();
+ default:
+ break;
}
+
+ }
+
+ void Register() override
+ {
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_brewfest_ram::OnPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
+ }
};
// 43052 - Ram Fatigue
-class spell_brewfest_ram_fatigue : public SpellScriptLoader
+class spell_brewfest_ram_fatigue : public AuraScript
{
- public:
- spell_brewfest_ram_fatigue() : SpellScriptLoader("spell_brewfest_ram_fatigue") { }
-
- class spell_brewfest_ram_fatigue_AuraScript : public AuraScript
- {
- PrepareAuraScript(spell_brewfest_ram_fatigue_AuraScript);
-
- void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
- {
- Unit* target = GetTarget();
-
- if (GetStackAmount() == 101)
- {
- target->RemoveAura(SPELL_RAM_LEVEL_NEUTRAL);
- target->RemoveAura(SPELL_RAM_TROT);
- target->RemoveAura(SPELL_RAM_CANTER);
- target->RemoveAura(SPELL_RAM_GALLOP);
- target->RemoveAura(SPELL_GIDDYUP);
-
- target->CastSpell(target, SPELL_EXHAUSTED_RAM, true);
- }
- }
+ PrepareAuraScript(spell_brewfest_ram_fatigue);
- void Register() override
- {
- AfterEffectApply += AuraEffectApplyFn(spell_brewfest_ram_fatigue_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
- }
- };
+ void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ Unit* target = GetTarget();
- AuraScript* GetAuraScript() const override
+ if (GetStackAmount() == 101)
{
- return new spell_brewfest_ram_fatigue_AuraScript();
+ target->RemoveAura(SPELL_RAM_LEVEL_NEUTRAL);
+ target->RemoveAura(SPELL_RAM_TROT);
+ target->RemoveAura(SPELL_RAM_CANTER);
+ target->RemoveAura(SPELL_RAM_GALLOP);
+ target->RemoveAura(SPELL_GIDDYUP);
+
+ target->CastSpell(target, SPELL_EXHAUSTED_RAM, true);
}
+ }
+
+ void Register() override
+ {
+ AfterEffectApply += AuraEffectApplyFn(spell_brewfest_ram_fatigue::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
+ }
};
// 43450 - Brewfest - apple trap - friendly DND
-class spell_brewfest_apple_trap : public SpellScriptLoader
+class spell_brewfest_apple_trap : public AuraScript
{
- public:
- spell_brewfest_apple_trap() : SpellScriptLoader("spell_brewfest_apple_trap") { }
-
- class spell_brewfest_apple_trap_AuraScript : public AuraScript
- {
- PrepareAuraScript(spell_brewfest_apple_trap_AuraScript);
-
- void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
- {
- GetTarget()->RemoveAura(SPELL_RAM_FATIGUE);
- }
+ PrepareAuraScript(spell_brewfest_apple_trap);
- void Register() override
- {
- OnEffectApply += AuraEffectApplyFn(spell_brewfest_apple_trap_AuraScript::OnApply, EFFECT_0, SPELL_AURA_FORCE_REACTION, AURA_EFFECT_HANDLE_REAL);
- }
- };
+ void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ GetTarget()->RemoveAura(SPELL_RAM_FATIGUE);
+ }
- AuraScript* GetAuraScript() const override
- {
- return new spell_brewfest_apple_trap_AuraScript();
- }
+ void Register() override
+ {
+ OnEffectApply += AuraEffectApplyFn(spell_brewfest_apple_trap::OnApply, EFFECT_0, SPELL_AURA_FORCE_REACTION, AURA_EFFECT_HANDLE_REAL);
+ }
};
// 43332 - Exhausted Ram
-class spell_brewfest_exhausted_ram : public SpellScriptLoader
+class spell_brewfest_exhausted_ram : public AuraScript
{
- public:
- spell_brewfest_exhausted_ram() : SpellScriptLoader("spell_brewfest_exhausted_ram") { }
-
- class spell_brewfest_exhausted_ram_AuraScript : public AuraScript
- {
- PrepareAuraScript(spell_brewfest_exhausted_ram_AuraScript);
+ PrepareAuraScript(spell_brewfest_exhausted_ram);
- void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
- {
- Unit* target = GetTarget();
- target->CastSpell(target, SPELL_RAM_LEVEL_NEUTRAL, true);
- }
-
- void Register() override
- {
- OnEffectRemove += AuraEffectApplyFn(spell_brewfest_exhausted_ram_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_MOD_DECREASE_SPEED, AURA_EFFECT_HANDLE_REAL);
- }
- };
+ void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ Unit* target = GetTarget();
+ target->CastSpell(target, SPELL_RAM_LEVEL_NEUTRAL, true);
+ }
- AuraScript* GetAuraScript() const override
- {
- return new spell_brewfest_exhausted_ram_AuraScript();
- }
+ void Register() override
+ {
+ OnEffectRemove += AuraEffectApplyFn(spell_brewfest_exhausted_ram::OnRemove, EFFECT_0, SPELL_AURA_MOD_DECREASE_SPEED, AURA_EFFECT_HANDLE_REAL);
+ }
};
// 43714 - Brewfest - Relay Race - Intro - Force - Player to throw- DND
-class spell_brewfest_relay_race_intro_force_player_to_throw : public SpellScriptLoader
+class spell_brewfest_relay_race_intro_force_player_to_throw : public SpellScript
{
- public:
- spell_brewfest_relay_race_intro_force_player_to_throw() : SpellScriptLoader("spell_brewfest_relay_race_intro_force_player_to_throw") { }
-
- class spell_brewfest_relay_race_intro_force_player_to_throw_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_brewfest_relay_race_intro_force_player_to_throw_SpellScript);
-
- void HandleForceCast(SpellEffIndex effIndex)
- {
- PreventHitDefaultEffect(effIndex);
- // All this spells trigger a spell that requires reagents; if the
- // triggered spell is cast as "triggered", reagents are not consumed
- GetHitUnit()->CastSpell(nullptr, GetEffectInfo().TriggerSpell, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_IGNORE_POWER_AND_REAGENT_COST));
- }
+ PrepareSpellScript(spell_brewfest_relay_race_intro_force_player_to_throw);
- void Register() override
- {
- OnEffectHitTarget += SpellEffectFn(spell_brewfest_relay_race_intro_force_player_to_throw_SpellScript::HandleForceCast, EFFECT_0, SPELL_EFFECT_FORCE_CAST);
- }
- };
+ void HandleForceCast(SpellEffIndex effIndex)
+ {
+ PreventHitDefaultEffect(effIndex);
+ // All this spells trigger a spell that requires reagents; if the
+ // triggered spell is cast as "triggered", reagents are not consumed
+ GetHitUnit()->CastSpell(nullptr, GetEffectInfo().TriggerSpell, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_IGNORE_POWER_AND_REAGENT_COST));
+ }
- SpellScript* GetSpellScript() const override
- {
- return new spell_brewfest_relay_race_intro_force_player_to_throw_SpellScript();
- }
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_brewfest_relay_race_intro_force_player_to_throw::HandleForceCast, EFFECT_0, SPELL_EFFECT_FORCE_CAST);
+ }
};
// 43755 - Brewfest - Daily - Relay Race - Player - Increase Mount Duration - DND
-class spell_brewfest_relay_race_turn_in : public SpellScriptLoader
+class spell_brewfest_relay_race_turn_in : public SpellScript
{
-public:
- spell_brewfest_relay_race_turn_in() : SpellScriptLoader("spell_brewfest_relay_race_turn_in") { }
+ PrepareSpellScript(spell_brewfest_relay_race_turn_in);
- class spell_brewfest_relay_race_turn_in_SpellScript : public SpellScript
+ void HandleDummy(SpellEffIndex effIndex)
{
- PrepareSpellScript(spell_brewfest_relay_race_turn_in_SpellScript);
-
- void HandleDummy(SpellEffIndex effIndex)
- {
- PreventHitDefaultEffect(effIndex);
-
- if (Aura* aura = GetHitUnit()->GetAura(SPELL_SWIFT_WORK_RAM))
- {
- aura->SetDuration(aura->GetDuration() + 30 * IN_MILLISECONDS);
- GetCaster()->CastSpell(GetHitUnit(), SPELL_RELAY_RACE_TURN_IN, TRIGGERED_FULL_MASK);
- }
- }
+ PreventHitDefaultEffect(effIndex);
- void Register() override
+ if (Aura* aura = GetHitUnit()->GetAura(SPELL_SWIFT_WORK_RAM))
{
- OnEffectHitTarget += SpellEffectFn(spell_brewfest_relay_race_turn_in_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ aura->SetDuration(aura->GetDuration() + 30 * IN_MILLISECONDS);
+ GetCaster()->CastSpell(GetHitUnit(), SPELL_RELAY_RACE_TURN_IN, TRIGGERED_FULL_MASK);
}
- };
+ }
- SpellScript* GetSpellScript() const override
+ void Register() override
{
- return new spell_brewfest_relay_race_turn_in_SpellScript();
+ OnEffectHitTarget += SpellEffectFn(spell_brewfest_relay_race_turn_in::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
// 43876 - Dismount Ram
-class spell_brewfest_dismount_ram : public SpellScriptLoader
+class spell_brewfest_dismount_ram : public SpellScript
{
- public:
- spell_brewfest_dismount_ram() : SpellScriptLoader("spell_brewfest_dismount_ram") { }
-
- class spell_brewfest_relay_race_intro_force_player_to_throw_SpellScript : public SpellScript
- {
- PrepareSpellScript(spell_brewfest_relay_race_intro_force_player_to_throw_SpellScript);
+ PrepareSpellScript(spell_brewfest_dismount_ram);
- void HandleScript(SpellEffIndex /*effIndex*/)
- {
- GetCaster()->RemoveAura(SPELL_RENTAL_RACING_RAM);
- }
-
- void Register() override
- {
- OnEffectHitTarget += SpellEffectFn(spell_brewfest_relay_race_intro_force_player_to_throw_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
- }
- };
+ void HandleScript(SpellEffIndex /*effIndex*/)
+ {
+ GetCaster()->RemoveAura(SPELL_RENTAL_RACING_RAM);
+ }
- SpellScript* GetSpellScript() const override
- {
- return new spell_brewfest_relay_race_intro_force_player_to_throw_SpellScript();
- }
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_brewfest_dismount_ram::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
};
enum RamBlub
@@ -399,56 +311,45 @@ enum RamBlub
// 43260 Brewfest - Barker Bunny 2
// 43261 Brewfest - Barker Bunny 3
// 43262 Brewfest - Barker Bunny 4
-class spell_brewfest_barker_bunny : public SpellScriptLoader
+class spell_brewfest_barker_bunny : public AuraScript
{
- public:
- spell_brewfest_barker_bunny() : SpellScriptLoader("spell_brewfest_barker_bunny") { }
-
- class spell_brewfest_barker_bunny_AuraScript : public AuraScript
- {
- PrepareAuraScript(spell_brewfest_barker_bunny_AuraScript);
+ PrepareAuraScript(spell_brewfest_barker_bunny);
- bool Load() override
- {
- return GetUnitOwner()->GetTypeId() == TYPEID_PLAYER;
- }
-
- void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
- {
- Player* target = GetTarget()->ToPlayer();
+ bool Load() override
+ {
+ return GetUnitOwner()->GetTypeId() == TYPEID_PLAYER;
+ }
- uint32 BroadcastTextId = 0;
+ void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ Player* target = GetTarget()->ToPlayer();
- if (target->GetQuestStatus(QUEST_BARK_FOR_DROHNS_DISTILLERY) == QUEST_STATUS_INCOMPLETE ||
- target->GetQuestStatus(QUEST_BARK_FOR_DROHNS_DISTILLERY) == QUEST_STATUS_COMPLETE)
- BroadcastTextId = RAND(SAY_DROHN_DISTILLERY_1, SAY_DROHN_DISTILLERY_2, SAY_DROHN_DISTILLERY_3, SAY_DROHN_DISTILLERY_4);
+ uint32 BroadcastTextId = 0;
- if (target->GetQuestStatus(QUEST_BARK_FOR_TCHALIS_VOODOO_BREWERY) == QUEST_STATUS_INCOMPLETE ||
- target->GetQuestStatus(QUEST_BARK_FOR_TCHALIS_VOODOO_BREWERY) == QUEST_STATUS_COMPLETE)
- BroadcastTextId = RAND(SAY_TCHALIS_VOODOO_1, SAY_TCHALIS_VOODOO_2, SAY_TCHALIS_VOODOO_3, SAY_TCHALIS_VOODOO_4);
+ if (target->GetQuestStatus(QUEST_BARK_FOR_DROHNS_DISTILLERY) == QUEST_STATUS_INCOMPLETE ||
+ target->GetQuestStatus(QUEST_BARK_FOR_DROHNS_DISTILLERY) == QUEST_STATUS_COMPLETE)
+ BroadcastTextId = RAND(SAY_DROHN_DISTILLERY_1, SAY_DROHN_DISTILLERY_2, SAY_DROHN_DISTILLERY_3, SAY_DROHN_DISTILLERY_4);
- if (target->GetQuestStatus(QUEST_BARK_BARLEYBREW) == QUEST_STATUS_INCOMPLETE ||
- target->GetQuestStatus(QUEST_BARK_BARLEYBREW) == QUEST_STATUS_COMPLETE)
- BroadcastTextId = RAND(SAY_BARLEYBREW_1, SAY_BARLEYBREW_2, SAY_BARLEYBREW_3, SAY_BARLEYBREW_4);
+ if (target->GetQuestStatus(QUEST_BARK_FOR_TCHALIS_VOODOO_BREWERY) == QUEST_STATUS_INCOMPLETE ||
+ target->GetQuestStatus(QUEST_BARK_FOR_TCHALIS_VOODOO_BREWERY) == QUEST_STATUS_COMPLETE)
+ BroadcastTextId = RAND(SAY_TCHALIS_VOODOO_1, SAY_TCHALIS_VOODOO_2, SAY_TCHALIS_VOODOO_3, SAY_TCHALIS_VOODOO_4);
- if (target->GetQuestStatus(QUEST_BARK_FOR_THUNDERBREWS) == QUEST_STATUS_INCOMPLETE ||
- target->GetQuestStatus(QUEST_BARK_FOR_THUNDERBREWS) == QUEST_STATUS_COMPLETE)
- BroadcastTextId = RAND(SAY_THUNDERBREWS_1, SAY_THUNDERBREWS_2, SAY_THUNDERBREWS_3, SAY_THUNDERBREWS_4);
+ if (target->GetQuestStatus(QUEST_BARK_BARLEYBREW) == QUEST_STATUS_INCOMPLETE ||
+ target->GetQuestStatus(QUEST_BARK_BARLEYBREW) == QUEST_STATUS_COMPLETE)
+ BroadcastTextId = RAND(SAY_BARLEYBREW_1, SAY_BARLEYBREW_2, SAY_BARLEYBREW_3, SAY_BARLEYBREW_4);
- if (BroadcastTextId)
- target->Talk(BroadcastTextId, CHAT_MSG_SAY, sWorld->getFloatConfig(CONFIG_LISTEN_RANGE_SAY), target);
- }
+ if (target->GetQuestStatus(QUEST_BARK_FOR_THUNDERBREWS) == QUEST_STATUS_INCOMPLETE ||
+ target->GetQuestStatus(QUEST_BARK_FOR_THUNDERBREWS) == QUEST_STATUS_COMPLETE)
+ BroadcastTextId = RAND(SAY_THUNDERBREWS_1, SAY_THUNDERBREWS_2, SAY_THUNDERBREWS_3, SAY_THUNDERBREWS_4);
- void Register() override
- {
- OnEffectApply += AuraEffectApplyFn(spell_brewfest_barker_bunny_AuraScript::OnApply, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
- }
- };
+ if (BroadcastTextId)
+ target->Talk(BroadcastTextId, CHAT_MSG_SAY, sWorld->getFloatConfig(CONFIG_LISTEN_RANGE_SAY), target);
+ }
- AuraScript* GetAuraScript() const override
- {
- return new spell_brewfest_barker_bunny_AuraScript();
- }
+ void Register() override
+ {
+ OnEffectApply += AuraEffectApplyFn(spell_brewfest_barker_bunny::OnApply, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
+ }
};
enum BrewfestMountTransformation
@@ -461,9 +362,11 @@ enum BrewfestMountTransformation
SPELL_BREWFEST_MOUNT_TRANSFORM_REVERSE = 52845,
};
-class spell_item_brewfest_mount_transformation : public SpellScript
+// 49357 - Brewfest Mount Transformation
+// 52845 - Brewfest Mount Transformation (Faction Swap)
+class spell_brewfest_mount_transformation : public SpellScript
{
- PrepareSpellScript(spell_item_brewfest_mount_transformation);
+ PrepareSpellScript(spell_brewfest_mount_transformation);
bool Validate(SpellInfo const* /*spell*/) override
{
@@ -507,20 +410,20 @@ class spell_item_brewfest_mount_transformation : public SpellScript
void Register() override
{
- OnEffectHitTarget += SpellEffectFn(spell_item_brewfest_mount_transformation::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ OnEffectHit += SpellEffectFn(spell_brewfest_mount_transformation::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
};
void AddSC_event_brewfest()
{
- new spell_brewfest_giddyup();
- new spell_brewfest_ram();
- new spell_brewfest_ram_fatigue();
- new spell_brewfest_apple_trap();
- new spell_brewfest_exhausted_ram();
- new spell_brewfest_relay_race_intro_force_player_to_throw();
- new spell_brewfest_relay_race_turn_in();
- new spell_brewfest_dismount_ram();
- new spell_brewfest_barker_bunny();
- RegisterSpellScript(spell_item_brewfest_mount_transformation);
+ RegisterSpellScript(spell_brewfest_giddyup);
+ RegisterSpellScript(spell_brewfest_ram);
+ RegisterSpellScript(spell_brewfest_ram_fatigue);
+ RegisterSpellScript(spell_brewfest_apple_trap);
+ RegisterSpellScript(spell_brewfest_exhausted_ram);
+ RegisterSpellScript(spell_brewfest_relay_race_intro_force_player_to_throw);
+ RegisterSpellScript(spell_brewfest_relay_race_turn_in);
+ RegisterSpellScript(spell_brewfest_dismount_ram);
+ RegisterSpellScript(spell_brewfest_barker_bunny);
+ RegisterSpellScript(spell_brewfest_mount_transformation);
}