anchor.diff:  	anchored = FALSE
   	mouse_drag_pointer = MOUSE_ACTIVE_POINTER
   	var/mob/living/carbon/attached = null
  -	var/mode = 1 // 1 is injecting, 0 is taking blood.
  +	var/mode = IV_INJECTING
   	var/obj/item/weapon/reagent_containers/beaker = null
   	var/list/drip_containers = list(/obj/item/weapon/reagent_containers/blood,
  -											/obj/item/weapon/reagent_containers/food,
  -											/obj/item/weapon/reagent_containers/glass)
  +									/obj/item/weapon/reagent_containers/food,
  +									/obj/item/weapon/reagent_containers/glass)
   
   /obj/machinery/iv_drip/Initialize()
   	..()
   	update_icon()
   	drip_containers = typecacheof(drip_containers)
  +
  +/obj/machinery/iv_drip/Destroy()
  +	attached = null
  +	QDEL_NULL(beaker)
  +	return ..()
   
   /obj/machinery/iv_drip/update_icon()
   	if(attached)
  
positive.code: 	if(beaker)
  		// Give blood
  		if(mode)
  			if(beaker.volume > 0)
  				var/transfer_amount = 5
  				if(istype(beaker, /obj/item/weapon/reagent_containers/blood))
  					// speed up transfer on blood packs
  					transfer_amount = 10
  				var/fraction = min(transfer_amount/beaker.volume, 1) //the fraction that is transfered of the total volume
  				beaker.reagents.reaction(attached, INJECT, fraction,0) //make reagents reacts, but don't spam messages
  				beaker.reagents.trans_to(attached, transfer_amount)
  				update_icon()
  
  
negative.code: 		to_chat(usr, "<span class='warning'>You can't do that!</span>")
  		return
  
  	if(usr.incapacitated())
  		return
  
  	if(beaker)
  		beaker.forceMove(get_turf(src))
  		beaker = null
  		update_icon()
  
  