From 677ed180802541d4bf487eeaa554c01aa3dc5ceb Mon Sep 17 00:00:00 2001 From: Spp Date: Wed, 9 Jan 2013 15:15:42 +0100 Subject: Core/Dungeon Finder: Fix group (5) unable to do new dungeon after finished last dungeon - Some optimizations here and there - Drop unused columns related to dungeon rewards - Simplify Group reward. All people inside the dungeon should get the reward, no matter how far it's from the boss --- src/server/game/DungeonFinding/LFGQueue.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/server/game/DungeonFinding/LFGQueue.cpp') diff --git a/src/server/game/DungeonFinding/LFGQueue.cpp b/src/server/game/DungeonFinding/LFGQueue.cpp index dae789b2eb4..e75a1bdc4b3 100644 --- a/src/server/game/DungeonFinding/LFGQueue.cpp +++ b/src/server/game/DungeonFinding/LFGQueue.cpp @@ -139,7 +139,7 @@ void LFGQueue::RemoveFromCurrentQueue(uint64 guid) currentQueueStore.remove(guid); } -void LFGQueue::AddQueueData(uint64 guid, time_t joinTime, const LfgDungeonSet &dungeons, const LfgRolesMap &rolesMap) +void LFGQueue::AddQueueData(uint64 guid, time_t joinTime, LfgDungeonSet const& dungeons, LfgRolesMap const& rolesMap) { QueueDataStore[guid] = LfgQueueData(joinTime, dungeons, rolesMap); AddToQueue(guid); @@ -217,7 +217,6 @@ void LFGQueue::SetCompatibilityData(std::string const& key, LfgCompatibilityData CompatibleMapStore[key] = data; } - /** Get the compatibility of a group of guids @@ -482,8 +481,9 @@ LfgCompatibility LFGQueue::CheckCompatibility(LfgGuidList check) return LFG_COMPATIBLES_WITH_LESS_PLAYERS; } + uint64 gguid = *check.begin(); proposal.queues = check; - proposal.isNew = numLfgGroups != 1; + proposal.isNew = numLfgGroups != 1 || !sLFGMgr->GetDungeon(gguid); if (!sLFGMgr->AllQueued(check)) { -- cgit v1.2.3