anchor.diff:  		message_admins(bomb_message, 0, 1)
   		log_game("[log_str1] [A.name][COORD(bombturf)] [log_str2] [log_str3]")
   		merge_gases()
  -		spawn(20) // In case one tank bursts
  -			for (var/i=0,i<5,i++)
  -				src.update_icon()
  -				sleep(10)
  -			src.update_icon()
  +		for(var/i in 1 to 6)
  +			addtimer(CALLBACK(src, .proc/update_icon), 20 + (i - 1) * 10)
   
   	else if(valve_open && tank_one && tank_two)
   		split_gases()
   		valve_open = FALSE
  -		src.update_icon()
  +		update_icon()
   
   // this doesn't do anything but the timer etc. expects it to be here
   // eventually maybe have it update icon to show state (timer, prox etc.) like old bombs
  
positive.code: 	origin_tech = "materials=1;engineering=1"
  
  /obj/item/device/transfer_valve/IsAssemblyHolder()
  	return 1
  
  /obj/item/device/transfer_valve/attackby(obj/item/item, mob/user, params)
  	if(istype(item, /obj/item/tank))
  
negative.code: 
  /obj/item/device/transfer_valve/Topic(href, href_list)
  	..()
  	if(!usr.canUseTopic(src))
  		return
  	if(tank_one && href_list["tankone"])
  		split_gases()
  		valve_open = FALSE
  		tank_one.forceMove(drop_location())
  		tank_one = null
  		update_icon()
  		if((!tank_two || tank_two.w_class < WEIGHT_CLASS_BULKY) && (w_class > WEIGHT_CLASS_NORMAL))
  			w_class = WEIGHT_CLASS_NORMAL
  	else if(tank_two && href_list["tanktwo"])
  		split_gases()
  		valve_open = FALSE
  		tank_two.forceMove(drop_location())
  		tank_two = null
  		update_icon()
  		if((!tank_one || tank_one.w_class < WEIGHT_CLASS_BULKY) && (w_class > WEIGHT_CLASS_NORMAL))
  			w_class = WEIGHT_CLASS_NORMAL
  	else if(href_list["open"])
  		toggle_valve()
  	else if(attached_device)
  		if(href_list["rem_device"])
  			attached_device.forceMove(drop_location())
  			attached_device.holder = null
  			attached_device = null
  			update_icon()
  		if(href_list["device"])
  			attached_device.attack_self(usr)
  
  	attack_self(usr)
  	add_fingerprint(usr)
  
  /obj/item/device/transfer_valve/proc/process_activation(obj/item/device/D)
  	if(toggle)
  		toggle = FALSE
  		toggle_valve()
  		addtimer(CALLBACK(src, .proc/toggle_off), 5)	//To stop a signal being spammed from a proxy sensor constantly going off or whatever
  
  /obj/item/device/transfer_valve/proc/toggle_off()
  	toggle = TRUE
  
  /obj/item/device/transfer_valve/update_icon()
  	cut_overlays()
  