aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSorikoff <46191832+Sorikoff@users.noreply.github.com>2019-02-16 12:28:31 +0000
committerShauren <shauren.trinity@gmail.com>2021-11-23 23:04:34 +0100
commitee0662ca3ded2b9cd5ecd9f8a506ed3309a858d7 (patch)
tree39c0acbdd37aaa6e54fbb7fdfc2d8baa47268c4f
parent2f21c119796cde681a3f24f7455b37c9d75414da (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.sql3
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp29
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();