From 0e58dfb1e4c221138f97febf3c1fa12b084cdf3d Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 11 Dec 2023 04:19:01 -0300 Subject: [PATCH] =?UTF-8?q?fix(Scripts/SerpentshrineCavern):=20The=20Lurke?= =?UTF-8?q?r=20should=20emerge=20once=20all=20a=E2=80=A6=20(#17984)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(Scripts/SerpentshrineCavern): The Lurker should emerge once all adds are dead --- .../SerpentShrine/boss_lurker_below.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp index c51dd5c76..12310ca07 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp @@ -120,6 +120,14 @@ struct boss_the_lurker_below : public BossAI SchedulerPhaseOne(38800ms, 91000ms); } + void SummonedCreatureDies(Creature* /*summon*/, Unit* /*killer*/) override + { + if (!summons.IsAnyCreatureAlive()) + { + SchedulerPhaseTwo(1s); + } + } + void SchedulerPhaseOne(std::chrono::milliseconds spoutTimer, std::chrono::milliseconds p2Timer) { scheduler.Schedule(10900ms, GROUP_GEYSER, [this](TaskContext context) @@ -158,13 +166,13 @@ struct boss_the_lurker_below : public BossAI //needs sniffed spell probably me->SummonCreature(i < 6 ? NPC_COILFANG_AMBUSHER : NPC_COILFANG_GUARDIAN, positions[i].GetPositionX(), positions[i].GetPositionY(), positions[i].GetPositionZ(), positions[i].GetAngle(me), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000); } - SchedulerPhaseTwo(); + SchedulerPhaseTwo(60s); }); } - void SchedulerPhaseTwo() + void SchedulerPhaseTwo(Milliseconds timer) { - scheduler.Schedule(60s, [this](TaskContext) + scheduler.Schedule(timer, [this](TaskContext) { me->setAttackTimer(BASE_ATTACK, 6000); me->SetStandState(UNIT_STAND_STATE_STAND);