diff options
| author | Dustin Paul <dmpaul26@yahoo.com> | 2016-04-11 12:33:25 -0400 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-04-11 18:33:25 +0200 |
| commit | bdeeab13bdfd545192fd619028a9114379235394 (patch) | |
| tree | 2333105a61b914b389ad341047d6774f6416dfa4 /src/server/game/DungeonFinding/LFGQueue.cpp | |
| parent | 97b053d2034825c58246d79ebdbb3eb23fc2f28f (diff) | |
Core/LFG: Readd players to queue when proposal fails because someone else declined it (#16279)
Diffstat (limited to 'src/server/game/DungeonFinding/LFGQueue.cpp')
| -rw-r--r-- | src/server/game/DungeonFinding/LFGQueue.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/server/game/DungeonFinding/LFGQueue.cpp b/src/server/game/DungeonFinding/LFGQueue.cpp index 314803d1602..d156158dee6 100644 --- a/src/server/game/DungeonFinding/LFGQueue.cpp +++ b/src/server/game/DungeonFinding/LFGQueue.cpp @@ -117,7 +117,7 @@ std::string LFGQueue::GetDetailedMatchRoles(GuidList const& check) const return o.str(); } -void LFGQueue::AddToQueue(ObjectGuid guid) +void LFGQueue::AddToQueue(ObjectGuid guid, bool reAdd) { LfgQueueDataContainer::iterator itQueue = QueueDataStore.find(guid); if (itQueue == QueueDataStore.end()) @@ -126,7 +126,10 @@ void LFGQueue::AddToQueue(ObjectGuid guid) return; } - AddToNewQueue(guid); + if (reAdd) + AddToFrontCurrentQueue(guid); + else + AddToNewQueue(guid); } void LFGQueue::RemoveFromQueue(ObjectGuid guid) @@ -171,6 +174,11 @@ void LFGQueue::AddToCurrentQueue(ObjectGuid guid) currentQueueStore.push_back(guid); } +void LFGQueue::AddToFrontCurrentQueue(ObjectGuid guid) +{ + currentQueueStore.push_front(guid); +} + void LFGQueue::RemoveFromCurrentQueue(ObjectGuid guid) { currentQueueStore.remove(guid); |
