anchor.diff:  	if(user.a_intent == INTENT_HARM)
   		return ..()
   
  +//callback proc used on stacks use_tool to stop unnecessary amounts being wasted from spam clicking.
  +/obj/structure/frame/computer/proc/check_state(target_state)
  +	if(state == target_state)
  +		return TRUE
  +	return FALSE
   
   /obj/structure/frame/computer/deconstruct(disassembled = TRUE)
   	if(!(flags_1 & NODECONSTRUCT_1))
  
positive.code: 				if(!P.tool_start_check(user, amount=5))
  					return
  				to_chat(user, "<span class='notice'>You start adding cables to the frame...</span>")
  				if(P.use_tool(src, user, 20, volume=50, amount=5))
  					if(state != 2)
  						return
  					to_chat(user, "<span class='notice'>You add cables to the frame.</span>")
  					state = 3
  					icon_state = "3"
  
negative.code: 					return
  
  				to_chat(user, "<span class='notice'>You start deconstructing the frame...</span>")
  				if(P.use_tool(src, user, 20, volume=50) && state == 0)
  					to_chat(user, "<span class='notice'>You deconstruct the frame.</span>")
  					var/obj/item/stack/sheet/metal/M = new (drop_location(), 5)
  					M.add_fingerprint(user)
  