diff options
Diffstat (limited to 'src/server/game/Groups/Group.cpp')
| -rw-r--r-- | src/server/game/Groups/Group.cpp | 14 |
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; |
