From c4a7d183061cca280ff8382b08e55c1567bd3f55 Mon Sep 17 00:00:00 2001 From: Spp Date: Sat, 27 Nov 2010 23:23:39 +0100 Subject: Core/Dungeon Finder: Show player selected dungeon in proposal window only if its a new dungeon --HG-- branch : trunk --- src/server/game/Server/Protocol/Handlers/LFGHandler.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/server/game/Server/Protocol/Handlers/LFGHandler.cpp b/src/server/game/Server/Protocol/Handlers/LFGHandler.cpp index 27fd75a3405..61539a991dc 100755 --- a/src/server/game/Server/Protocol/Handlers/LFGHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/LFGHandler.cpp @@ -548,11 +548,19 @@ void WorldSession::SendUpdateProposal(uint32 proposalId, LfgProposal* pProp) uint32 pLowGroupGuid = ppPlayer->groupLowGuid; uint32 dLowGuid = pProp->groupLowGuid; uint32 dungeonId = pProp->dungeonId; - uint32 isSameDungeon = GetPlayer()->GetGroup() && GetPlayer()->GetGroup()->GetLfgDungeonEntry() == dungeonId; + bool isSameDungeon = false; + bool isContinue = false; + Group* grp = dLowGuid ? sObjectMgr.GetGroupByGUID(dLowGuid) : NULL; + if (grp) + { + isContinue = grp->isLFGGroup() && !grp->isLfgDungeonComplete(); + isSameDungeon = GetPlayer()->GetGroup() == grp; + } sLog.outDebug("SMSG_LFG_PROPOSAL_UPDATE [" UI64FMTD "] state: %u", GetPlayer()->GetGUID(), pProp->state); WorldPacket data(SMSG_LFG_PROPOSAL_UPDATE, 4 + 1 + 4 + 4 + 1 + 1 + pProp->players.size() * (4 + 1 + 1 + 1 + 1 +1)); - if (!dLowGuid && GetPlayer()->GetLfgDungeons()->size() == 1) // New group - select the dungeon the player selected + + if (!isContinue) // Only show proposal dungeon if it's continue dungeonId = (*GetPlayer()->GetLfgDungeons()->begin()); if (LFGDungeonEntry const* dungeon = sLFGDungeonStore.LookupEntry(dungeonId)) dungeonId = dungeon->Entry(); -- cgit v1.2.3