aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Instances/InstanceScript.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Instances/InstanceScript.cpp')
-rw-r--r--src/server/game/Instances/InstanceScript.cpp19
1 files changed, 8 insertions, 11 deletions
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<uint32, MAX_DUNGEON_ENCOUNTERS_PER_BOSS> 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<uint32, MAX_DUNGEON_ENCOUNTERS_PER_BOSS> dungeonEncounterIds;
+ std::ranges::transform(bossInfo->DungeonEncounters, dungeonEncounterIds.begin(),
+ [](DungeonEncounterEntry const* entry) { return entry ? entry->ID : 0u; });
+ sLFGMgr->OnDungeonEncounterDone(grp->GetGUID(), dungeonEncounterIds, instance);
+ break;
}
}
}