Dungeon Finder: Mark obsolete kick as failed (missing code from ce404e62b3)

--HG--
branch : trunk
This commit is contained in:
Spp
2010-08-14 02:21:07 +02:00
parent 1d77667ff7
commit f12b51c218
+22
View File
@@ -121,6 +121,28 @@ void LFGMgr::Update(uint32 diff)
RemoveProposal(itRemove, LFG_UPDATETYPE_PROPOSAL_FAILED);
}
// Remove obsolete kicks
LfgPlayerBootMap::iterator itBoot;
LfgPlayerBoot *pBoot;
for (LfgPlayerBootMap::iterator it = m_Boots.begin(); it != m_Boots.end();)
{
itBoot = it++;
pBoot = itBoot->second;
if (pBoot->cancelTime < currTime)
{
Group *grp = sObjectMgr.GetGroupByGUID(itBoot->first);
pBoot->inProgress = false;
for (LfgAnswerMap::const_iterator itVotes = pBoot->votes.begin(); itVotes != pBoot->votes.end(); ++itVotes)
if (Player *plrg = sObjectMgr.GetPlayer(itVotes->first))
if (plrg->GetGUIDLow() != pBoot->victimLowGuid)
SendLfgBootPlayer(plrg, pBoot);
if (grp)
grp->SetLfgKickActive(false);
delete pBoot;
m_Boots.erase(itBoot);
}
}
// Consistency Clean Begin - Added to try to find a bug that leaves data inconsistent
LfgQueueInfoMap::iterator itQueue;
LfgGuidList::iterator itGuidListRemove;