From 90c24efab4443d825dd04380b85c74c73d8848fd Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Tue, 14 Apr 2009 21:49:56 +0200 Subject: * Fix issue with battleground queuing where core would first invite people who joined queue the latest --HG-- branch : trunk --- src/game/BattleGroundMgr.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/game/BattleGroundMgr.cpp b/src/game/BattleGroundMgr.cpp index aecb706f73d..6bd0f65dbf2 100644 --- a/src/game/BattleGroundMgr.cpp +++ b/src/game/BattleGroundMgr.cpp @@ -95,9 +95,8 @@ void BattleGroundQueue::EligibleGroups::Init(BattleGroundQueue::QueuedGroupsList && (*itr)->ArenaTeamRating <= MaxRating ) ) ) { // the group matches the conditions - // the source is ordered by join time in decreasing order - // so here we push_front for increasing order - push_front((*itr)); + // using push_back for proper selecting when inviting + push_back((*itr)); } } } @@ -654,14 +653,14 @@ void BattleGroundQueue::Update(uint32 bgTypeId, uint32 queue_id, uint8 arenatype std::list::iterator itr; //Send corrent ammount of invites to both faction at start of BG, not all in current queue, makes starting teams even - unsigned int QUEUED_HORDE = m_SelectionPools[NORMAL_HORDE].SelectedGroups.size(); - unsigned int QUEUED_ALLIANCE= m_SelectionPools[NORMAL_ALLIANCE].SelectedGroups.size(); - unsigned int maxbginvites = 0; - - if(QUEUED_ALLIANCE <= QUEUED_HORDE) - maxbginvites = QUEUED_ALLIANCE; - else - maxbginvites = QUEUED_HORDE; + unsigned int QUEUED_HORDE = m_SelectionPools[NORMAL_HORDE].SelectedGroups.size(); + unsigned int QUEUED_ALLIANCE= m_SelectionPools[NORMAL_ALLIANCE].SelectedGroups.size(); + unsigned int maxbginvites = 0; + + if(QUEUED_ALLIANCE <= QUEUED_HORDE) + maxbginvites = QUEUED_ALLIANCE; + else + maxbginvites = QUEUED_HORDE; // invite groups from horde selection pool int invitecounter = 0; -- cgit v1.2.3