mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 09:44:45 +01:00
Event/Brewfest: implement relay race (#17603)
(cherry picked from commit894378f867) Rename 9999_99_99_99_world.sql to 2016_08_23_05_world.sql (cherry picked from commit6036b07f25)
This commit is contained in:
@@ -847,6 +847,7 @@ enum RamBlaBla
|
||||
{
|
||||
SPELL_GIDDYUP = 42924,
|
||||
SPELL_RENTAL_RACING_RAM = 43883,
|
||||
SPELL_SWIFT_WORK_RAM = 43880,
|
||||
SPELL_RENTAL_RACING_RAM_AURA = 42146,
|
||||
SPELL_RAM_LEVEL_NEUTRAL = 43310,
|
||||
SPELL_RAM_TROT = 42992,
|
||||
@@ -854,6 +855,7 @@ enum RamBlaBla
|
||||
SPELL_RAM_GALLOP = 42994,
|
||||
SPELL_RAM_FATIGUE = 43052,
|
||||
SPELL_EXHAUSTED_RAM = 43332,
|
||||
SPELL_RELAY_RACE_TURN_IN = 44501,
|
||||
|
||||
// Quest
|
||||
SPELL_BREWFEST_QUEST_SPEED_BUNNY_GREEN = 43345,
|
||||
@@ -874,7 +876,7 @@ class spell_brewfest_giddyup : public SpellScriptLoader
|
||||
void OnChange(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
if (!target->HasAura(SPELL_RENTAL_RACING_RAM))
|
||||
if (!target->HasAura(SPELL_RENTAL_RACING_RAM) && !target->HasAura(SPELL_SWIFT_WORK_RAM))
|
||||
{
|
||||
target->RemoveAura(GetId());
|
||||
return;
|
||||
@@ -1111,6 +1113,38 @@ class spell_brewfest_relay_race_intro_force_player_to_throw : public SpellScript
|
||||
}
|
||||
};
|
||||
|
||||
class spell_brewfest_relay_race_turn_in : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_brewfest_relay_race_turn_in() : SpellScriptLoader("spell_brewfest_relay_race_turn_in") { }
|
||||
|
||||
class spell_brewfest_relay_race_turn_in_SpellScript : public SpellScript
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_brewfest_relay_race_turn_in_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_brewfest_relay_race_turn_in_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
// 43876 - Dismount Ram
|
||||
class spell_brewfest_dismount_ram : public SpellScriptLoader
|
||||
{
|
||||
@@ -1383,6 +1417,7 @@ void AddSC_holiday_spell_scripts()
|
||||
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();
|
||||
// Midsummer Fire Festival
|
||||
|
||||
Reference in New Issue
Block a user