From 6a2d817dafea11d4a85c2838c5482c616105058c Mon Sep 17 00:00:00 2001 From: Ragelezz <69433539+Ragelezz@users.noreply.github.com> Date: Tue, 16 Nov 2021 15:42:08 +0200 Subject: [PATCH] =?UTF-8?q?fix(Scripts/DB):=20Jiklik's=20bats=20from=20pha?= =?UTF-8?q?se=202=20now=20won't=20engage=20players=E2=80=A6=20(#8142)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rev_1632863354170415400.sql | 6 ++++++ .../EasternKingdoms/ZulGurub/boss_jeklik.cpp | 20 ++++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 data/sql/updates/pending_db_world/rev_1632863354170415400.sql diff --git a/data/sql/updates/pending_db_world/rev_1632863354170415400.sql b/data/sql/updates/pending_db_world/rev_1632863354170415400.sql new file mode 100644 index 000000000..9642ad8bb --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1632863354170415400.sql @@ -0,0 +1,6 @@ +INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1632863354170415400'); + +UPDATE `creature_template` SET `InhabitType`=4 WHERE `entry`=14965; + +UPDATE `creature_template` SET `ScriptName`='npc_batrider' WHERE `entry`=14965; + diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp index d363e41d9..d5ada248f 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp @@ -221,6 +221,7 @@ public: { Bomb_Timer = 2000; me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); + me->AddUnitState(UNIT_STATE_ROOT); } void EnterCombat(Unit* /*who*/) override { } @@ -232,16 +233,25 @@ public: if (Bomb_Timer <= diff) { - if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0)) + std::list targets; + SelectTargetList(targets, 1, SELECT_TARGET_RANDOM, 500.0f, true); + if (!targets.empty()) { - DoCast(target, SPELL_BOMB); - Bomb_Timer = 5000; + if (targets.size() > 1) + { + targets.resize(1); + } } + + for (std::list::iterator itr = targets.begin(); itr != targets.end(); ++itr) + { + me->CastSpell((*itr), SPELL_BOMB); + } + + Bomb_Timer = 7000; } else Bomb_Timer -= diff; - - DoMeleeAttackIfReady(); } };