From deff0ac58791aae36b56598a3345b590fcb8210b Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Thu, 16 Nov 2023 13:58:42 -0300 Subject: [PATCH] refactor(Scripts/Ashenvale): Move Naga Brazier script to SAI (#17733) --- .../rev_1700126415929673500.sql | 6 +++ .../scripts/Kalimdor/zone_ashenvale.cpp | 37 ++++++------------- 2 files changed, 18 insertions(+), 25 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1700126415929673500.sql diff --git a/data/sql/updates/pending_db_world/rev_1700126415929673500.sql b/data/sql/updates/pending_db_world/rev_1700126415929673500.sql new file mode 100644 index 000000000..f2a57345a --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1700126415929673500.sql @@ -0,0 +1,6 @@ +-- +UPDATE `gameobject_template` SET `AIName` = 'SmartGameObjectAI', `ScriptName` = '' WHERE `entry` = 178247; + +DELETE FROM `smart_scripts` WHERE (`entryorguid` = 178247) AND (`source_type` = 1) AND (`id` IN (0)); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(178247, 1, 0, 0, 64, 0, 100, 0, 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, 0, 0, 0, 19, 12717, 10, 0, 0, 0, 0, 0, 0, 'Naga Brazier - On Gossip Hello - Do Action ID 0'); diff --git a/src/server/scripts/Kalimdor/zone_ashenvale.cpp b/src/server/scripts/Kalimdor/zone_ashenvale.cpp index 28347cc9d..978fdd913 100644 --- a/src/server/scripts/Kalimdor/zone_ashenvale.cpp +++ b/src/server/scripts/Kalimdor/zone_ashenvale.cpp @@ -53,7 +53,9 @@ enum Muglash NPC_WRATH_SEAWITCH = 3715, NPC_VORSHA = 12940, - NPC_MUGLASH = 12717 + NPC_MUGLASH = 12717, + + ACTION_EXTINGUISH_BLAZIER = 0 }; Position const FirstNagaCoord[3] = @@ -88,6 +90,15 @@ public: _isBrazierExtinguished = false; } + void DoAction(int32 actionId) override + { + if (actionId == ACTION_EXTINGUISH_BLAZIER) + { + Talk(SAY_MUG_BRAZIER_WAIT); + _isBrazierExtinguished = true; + } + } + void JustEngagedWith(Unit* /*who*/) override { if (Player* player = GetPlayerForEscort()) @@ -202,7 +213,6 @@ public: private: uint32 eventTimer; uint8 waveId; - public: bool _isBrazierExtinguished; }; @@ -212,30 +222,7 @@ public: } }; -class go_naga_brazier : public GameObjectScript -{ -public: - go_naga_brazier() : GameObjectScript("go_naga_brazier") { } - - bool OnGossipHello(Player* /*player*/, GameObject* go) override - { - if (Creature* creature = GetClosestCreatureWithEntry(go, NPC_MUGLASH, INTERACTION_DISTANCE * 2)) - { - if (npc_muglash::npc_muglashAI* pEscortAI = CAST_AI(npc_muglash::npc_muglashAI, creature->AI())) - { - creature->AI()->Talk(SAY_MUG_BRAZIER_WAIT); - - pEscortAI->_isBrazierExtinguished = true; - return false; - } - } - - return true; - } -}; - void AddSC_ashenvale() { new npc_muglash(); - new go_naga_brazier(); }