From 8b81b1dad1dceebec51c79fc2abce25443ba3c4d Mon Sep 17 00:00:00 2001 From: Andrew <47818697+Nyeriah@users.noreply.github.com> Date: Sun, 30 Jun 2024 05:39:29 -0300 Subject: [PATCH] fix(Scripts/Hyjal): Workaround bosses getting stuck in progress (#19231) --- .../BattleForMountHyjal/instance_hyjal.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp index 031f98efb..1228665c7 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp @@ -405,7 +405,22 @@ public: } if (_bossWave != TO_BE_DECIDED) + { DoUpdateWorldState(WORLD_STATE_WAVES, 0); + scheduler.Schedule(30s, [this](TaskContext context) + { + if (IsEncounterInProgress()) + { + // Reset the instance if its empty. + // This is necessary because bosses get stuck fighting unreachable mobs. + // Remove this when we are sure pathing no longer causes this. + if (!instance->GetPlayersCountExceptGMs()) + SetData(DATA_RESET_ALLIANCE, 0); + else + context.Repeat(); + } + }); + } break; case DATA_SPAWN_INFERNALS: @@ -479,8 +494,6 @@ public: break; } - // LOG_DEBUG("scripts", "Instance Hyjal: Instance data updated for event {} (Data={})", type, data); - if (data == DONE) { SaveToDB();