anchor.diff:  		if(I.tool_behaviour)
   			present_qualities.Add(I.tool_behaviour)
   
  -	possible_tools += contents
  +	possible_tools |= contents["other"]
   
   	main_loop:
   		for(var/A in R.tools)
  
positive.code: 
  /datum/personal_crafting/proc/get_surroundings(mob/user)
  	. = list()
  	for(var/obj/item/I in get_environment(user))
  		if(I.flags_2 & HOLOGRAM_2)
  			continue
  		if(istype(I, /obj/item/stack))
  			var/obj/item/stack/S = I
  			.[I.type] += S.amount
  		else
  			if(istype(I, /obj/item/reagent_containers))
  				var/obj/item/reagent_containers/RC = I
  				if(RC.is_drainable())
  					for(var/datum/reagent/A in RC.reagents.reagent_list)
  						.[A.type] += A.volume
  			.[I.type] += 1
  
  /datum/personal_crafting/proc/check_tools(mob/user, datum/crafting_recipe/R, list/contents)
  	if(!R.tools.len)
  		return TRUE
  	var/list/possible_tools = list()
  	var/list/present_qualities = list()
  	for(var/obj/item/I in user.contents)
  		if(istype(I, /obj/item/storage))
  			for(var/obj/item/SI in I.contents)
  
negative.code: 
  
  /datum/personal_crafting/proc/check_contents(datum/crafting_recipe/R, list/contents)
  	contents = contents["other"]
  	main_loop:
  		for(var/A in R.reqs)
  			var/needed_amount = R.reqs[A]
  