private bool FinishMove(String name, int team)
{
// If this is an MB move, handle it
MoveInfo move = null;
lock (fMoving) {
if (fMoving.ContainsKey(name)) {
move = fMoving[name];
fMoving.Remove(name);
try {
UpdatePlayerTeam(name, team);
UpdateTeams();
if (move.For == MoveType.Balance) {++fBalancedRound; IncrementMoves(name); IncrementTotal();}
else if (move.For == MoveType.Unstack) {++fUnstackedRound; IncrementMoves(name); IncrementTotal();}
else if (move.For == MoveType.Unswitch) {++fUnswitchedRound; UpdateMoveTime(name); IncrementTotal();}
} catch (Exception e) {
ConsoleException(e);
}
}
}
if (move != null) {
// MB move for balance/unstacking/unswitching
SetSpawnMessages(move.Name, move.ChatAfter, move.YellAfter, (move.For == MoveType.Unswitch || QuietMode));
}
return (move != null);
}