From f3f2364befeda2fe09fb495e2cb81f2974e6f59e Mon Sep 17 00:00:00 2001 From: Skjalf <47818697+Nyeriah@users.noreply.github.com> Date: Wed, 8 Feb 2023 05:44:12 -0300 Subject: [PATCH] =?UTF-8?q?fix(Scripts/ShadowfangKeep):=20Fix=20Apothecary?= =?UTF-8?q?=20Trio=20events=20not=20reseting=20=E2=80=A6=20(#14898)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ShadowfangKeep/boss_apothecary_hummel.cpp | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp index 547d06a8e..77dd8738d 100644 --- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp +++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_apothecary_hummel.cpp @@ -87,7 +87,7 @@ public: { boss_apothecary_hummelAI(Creature* creature) : BossAI(creature, DATA_APOTHECARY_HUMMEL), _deadCount(0), _isDead(false) { - _scheduler.SetValidator([this] + scheduler.SetValidator([this] { return !me->HasUnitState(UNIT_STATE_CASTING); }); @@ -109,23 +109,17 @@ public: _deadCount = 0; _isDead = false; _phase = PHASE_ALL; - summons.DespawnAll(); me->SetFaction(FACTION_FRIENDLY); me->SummonCreatureGroup(1); me->SetNpcFlag(UNIT_NPC_FLAG_GOSSIP); } - void JustSummoned(Creature* summon) override - { - summons.Summon(summon); - } - void DoAction(int32 action) override { if (action == ACTION_START_EVENT && _phase == PHASE_ALL) { _phase = PHASE_INTRO; - _scheduler.Schedule(1ms, [this](TaskContext /*context*/) + scheduler.Schedule(1ms, [this](TaskContext /*context*/) { Talk(SAY_INTRO_0); }) @@ -230,9 +224,8 @@ public: Talk(SAY_HUMMEL_DEATH); } - _scheduler.CancelAll(); + _JustDied(); me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE); - instance->SetBossState(DATA_APOTHECARY_HUMMEL, DONE); Map::PlayerList const& players = me->GetMap()->GetPlayers(); if (!players.IsEmpty()) @@ -254,7 +247,7 @@ public: return; } - _scheduler.Update(diff, [this] + scheduler.Update(diff, [this] { DoMeleeAttackIfReady(); }); @@ -263,7 +256,6 @@ public: private: uint8 _deadCount; bool _isDead; - TaskScheduler _scheduler; uint8 _phase; };