mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Core/Dungeon Finder: Fix groups queuing broken by 1e71aba2ee
Fix queuing in LFG with 5-men groups leaving the party in queue forever, caused by group GUID being added to list of party members.
(cherry picked from commit 42a71133fa)
Conflicts:
src/server/game/DungeonFinding/LFGQueue.cpp
This commit is contained in:
@@ -80,7 +80,7 @@ char const* GetCompatibleString(LfgCompatibility compatibles)
|
||||
}
|
||||
}
|
||||
|
||||
std::string LFGQueue::GetDetailedMatchRoles(GuidList const& check)
|
||||
std::string LFGQueue::GetDetailedMatchRoles(GuidList const& check) const
|
||||
{
|
||||
if (check.empty())
|
||||
return "";
|
||||
@@ -92,11 +92,13 @@ std::string LFGQueue::GetDetailedMatchRoles(GuidList const& check)
|
||||
|
||||
GuidSet::const_iterator it = guids.begin();
|
||||
o << it->ToString();
|
||||
LfgQueueDataContainer::iterator itQueue = QueueDataStore.find(*it);
|
||||
LfgQueueDataContainer::const_iterator itQueue = QueueDataStore.find(*it);
|
||||
if (itQueue != QueueDataStore.end())
|
||||
{
|
||||
// skip leader flag, log only dps/tank/healer
|
||||
o << ' ' << GetRolesString(itQueue->second.roles[*it] & uint8(~PLAYER_ROLE_LEADER));
|
||||
auto role = itQueue->second.roles.find(*it);
|
||||
if (role != itQueue->second.roles.end())
|
||||
o << ' ' << GetRolesString(itQueue->second.roles.at(*it) & uint8(~PLAYER_ROLE_LEADER));
|
||||
}
|
||||
|
||||
for (++it; it != guids.end(); ++it)
|
||||
@@ -106,7 +108,9 @@ std::string LFGQueue::GetDetailedMatchRoles(GuidList const& check)
|
||||
if (itQueue != QueueDataStore.end())
|
||||
{
|
||||
// skip leader flag, log only dps/tank/healer
|
||||
o << ' ' << GetRolesString(itQueue->second.roles[*it] & uint8(~PLAYER_ROLE_LEADER));
|
||||
auto role = itQueue->second.roles.find(*it);
|
||||
if (role != itQueue->second.roles.end())
|
||||
o << ' ' << GetRolesString(itQueue->second.roles.at(*it) & uint8(~PLAYER_ROLE_LEADER));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ class LFGQueue
|
||||
public:
|
||||
|
||||
// Add/Remove from queue
|
||||
std::string GetDetailedMatchRoles(GuidList const& check);
|
||||
std::string GetDetailedMatchRoles(GuidList const& check) const;
|
||||
void AddToQueue(ObjectGuid guid);
|
||||
void RemoveFromQueue(ObjectGuid guid);
|
||||
void AddQueueData(ObjectGuid guid, time_t joinTime, LfgDungeonSet const& dungeons, LfgRolesMap const& rolesMap);
|
||||
|
||||
Reference in New Issue
Block a user