anchor.diff:  					usr << errormsg("The tool is busy.")
   					return
   
  +				if(stack < p.req)
  +					usr << errormsg("You need [p.req] ingredients to extract.")
  +					return
  +
   				var/obj/items/i
  -				if(stack > 1)
  -					i = Split(1)
  +				if(stack > p.req)
  +					i = Split(p.req)
   				else
   					i = src
   					loc = null
  
positive.code: 
  	dropper
  		icon_state = "dropper"
  
  		Process(mob/Player/p, obj/items/ingredients/i)
  			if(isBusy)          return
  			if(i.form != SOLID) return
  			if(i.stack < 3)
  				p << errormsg("You need 3 ingredients to produce liquid.")
  				return
  
  			i.stack     -= 3
  			i.form       = LIQUID
  			i.name       = "[i.name] extract"
  			i.icon_state = "[i.icon_state]_liquid"
  
negative.code: 				return
  
  			var/obj/items/i
  
  			if(stack < p.req)
  				usr << errormsg("You need [p.req] ingredients to extract.")
  				return
  
  			if(stack > p.req)
  				i = Split(p.req)
  			else
  				i = src
  				loc = null
  