[7352] Fixed conditions in FillPlayersToBG to correctly kick group only when other team's selection pool is empty. Problem reported by balrok. Thx

Signed-off-by: Triply <triply@getmangos.com>
This commit is contained in:
Triply 2009-02-27 11:56:38 +01:00
parent 3560d9de54
commit 0be003ac90
3 changed files with 6 additions and 2 deletions

View file

@ -495,9 +495,11 @@ void BattleGroundQueue::FillPlayersToBG(BattleGround* bg, BGQueueIdBasedOnLevel
}
//if ali selection is already empty, then kick horde group, but if there are less horde than ali in bg - break;
if( !m_SelectionPools[BG_TEAM_ALLIANCE].GetPlayerCount() )
{
if( aliFree <= diffHorde - 1 )
break;
m_SelectionPools[BG_TEAM_HORDE].KickGroup(diffHorde - diffAli);
}
}
else
{
@ -508,9 +510,11 @@ void BattleGroundQueue::FillPlayersToBG(BattleGround* bg, BGQueueIdBasedOnLevel
++Horde_itr;
}
if( !m_SelectionPools[BG_TEAM_HORDE].GetPlayerCount() )
{
if( hordeFree <= diffAli - 1 )
break;
m_SelectionPools[BG_TEAM_ALLIANCE].KickGroup(diffAli - diffHorde);
}
}
//count diffs after small update
diffAli = aliFree - m_SelectionPools[BG_TEAM_ALLIANCE].GetPlayerCount();