X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fcommand%2Fcmd.qc;h=ca48f906dc9e1b5f6ef6a8853482ad6c4b8e25df;hb=76de60deecae125795551ba1a4576a265d7ae7de;hp=2267c144a3ba68ba6bd48da2f3adfd23e8c76e6f;hpb=94f293de630d6173c5303adf65e45d4f4a83863a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/command/cmd.qc b/qcsrc/server/command/cmd.qc index 2267c144a..ca48f906d 100644 --- a/qcsrc/server/command/cmd.qc +++ b/qcsrc/server/command/cmd.qc @@ -397,13 +397,16 @@ void ClientCommand_selectteam(entity caller, float request, float argc) if ((selection != -1) && autocvar_g_balance_teams && autocvar_g_balance_teams_prevent_imbalance) { - CheckAllowedTeams(caller); - GetTeamCounts(caller); - if ((BIT(Team_TeamToNumber(selection) - 1) & FindBestTeams(caller, false)) == 0) + entity balance = TeamBalance_CheckAllowedTeams(caller); + TeamBalance_GetTeamCounts(balance, caller); + if ((Team_IndexToBit(Team_TeamToIndex(selection)) & + TeamBalance_FindBestTeams(balance, caller, false)) == 0) { Send_Notification(NOTIF_ONE, caller, MSG_INFO, INFO_TEAMCHANGE_LARGERTEAM); + TeamBalance_Destroy(balance); return; } + TeamBalance_Destroy(balance); } ClientKill_TeamChange(caller, selection); if (!IS_PLAYER(caller))