anchor.diff:  	return data
   
   /obj/item/dogborg/sleeper/ui_act(action, params)
  -	if(..())
  +	. = ..()
  +	if(. || !iscyborg(usr))
   		return
   
   	switch(action)
   		if("eject")
  -			go_out()
  +			go_out(null, usr)
   			. = TRUE
   		if("inject")
   			var/chem = params["chem"]
   			if(!patient)
   				return
  -			inject_chem(chem)
  +			inject_chem(chem, usr)
   			. = TRUE
   		if("cleaning")
   			if(!contents)
   				to_chat(src, "Your [src] is already cleaned.")
   				return
   			if(patient)
  -				to_chat(patient, "<span class='danger'>[hound.name]'s [src] fills with caustic enzymes around you!</span>")
  +				to_chat(patient, "<span class='danger'>[usr.name]'s [src] fills with caustic enzymes around you!</span>")
   			to_chat(src, "<span class='danger'>Cleaning process enabled.</span>")
  -			clean_cycle()
  +			clean_cycle(usr)
   			. = TRUE
   
  -/obj/item/dogborg/sleeper/proc/update_gut()
  +/obj/item/dogborg/sleeper/proc/update_gut(mob/living/silicon/robot/hound)
   	//Well, we HAD one, what happened to them?
   	var/prociconupdate = FALSE
   	var/currentenvy = hound.sleeper_nv
  
positive.code: 		cleaning_cycles = initial(cleaning_cycles)
  		cleaning = FALSE
  		to_chat(hound, "<span class='notice'>Your [src] chimes it ends its self-cleaning cycle.</span>")//Belly is entirely empty
  		update_gut()
  
  	if(!length(contents))
  		to_chat(hound, "<span class='notice'>Your [src] is now clean. Ending self-cleaning cycle.</span>")
  		cleaning = FALSE
  		update_gut()
  
  //sound effects
  	if(prob(50))
  
negative.code: 	else
  		. = ..()
  
  /obj/item/dogborg/sleeper/K9/afterattack(mob/living/carbon/target, mob/living/silicon/user, proximity)
  	var/mob/living/silicon/robot/hound = get_host()
  	if(!hound || !istype(target) || !proximity || target.anchored)
  		return
  	if (!target.devourable)
  		to_chat(user, "The target registers an error code. Unable to insert into [src].")
  		return
  	if(target)
  		to_chat(user,"<span class='warning'>Your [src] is already occupied.</span>")
  		return
  	if(target.buckled)
  		to_chat(user,"<span class='warning'>[target] is buckled and can not be put into your [src].</span>")
  		return
  	user.visible_message("<span class='warning'>[hound.name] is ingesting [target] into their [src].</span>", "<span class='notice'>You start ingesting [target] into your [src.name]...</span>")
  	if(do_after(user, 30, target = target) && !patient && !target.buckled)
  		target.forceMove(src)
  		target.reset_perspective(src)
  		update_gut(hound)
  		user.visible_message("<span class='warning'>[hound.name]'s mobile brig clunks in series as [target] slips inside.</span>", "<span class='notice'>Your mobile brig groans lightly as [target] slips inside.</span>")
  		playsound(hound, 'sound/effects/bin_close.ogg', 80, 1) // Really don't need ERP sound effects for robots
  
  
  /obj/item/dogborg/sleeper/compactor //Janihound gut.
  	name = "garbage processor"
  