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
This commit is contained in:
Spp
2013-01-09 15:15:42 +01:00
parent ecfb762346
commit 677ed18080
13 changed files with 267 additions and 252 deletions

View File

@@ -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))
{