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(); } };