anchor.diff:  		usr << "\red You can't do that."
   		return
   
  -	if(mode == "give")
  -		mode = "take"
  -		usr << "The IV drip is now taking blood."
  -	else if(mode == "take")
  -		mode = "give"
  -		usr << "The IV drip is now giving blood."
  +	if(usr.stat)
  +		return
  +
  +	mode = !mode
  +	usr << "The IV drip is now [mode ? "injecting" : "taking blood"]."
   
   /obj/machinery/iv_drip/examine()
   	set src in view()
   	..()
   	if (!(usr in view(2)) && usr!=src.loc) return
   
  -	if(mode == "take")
  -		usr << "The IV drip is taking blood."
  -	else if(mode == "give")
  -		usr << "The IV drip is injecting."
  +	usr << "The IV drip is [mode ? "injecting" : "taking blood"]."
   
   	if(beaker)
  -		usr << "\blue Attached is \a [beaker] with:"
   		if(beaker.reagents && beaker.reagents.reagent_list.len)
  -			for(var/datum/reagent/R in beaker.reagents.reagent_list)
  -				usr << "\blue [R.volume] units of [R.name]"
  +			usr << "\blue Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid."
   		else
   			usr << "\blue Attached is an empty [beaker]."
   	else
   		usr << "\blue No chemicals are attached."
   
  -	if(attached)
  -		usr << "\blue [attached] is attached."
  -	else
  -		usr << "\blue No one is attached."+	usr << "\blue [attached ? attached : "No one"] is attached."
positive.code: 
  
  /obj/machinery/iv_drip/var/mob/living/carbon/human/attached = null
  /obj/machinery/iv_drip/var/mode = "give" // mode can be "give" or "take"
  /obj/machinery/iv_drip/var/obj/item/weapon/reagent_containers/beaker = null
  
  /obj/machinery/iv_drip/update_icon()
  
negative.code: 
  	if(src.attached && src.beaker)
  		// Give blood
  		if(mode)
  			if(src.beaker.volume > 0)
  				var/transfer_amount = REAGENTS_METABOLISM
  				if(istype(src.beaker, /obj/item/weapon/reagent_containers/blood))
  					// speed up transfer on blood packs
  					transfer_amount = 4
  				src.beaker.reagents.trans_to(src.attached, transfer_amount)
  				update_icon()
  
  		// Take blood
  		else
  			var/amount = beaker.reagents.maximum_volume - beaker.reagents.total_volume
  			amount = min(amount, 4)
  			// If the beaker is full, ping
  