anchor.diff:  			rolled += ckey		//add
   			spend_tickets[ckey] = curr_tickets[ckey] - free_tickets
   			curr_tickets -= ckey			//don't roll them again
  -		if(!length(rolled))
  +		var/missing = return_list - length(rolled)
  +		var/list/add
  +		if((mising > 0) && allow_zero_if_insufficient)		//need more..
  +			for(var/i in 1 to missing)
  +				if(!length(insufficient))
  +					break			//still not enough
  +				var/datum/mind/M = pick_n_take(insufficient)
  +				add += M
  +		if(!length(rolled) && !length(add))		//if no one could normally roll AND no one can zero roll
   			var/warning = "WARNING: No antagonists were successfully picked by /datum/gamemode/proc/antag_pick()![fail_default_pick? " Defaulting to pick()!":""]"
   			message_admins(warning)
   			log_game(warning)
  
positive.code: 			var/ckey = rolled[i]
  			SSpersistence.antag_rep_change[ckey] = -(spend_tickets[ckey])	//deduct what all of the folks who rolled spent
  			rolled[i] = ckey_to_mind[ckey]		//whoever called us wants minds, not ckeys
  		return rolled
  
  /datum/game_mode/proc/get_players_for_role(role)
  
negative.code: //Use return list if you want a list, with the arg being the number you want returned.
  //WARNING: THIS PROC DOES NOT TAKE INTO ACCOUNT WHAT SSPersistence ALREADY HAS FOR "ADJUST ANTAG REP". If this is used more than once
  //and the person rolls more than once, they will not get even more deduction!
  //More efficient if you use return list instead of calling this multiple times
  //fail_default_pick makes it use pick() instead of antag rep if it can't find anyone
  //allow_zero_if_insufficient allows it to pick people with zero rep if there isn't enough antags
  /datum/game_mode/proc/antag_pick(list/datum/mind/candidates, return_list = FALSE, fail_default_pick = TRUE, allow_zero_if_insufficient = TRUE)
  	if(!CONFIG_GET(flag/use_antag_rep)) // || candidates.len <= 1)
  		return pick(candidates)
  
  