From e9d803ccee2fb5d229babbf6c2c4a17b1986edb0 Mon Sep 17 00:00:00 2001 From: Sorikoff <46191832+Sorikoff@users.noreply.github.com> Date: Fri, 21 Jun 2019 17:25:51 +0000 Subject: Scripts/Spells: Migrate Teleporting to Script (#23458) * Scripts/Spells: Migrate Teleporting to Script * Rename 9999_99_99_99_world.sql to 2019_06_21_02_world.sql --- src/server/scripts/Spells/spell_generic.cpp | 33 +++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'src/server/scripts/Spells') diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index b7a92c9b3dd..9b8fdb625d0 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -3354,6 +3354,38 @@ class spell_gen_tournament_pennant : public AuraScript } }; +enum Teleporting +{ + AREA_VIOLET_CITADEL_SPIRE = 4637, + + SPELL_TELEPORT_SPIRE_DOWN = 59316, + SPELL_TELEPORT_SPIRE_UP = 59314 +}; + +class spell_gen_teleporting : public SpellScript +{ + PrepareSpellScript(spell_gen_teleporting); + + void HandleScript(SpellEffIndex /* effIndex */) + { + Unit* target = GetHitUnit(); + if (target->GetTypeId() != TYPEID_PLAYER) + return; + + // return from top + if (target->ToPlayer()->GetAreaId() == AREA_VIOLET_CITADEL_SPIRE) + target->CastSpell(target, SPELL_TELEPORT_SPIRE_DOWN, true); + // teleport atop + else + target->CastSpell(target, SPELL_TELEPORT_SPIRE_UP, true); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_gen_teleporting::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + enum PvPTrinketTriggeredSpells { SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER = 72752, @@ -4441,6 +4473,7 @@ void AddSC_generic_spell_scripts() RegisterSpellScript(spell_gen_throw_shield); RegisterSpellScript(spell_gen_tournament_duel); RegisterAuraScript(spell_gen_tournament_pennant); + RegisterSpellScript(spell_gen_teleporting); new spell_pvp_trinket_wotf_shared_cd("spell_pvp_trinket_shared_cd"); new spell_pvp_trinket_wotf_shared_cd("spell_wotf_shared_cd"); RegisterAuraScript(spell_gen_turkey_marker); -- cgit v1.2.3