aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Groups/Group.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Groups/Group.cpp')
-rw-r--r--src/server/game/Groups/Group.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index 3d5b46665ab..eb3ff858060 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -1520,20 +1520,14 @@ void Group::SendUpdateToPlayer(ObjectGuid playerGUID, MemberSlot* slot)
partyUpdate.LfgInfos->Aborted = false;
partyUpdate.LfgInfos->MyFlags = sLFGMgr->GetState(m_guid) == lfg::LFG_STATE_FINISHED_DUNGEON ? 2 : 0;
- partyUpdate.LfgInfos->MyRandomSlot = [player]() -> uint32
- {
- lfg::LfgDungeonSet const& selectedDungeons = sLFGMgr->GetSelectedDungeons(player->GetGUID());
- if (selectedDungeons.size() == 1)
- if (LFGDungeonsEntry const* dungeon = sLFGDungeonsStore.LookupEntry(*selectedDungeons.begin()))
- if (dungeon->TypeID == lfg::LFG_TYPE_RANDOM)
- return dungeon->ID;
-
- return 0;
- }();
+ partyUpdate.LfgInfos->MyRandomSlot = sLFGMgr->GetSelectedRandomDungeon(player->GetGUID());
partyUpdate.LfgInfos->MyPartialClear = 0;
partyUpdate.LfgInfos->MyGearDiff = 0.0f;
partyUpdate.LfgInfos->MyFirstReward = false;
+ if (lfg::LfgReward const* reward = sLFGMgr->GetRandomDungeonReward(partyUpdate.LfgInfos->MyRandomSlot, player->getLevel()))
+ if (Quest const* quest = sObjectMgr->GetQuestTemplate(reward->firstQuest))
+ partyUpdate.LfgInfos->MyFirstReward = player->CanRewardQuest(quest, false);
partyUpdate.LfgInfos->MyStrangerCount = 0;
partyUpdate.LfgInfos->MyKickVoteCount = 0;