anchor.diff:  		uplinkholder = null
   		update_icon()
   
  -/obj/machinery/computer/telecrystals/uplinker/proc/donateTC(var/amt)
  +/obj/machinery/computer/telecrystals/uplinker/proc/donateTC(var/amt, var/addLog = 1)
   	if(uplinkholder && linkedboss)
   		if(amt <= uplinkholder.hidden_uplink.uses)
   			uplinkholder.hidden_uplink.uses -= amt
   			linkedboss.storedcrystals += amt
  -
  -/obj/machinery/computer/telecrystals/uplinker/proc/giveTC(var/amt)
  +			if(addLog)
  +				linkedboss.logTransfer("[src] donated [amt] telecrystals to [linkedboss].")
  +
  +/obj/machinery/computer/telecrystals/uplinker/proc/giveTC(var/amt, var/addLog = 1)
   	if(uplinkholder && linkedboss)
   		if(amt <= linkedboss.storedcrystals)
   			uplinkholder.hidden_uplink.uses += amt
   			linkedboss.storedcrystals -= amt
  +			if(addLog)
  +				linkedboss.logTransfer("[src] recieved [amt] telecrystals from [linkedboss].")
   
   ///////
   
  
positive.code: 			user << "<span class='notice'>The [O] doesn't appear to be an uplink...</span>"
  
  
  /obj/machinery/computer/telecrystals/uplinker/update_icon()
  	overlays.Cut()
  	if(uplinkholder)
  
negative.code: 		var/sanity = 0
  		while(storedcrystals && sanity < 100)
  			for(var/obj/machinery/computer/telecrystals/uplinker/A in TCstations)
  				A.giveTC(1,0)
  			sanity++
  		logTransfer("[src] evenly distributed telecrystals.")
  
  	src.updateUsrDialog()
  	return
  