public void InfectRandom() { SCP008.Info("Randomly selecting infected personnel."); List <Player> players = SCP008.Server.GetPlayers(); SCP008.Debug("List obtained."); for (int i = 0; i < SCP008.infect_num; i++) { SCP008.Debug("For loop started."); if (players.Count == 0) { break; } int ran = SCP008.gen.Next(players.Count); Player ply = players[ran]; if (ply.TeamRole.Role == Role.CLASSD && players.Count > 0) { SCP008.playersToDamage.Add(ply.SteamId); players.Remove(ply); SCP008.Info(ply.Name + " randomly selected for infection!"); } else if (ply.TeamRole.Role != Role.CLASSD && players.Count > 0) { i--; players.Remove(ply); SCP008.Debug("Selected player not Class-D, re-running loop!"); } else { SCP008.Debug("Not enough players in the list, breaking!"); break; } } }