anchor.diff:  	. = ..()
   	id = "[rand(1000, 9999)]"
   	link_power_station()
  +
  +	AddComponent(/datum/component/usb_port, list(
  +		/obj/item/circuit_component/teleporter_control_console,
  +	))
   
   /obj/machinery/computer/teleporter/Destroy()
   	if (power_station)
  
positive.code: 	if(!A ||(A.area_flags & NOTELEPORT))
  		return FALSE
  	return TRUE
  
negative.code: 	else
  		regime_set = "Teleporter"
  
  /// Gets a list of targets to teleport to.
  /// List is an assoc list of descriptors to locations.
  /obj/machinery/computer/teleporter/proc/get_targets()
  	var/list/targets = list()
  	var/list/area_index = list()
  
  	if (regime_set == "Teleporter")
  		for (var/obj/item/beacon/beacon as anything in GLOB.teleportbeacons)
  			if (!is_eligible(beacon))
  				continue
  
  			if(beacon.renamed)
  				targets[avoid_assoc_duplicate_keys("[beacon.name] ([get_area(beacon)])", area_index)] = beacon
  			else
  				var/area/area = get_area(beacon)
  				targets[avoid_assoc_duplicate_keys(area.name, area_index)] = beacon
  
  		for (var/obj/item/implant/tracking/tracking_implant in GLOB.tracked_implants)
  			if (!tracking_implant.imp_in || !isliving(tracking_implant.loc) || !tracking_implant.allow_teleport)
  				continue
  
  			var/mob/living/implanted = tracking_implant.loc
  			if (implanted.stat == DEAD && implanted.timeofdeath + tracking_implant.lifespan_postmortem < world.time)
  				continue
  
  			if (is_eligible(tracking_implant))
  				targets[avoid_assoc_duplicate_keys("[implanted.real_name] ([get_area(implanted)])", area_index)] = tracking_implant
  	else
  		for (var/obj/machinery/teleport/station/station as anything in power_station.linked_stations)
  			if (is_eligible(station) && station.teleporter_hub)
  				var/area/area = get_area(station)
  				targets[avoid_assoc_duplicate_keys(area.name, area_index)] = station
  
  	return targets
  
  /// Given a target station, will power and link it.
  /obj/machinery/computer/teleporter/proc/lock_in_station(obj/machinery/teleport/station/target_station)
  	target_station.linked_stations |= power_station
  	target_station.set_machine_stat(target_station.machine_stat & ~NOPOWER)
  	if(target_station.teleporter_hub)
  		target_station.teleporter_hub.set_machine_stat(target_station.teleporter_hub.machine_stat & ~NOPOWER)
  		target_station.teleporter_hub.update_appearance()
  	if(target_station.teleporter_console)
  		target_station.teleporter_console.set_machine_stat(target_station.teleporter_console.machine_stat & ~NOPOWER)
  		target_station.teleporter_console.update_appearance()
  
  /obj/machinery/computer/teleporter/proc/set_target(mob/user)
  	var/list/targets = get_targets()
  
  	if (regime_set == "Teleporter")
  		var/desc = input("Please select a location to lock in.", "Locking Computer") as null|anything in sortList(targets)
  		set_teleport_target(targets[desc])
  		var/turf/target_turf = get_turf(targets[desc])
  		log_game("[key_name(user)] has set the teleporter target to [targets[desc]] at [AREACOORD(target_turf)]")
  	else
  		if (targets.len == 0)
  			to_chat(user, span_alert("No active connected stations located."))
  			return
  
  		var/desc = input("Please select a station to lock in.", "Locking Computer") as null|anything in sortList(targets)
  		var/obj/machinery/teleport/station/target_station = targets[desc]
  		if(!target_station || !target_station.teleporter_hub)
  			return
  		var/turf/target_station_turf = get_turf(target_station)
  		log_game("[key_name(user)] has set the teleporter target to [target_station] at [AREACOORD(target_station_turf)]")
  		set_teleport_target(target_station.teleporter_hub)
  		lock_in_station(target_station)
  
  /obj/machinery/computer/teleporter/proc/is_eligible(atom/movable/AM)
  	var/turf/T = get_turf(AM)
  