anchor.diff:  			if(!ticker || ticker.current_state != GAME_STATE_PLAYING)
   				usr << "/red The round is either not ready, or has already finished..."
   				return
  +
  +			if(preferences.species != "Human")
  +				if(!is_alien_whitelisted(src, preferences.species) && config.usealienwhitelist)
  +					src << alert("You are currently not whitelisted to play [preferences.species].")
  +					return 0
  +				else if(GetAvailableAlienPlayerSlots() >= 1)
  +					src << "\red Unable to join game. Too many players have already joined as aliens."
  +
   			LateChoices()
   
   		if(href_list["manifest"])
  
positive.code: 			data_core.manifest_inject(character)
  			ticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc.	//TODO!!!!! ~Carn
  			AnnounceArrival(character, rank)
  		else
  			character.Robotize()
  		del(src)
  
  
  	proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank)
  		if (ticker.current_state == GAME_STATE_PLAYING)
  
negative.code: 			src << alert("[rank] is not available. Please try another.")
  			return 0
  
  		var/num_old_slots = GetAvailableAlienPlayerSlots()
  		var/new_slots = num_old_slots
  		if(preferences.species != "Human")
  			if(!is_alien_whitelisted(src, preferences.species) && config.usealienwhitelist)
  				src << alert("You are currently not whitelisted to play [preferences.species].")
  				return 0
  			else if(num_old_slots < 1)
  				src << "\red Unable to join game. Too many players have already joined as aliens."
  				return 0
  
  		job_master.AssignRole(src, rank, 1)
  
  