anchor.diff:  
   	// find a radio! toolbox(es), backpack, belt, headset
   	var/loc = ""
  -	var/datum/faction/syndicate/faction = traitor_mob.mind.faction
   	var/obj/item/device/R = null //Hide the uplink in a PDA if available, otherwise radio
   	if (!R && istype(traitor_mob.belt, /obj/item/device/pda))
   		R = traitor_mob.belt
  
positive.code: 		send_intercept()
  	..()
  	return 1
  
  
  /datum/game_mode/proc/assign_to_faction(var/datum/mind/traitor, var/datum/faction/faction, var/forceentry)
  	if(traitor && faction && faction in ticker.availablefactions)
  		if((length(faction.members) >= faction.max_op) && !forceentry)
  			return 0
  		traitor.faction = faction
  		faction.members.Add(traitor)
  		if(length(faction.members) >= faction.max_op)
  			ticker.availablefactions.Remove(faction)
  		return 1
  
  /datum/game_mode/proc/pick_syndicate_faction()
  	var/list/availablesyndicatefactions = list()
  	for(var/datum/faction/F in ticker.availablefactions)
  		if(F in ticker.syndicate_coalition)
  			availablesyndicatefactions.Add(F)
  
  	return pick(availablesyndicatefactions)
  
  
  /datum/game_mode/proc/select_traitor_faction(var/datum/mind/traitor)
  	if(istype(traitor.current, /mob/living/silicon))
  		if(prob(99))
  			var/datum/faction/faction = ticker.getfactionbyname("SELF")
  			assign_to_faction(traitor, faction, 1)
  		else
  			var/datum/faction/faction = ticker.getfactionbyname("Cybersun Industries")
  			assign_to_faction(traitor, faction, 1)
  
  	else
  		for(var/i = 1, i <= ticker.availablefactions.len, i++)
  			var/datum/faction/faction = pick_syndicate_faction()
  
  			if(!assign_to_faction(traitor, faction))
  				continue
  			else
  				break
  
  
  /datum/game_mode/proc/forge_traitor_objectives(var/datum/mind/traitor)
  
negative.code: 
  /datum/game_mode/traitor/post_setup()
  	for(var/datum/mind/traitor in traitors)
  		forge_traitor_objectives(traitor)
  		spawn(rand(10,100))
  			finalize_traitor(traitor)
  