added some comments on team-balancing

This commit is contained in:
Dominik Geyer 2008-10-19 16:51:16 +00:00
parent f4d60ffff8
commit d951d368a6

View file

@ -361,6 +361,7 @@ void GAMECONTROLLER::tick()
} }
} }
// do team-balancing
if (is_teamplay() && unbalanced_tick != -1 && server_tick() > unbalanced_tick+config.sv_teambalance_time*server_tickspeed()*60) if (is_teamplay() && unbalanced_tick != -1 && server_tick() > unbalanced_tick+config.sv_teambalance_time*server_tickspeed()*60)
{ {
dbg_msg("game", "Balancing teams"); dbg_msg("game", "Balancing teams");
@ -381,7 +382,6 @@ void GAMECONTROLLER::tick()
do do
{ {
// move player who is closest to team-scorediff
PLAYER *p = 0; PLAYER *p = 0;
int pd = tscore[m]; int pd = tscore[m];
for(int i = 0; i < MAX_CLIENTS; i++) for(int i = 0; i < MAX_CLIENTS; i++)
@ -389,6 +389,7 @@ void GAMECONTROLLER::tick()
if(!game.players[i]) if(!game.players[i])
continue; continue;
// remember the player who would cause lowest score-difference
if(game.players[i]->team == m && (!p || abs((tscore[m^1]+game.players[i]->score) - (tscore[m]-game.players[i]->score)) < pd)) if(game.players[i]->team == m && (!p || abs((tscore[m^1]+game.players[i]->score) - (tscore[m]-game.players[i]->score)) < pd))
{ {
p = game.players[i]; p = game.players[i];
@ -396,7 +397,8 @@ void GAMECONTROLLER::tick()
} }
} }
// change in player::set_team needed: player won't lose score on team-change // move the player to other team without losing his score
// TODO: change in player::set_team needed: player won't lose score on team-change
int score_before = p->score; int score_before = p->score;
p->set_team(m^1); p->set_team(m^1);
p->score = score_before; p->score = score_before;