From c3c6ce9d7a19817c8a5cb6aec9d65714fa76682f Mon Sep 17 00:00:00 2001 From: Grimgravy Date: Sat, 5 Aug 2023 22:16:19 -0300 Subject: [PATCH] fix(DB/Quest): improve A Dip in the Moonwell (#15259) * fix(DB/Quest): improve A Dip in the Moonwell * Add Npc Steam Tonk * Update rev_1677930037418943000.sql * Atualizar o rev_1677930037418943000.sql --- .../pending_db_world/rev_1677930037418943000.sql | 2 ++ src/server/scripts/World/npcs_special.cpp | 14 ++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 data/sql/updates/pending_db_world/rev_1677930037418943000.sql diff --git a/data/sql/updates/pending_db_world/rev_1677930037418943000.sql b/data/sql/updates/pending_db_world/rev_1677930037418943000.sql new file mode 100644 index 000000000..7ebd87df3 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1677930037418943000.sql @@ -0,0 +1,2 @@ +-- https://www.wowhead.com/wotlk/quest=9433/ +UPDATE `creature_template` SET `ScriptName`='npc_controller' WHERE `entry` IN (17178, 19405); diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 91378335e..d1e80ef2c 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -2668,6 +2668,19 @@ private: TaskScheduler _scheduler; }; +struct npc_controller : public PossessedAI +{ + npc_controller(Creature* creature) : PossessedAI(creature) { } + + void OnCharmed(bool apply) override + { + if (!apply) + { + me->GetCharmerOrOwner()->InterruptNonMeleeSpells(false); + } + } +}; + void AddSC_npcs_special() { // Ours @@ -2696,4 +2709,5 @@ void AddSC_npcs_special() new npc_stable_master(); RegisterCreatureAI(npc_arcanite_dragonling); RegisterCreatureAI(npc_crashin_thrashin_robot); + RegisterCreatureAI(npc_controller); }