mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 10:05:32 +01:00
[7352] Fixed conditions in FillPlayersToBG to correctly kick group only when other team's selection pool is empty. Problem reported by balrok. Author: Triply
--HG-- branch : trunk
This commit is contained in:
@@ -497,9 +497,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
|
||||
{
|
||||
@@ -510,9 +512,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();
|
||||
|
||||
@@ -19079,7 +19079,7 @@ BGQueueIdBasedOnLevel Player::GetBattleGroundQueueIdFromLevel(BattleGroundTypeId
|
||||
{
|
||||
//returned to hardcoded version of this function, because there is no way to code it dynamic
|
||||
uint32 level = getLevel();
|
||||
if( bgTypeId == BATTLEGROUND_QUEUE_AV )
|
||||
if( bgTypeId == BATTLEGROUND_AV )
|
||||
level--;
|
||||
|
||||
uint32 queue_id = (level / 10) - 1; // for ranges 0 - 19, 20 - 29, 30 - 39, 40 - 49, 50 - 59, 60 - 69, 70 -79, 80
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "7351"
|
||||
#define REVISION_NR "7352"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
||||
Reference in New Issue
Block a user