anchor.diff:  		uses = 0
   		visible_message("<span class='warning'>[src] is disrupted!</span>")
   		animate(src, alpha = 0, transform = matrix()*2, time = 10)
  -		QDEL_IN(src, 10)
  +		deltimer(timerid)
  +		timerid = QDEL_IN(src, 10)
   		linked_gateway.uses = 0
   		linked_gateway.visible_message("<span class='warning'>[linked_gateway] is disrupted!</span>")
   		animate(linked_gateway, alpha = 0, transform = matrix()*2, time = 10)
  -		QDEL_IN(linked_gateway, 10)
  +		deltimer(linked_gateway.timerid)
  +		linked_gateway.timerid = QDEL_IN(linked_gateway, 10)
   		return TRUE
   	return FALSE
   
  
positive.code: 	var/atom/movable/target = possible_targets[input_target_key]
  	if(!src || !target || !invoker || !invoker.canUseTopic(src, BE_CLOSE) || !is_servant_of_ratvar(invoker) || (istype(src, /obj/item) && invoker.get_active_held_item() != src))
  		return FALSE //if any of the involved things no longer exist, the invoker is stunned, too far away to use the object, or does not serve ratvar, or if the object is an item and not in the mob's active hand, fail
  	var/istargetobelisk = istype(target, /obj/structure/destructible/clockwork/powered/clockwork_obelisk)
  	if(istargetobelisk)
  		gateway_uses *= 2
  
negative.code: 		return TRUE
  	if(user.drop_item() && uses)
  		user.visible_message("<span class='warning'>[user] drops [I] into [src]!</span>", "<span class='danger'>You drop [I] into [src]!</span>")
  		pass_through_gateway(I, TRUE)
  		return TRUE
  	return ..()
  
  