anchor.diff:  					return
   
   				to_chat(user, "<span class='notice'>You start deconstructing the frame...</span>")
  -				if(P.use_tool(src, user, 20, volume=50))
  +				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)
  
positive.code: 					return
  				playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
  				to_chat(user, "<span class='notice'>You start to put in the glass panel...</span>")
  				if(P.use_tool(src, user, 20, amount=2))
  					if(state != 3)
  						return
  					to_chat(user, "<span class='notice'>You put in the glass panel.</span>")
  					state = 4
  					src.icon_state = "4"
  
negative.code: 	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))
  