From e1f869e75648835f9544add97a3781283601a685 Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Thu, 27 Jul 2023 14:05:30 +0200 Subject: [PATCH] fix(Core/Spells): Set Crashin' Thrashin' Robot duration to 3 min. (#15342) * fix(Core/Spells): Set Crashin' Thrashin' Robot duration to 3 min. Fixes #15220 * Update. * missing sql. * buildfix. * Update src/server/scripts/World/npcs_special.cpp --------- Co-authored-by: Kitzunu <24550914+Kitzunu@users.noreply.github.com> --- .../rev_1678616794929766200.sql | 2 ++ src/server/scripts/World/npcs_special.cpp | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1678616794929766200.sql diff --git a/data/sql/updates/pending_db_world/rev_1678616794929766200.sql b/data/sql/updates/pending_db_world/rev_1678616794929766200.sql new file mode 100644 index 000000000..274d72709 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1678616794929766200.sql @@ -0,0 +1,2 @@ +-- +UPDATE `creature_template` SET `ScriptName`='npc_crashin_thrashin_robot' WHERE `entry`=17299; diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 2a0469507..22b62bd41 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -32,6 +32,7 @@ #include "ScriptedGossip.h" #include "SmartAI.h" #include "SpellAuras.h" +#include "TaskScheduler.h" #include "WaypointMgr.h" #include "World.h" @@ -2653,6 +2654,32 @@ public: } }; +struct npc_crashin_thrashin_robot : public ScriptedAI +{ +public: + npc_crashin_thrashin_robot(Creature* creature) : ScriptedAI(creature) + { + } + + void IsSummonedBy(WorldObject* /*summoner*/) override + { + _scheduler.Schedule(180s, [this](TaskContext /*context*/) + { + me->KillSelf(); + }); + } + + void UpdateAI(uint32 diff) override + { + _scheduler.Update(diff); + + ScriptedAI::UpdateAI(diff); + } + +private: + TaskScheduler _scheduler; +}; + void AddSC_npcs_special() { // Ours @@ -2680,4 +2707,5 @@ void AddSC_npcs_special() new npc_spring_rabbit(); new npc_stable_master(); RegisterCreatureAI(npc_arcanite_dragonling); + RegisterCreatureAI(npc_crashin_thrashin_robot); }