From 45c229752008a92c308f4e4221f8a3cd7bfaab7a Mon Sep 17 00:00:00 2001 From: Skjalf <47818697+Nyeriah@users.noreply.github.com> Date: Fri, 11 Mar 2022 19:55:02 -0300 Subject: [PATCH] fix(Scripts/ZulGurub): implement mising Hakkar speech that fires when reaching his temple --- .../rev_1646700419097300800.sql | 5 ++++ .../EasternKingdoms/ZulGurub/boss_hakkar.cpp | 27 +++++++++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1646700419097300800.sql diff --git a/data/sql/updates/pending_db_world/rev_1646700419097300800.sql b/data/sql/updates/pending_db_world/rev_1646700419097300800.sql new file mode 100644 index 000000000..13c09dc1e --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1646700419097300800.sql @@ -0,0 +1,5 @@ +INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1646700419097300800'); + +DELETE FROM `areatrigger_scripts` WHERE `entry` = 3960; +INSERT INTO `areatrigger_scripts` (`entry`, `ScriptName`) VALUES +(3960, 'at_zulgurub_temple_speech'); diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp index cdbd9e830..563e80ece 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp @@ -31,8 +31,8 @@ enum Says { SAY_AGGRO = 0, SAY_FLEEING = 1, - SAY_MINION_DESTROY = 2, // Where does it belong? - SAY_PROTECT_ALTAR = 3 // Where does it belong? + SAY_MINION_DESTROY = 2, + SAY_PROTECT_ALTAR = 3 }; enum Spells @@ -203,8 +203,31 @@ public: } }; +class at_zulgurub_temple_speech : public OnlyOnceAreaTriggerScript +{ +public: + at_zulgurub_temple_speech() : OnlyOnceAreaTriggerScript("at_zulgurub_temple_speech") {} + + bool _OnTrigger(Player* player, const AreaTrigger* /*at*/) override + { + if (InstanceScript* instance = player->GetInstanceScript()) + { + if (Creature* hakkar = ObjectAccessor::GetCreature(*player, instance->GetGuidData(DATA_HAKKAR))) + { + if (hakkar->GetAI()) + { + hakkar->AI()->Talk(SAY_MINION_DESTROY); + } + } + return false; + } + return false; + } +}; + void AddSC_boss_hakkar() { new boss_hakkar(); new at_zulgurub_entrance_speech(); + new at_zulgurub_temple_speech(); }