anchor.diff:  				src.part_set = tpart_set
   				screen = "parts"
   	if(href_list["part"])
  -		var/list/part = filter.getObj("part")
  +		var/obj/part = filter.getObj("part")
  +		
  +		// critical exploit prevention, do not remove unless you replace it -walter0o
  +		if(src.exploit_prevention(part, usr))
  +			return
  +		
   		if(!processing_queue)
   			build_part(part)
   		else
   			add_to_queue(part)
   	if(href_list["add_to_queue"])
  -		add_to_queue(filter.getObj("add_to_queue"))
  +		var/obj/part = filter.getObj("add_to_queue")
  +		
  +		// critical exploit prevention, do not remove unless you replace it -walter0o
  +		if(src.exploit_prevention(part, usr))
  +			return
  +			
  +		add_to_queue(part)
  +		
   		return update_queue_on_page()
   	if(href_list["remove_from_queue"])
   		remove_from_queue(filter.getNum("remove_from_queue"))
  
positive.code: 
  /obj/machinery/mecha_part_fabricator/proc/build_part(var/obj/item/part)
  	if(!part) return
  	src.being_built = new part.type(src)
  	src.desc = "It's building \a [src.being_built]."
  	src.remove_resources(part)
  
negative.code: 		return update_queue_on_page()
  	if(href_list["part_desc"])
  		var/obj/part = filter.getObj("part_desc")
  		
  		// critical exploit prevention, do not remove unless you replace it -walter0o
  		if(src.exploit_prevention(part, usr, 1))
  			return
  		
  		if(part)
  			temp = {"<h1>[part] description:</h1>
  						[part.desc]<br>
  