anchor.diff:  		for(var/i=1;i<=queue.len;i++)
   			var/obj/item/part = listgetindex(src.queue, i)
   			if(istype(part))
  -				if(part.vars.Find("construction_time") && part.vars.Find("construction_cost"))
  +				if(hasvar(part, "construction_time") && hasvar(part, "construction_cost"))
   					output += "<li[!check_resources(part)?" style='color: #f00;'":null]>[part.name] - [i>1?"<a href='?src=\ref[src];queue_move=-1;index=[i]' class='arrow'>&uarr;</a>":null] [i<queue.len?"<a href='?src=\ref[src];queue_move=+1;index=[i]' class='arrow'>&darr;</a>":null] <a href='?src=\ref[src];remove_from_queue=[i]'>Remove</a></li>"
   				else//Prevents junk items from even appearing in the list, and they will be silently removed when the fab processes
   					remove_from_queue(i)//Trash it
  
positive.code: 
  /obj/machinery/mecha_part_fabricator/proc/get_construction_time_w_coeff(var/obj/item/part as obj, var/roundto=1)
  //Be SURE to add any new equipment to this switch, but don't be suprised if it spits out children objects
  	if(part.vars.Find("construction_time") && part.vars.Find("construction_cost"))
  		return round(part:construction_time*time_coeff*time_coeff_tech, roundto)
  	else
  		return 0
  
negative.code: 
  /obj/machinery/mecha_part_fabricator/proc/remove_resources(var/obj/item/part)
  //Be SURE to add any new equipment to this switch, but don't be suprised if it spits out children objects
  	if(hasvar(part, "construction_time") && hasvar(part, "construction_cost"))
  		for(var/resource in part:construction_cost)
  			if(resource in src.resources)
  				src.resources[resource] -= get_resource_cost_w_coeff(part,resource)
  