From 9247723c0721207dcaea22141861855f4e0a173f Mon Sep 17 00:00:00 2001 From: Shauren Date: Thu, 26 Jun 2025 01:19:14 +0200 Subject: Core/LFG Fix crash on lfg boss kills --- src/server/game/Instances/InstanceScript.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'src/server/game/Instances/InstanceScript.cpp') diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp index 6399bd29399..26cbfd86a21 100644 --- a/src/server/game/Instances/InstanceScript.cpp +++ b/src/server/game/Instances/InstanceScript.cpp @@ -908,20 +908,17 @@ void InstanceScript::SendBossKillCredit(uint32 encounterId) void InstanceScript::UpdateLfgEncounterState(BossInfo const* bossInfo) { - for (auto const& ref : instance->GetPlayers()) + for (MapReference const& ref : instance->GetPlayers()) { - if (Player* player = ref.GetSource()) + if (Group* grp = ref.GetSource()->GetGroup()) { - if (Group* grp = player->GetGroup()) + if (grp->isLFGGroup()) { - if (grp->isLFGGroup()) - { - std::array dungeonEncounterIds; - std::transform(bossInfo->DungeonEncounters.begin(), bossInfo->DungeonEncounters.end(), dungeonEncounterIds.begin(), - [](DungeonEncounterEntry const* entry) { return entry->ID; }); - sLFGMgr->OnDungeonEncounterDone(grp->GetGUID(), dungeonEncounterIds, instance); - break; - } + std::array dungeonEncounterIds; + std::ranges::transform(bossInfo->DungeonEncounters, dungeonEncounterIds.begin(), + [](DungeonEncounterEntry const* entry) { return entry ? entry->ID : 0u; }); + sLFGMgr->OnDungeonEncounterDone(grp->GetGUID(), dungeonEncounterIds, instance); + break; } } } -- cgit v1.2.3