diff options
author | Sorikoff <46191832+Sorikoff@users.noreply.github.com> | 2019-02-16 12:28:31 +0000 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-11-23 23:04:34 +0100 |
commit | ee0662ca3ded2b9cd5ecd9f8a506ed3309a858d7 (patch) | |
tree | 39c0acbdd37aaa6e54fbb7fdfc2d8baa47268c4f | |
parent | 2f21c119796cde681a3f24f7455b37c9d75414da (diff) |
Scripts/Scarlet Enclave: Stable Master Kitrik's spell Repo (#23023)
(cherry picked from commit f0f4d0280daf81a841c30332f608f7acdfb1f374)
-rw-r--r-- | sql/updates/world/master/2021_11_23_19_world_2019_02_16_02_world_335.sql | 3 | ||||
-rw-r--r-- | src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp | 29 |
2 files changed, 32 insertions, 0 deletions
diff --git a/sql/updates/world/master/2021_11_23_19_world_2019_02_16_02_world_335.sql b/sql/updates/world/master/2021_11_23_19_world_2019_02_16_02_world_335.sql new file mode 100644 index 00000000000..56f6809d94e --- /dev/null +++ b/sql/updates/world/master/2021_11_23_19_world_2019_02_16_02_world_335.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`="spell_stable_master_repo"; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(52265, "spell_stable_master_repo"); diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index 8e0690bd89e..e9219d3c110 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -780,6 +780,34 @@ public: } }; +enum HorseSeats +{ + SEAT_ID_0 = 0 +}; + +class spell_stable_master_repo : public AuraScript +{ + PrepareAuraScript(spell_stable_master_repo); + + void AfterApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) + { + Creature* creature = GetTarget()->ToCreature(); + if (!creature) + return; + + if (Vehicle* vehicleKit = creature->GetVehicleKit()) + if (Unit* passenger = vehicleKit->GetPassenger(SEAT_ID_0)) + GetCaster()->EngageWithTarget(passenger); + + creature->DespawnOrUnsummon(1s); + } + + void Register() override + { + AfterEffectApply += AuraEffectApplyFn(spell_stable_master_repo::AfterApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL); + } +}; + class spell_deliver_stolen_horse : public SpellScript { PrepareSpellScript(spell_deliver_stolen_horse); @@ -1218,6 +1246,7 @@ void AddSC_the_scarlet_enclave_c1() new npc_death_knight_initiate(); RegisterCreatureAI(npc_dark_rider_of_acherus); new npc_salanar_the_horseman(); + RegisterAuraScript(spell_stable_master_repo); RegisterSpellScript(spell_deliver_stolen_horse); new npc_ros_dark_rider(); new npc_dkc1_gothik(); |