anchor.diff:  
   
   	process()
  -		if((stat & (NOPOWER|BROKEN)) || shorted)
  +		if((stat & (NOPOWER|BROKEN)) || shorted || buildstage != 2)
   			return
   
   		var/turf/simulated/location = loc
  
positive.code: 						user.visible_message("\red [user] has reconnected [src]'s detecting unit!", "You have reconnected [src]'s detecting unit.")
  					else
  						user.visible_message("\red [user] has disconnected [src]'s detecting unit!", "You have disconnected [src]'s detecting unit.")
  
  				else if (istype(W, /obj/item/weapon/wirecutters))
  					buildstage = 1
  					playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
  					var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil()
  					coil.amount = 5
  					coil.loc = user.loc
  					user << "You cut the wires from \the [src]"
  					update_icon()
  			if(1)
  				if(istype(W, /obj/item/weapon/cable_coil))
  					var/obj/item/weapon/cable_coil/coil = W
  
negative.code: 		update_icon()
  		return
  */
  	src.add_fingerprint(user)
  
  	switch(buildstage)
  		if(2)
  			if(istype(W, /obj/item/weapon/screwdriver))  // Opening that Air Alarm up.
  				//user << "You pop the Air Alarm's maintence panel open."
  				wiresexposed = !wiresexposed
  				user << "The wires have been [wiresexposed ? "exposed" : "unexposed"]"
  				update_icon()
  				return
  
  			if (wiresexposed && ((istype(W, /obj/item/device/multitool) || istype(W, /obj/item/weapon/wirecutters))))
  				return attack_hand(user)
  
  			if (istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))// trying to unlock the interface with an ID card
  				if(stat & (NOPOWER|BROKEN))
  					user << "It does nothing"
  					return
  				else
  					if(allowed(usr) && !isWireCut(AALARM_WIRE_IDSCAN))
  						locked = !locked
  						user << "\blue You [ locked ? "lock" : "unlock"] the Air Alarm interface."
  						updateUsrDialog()
  					else
  						user << "\red Access denied."
  			return
  
  		if(1)
  			if(istype(W, /obj/item/weapon/cable_coil))
  				var/obj/item/weapon/cable_coil/coil = W
  				if(coil.amount < 5)
  					user << "You need more cable for this!"
  					return
  
  				user << "You wire \the [src]!"
  				coil.amount -= 5
  				if(!coil.amount)
  					del(coil)
  
  				buildstage = 2
  				update_icon()
  				first_run()
  
  			else if(istype(W, /obj/item/weapon/crowbar))
  				user << "You pry out the circuit!"
  				playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
  				spawn(20)
  					var/obj/item/weapon/airalarm_electronics/circuit = new /obj/item/weapon/airalarm_electronics()
  					circuit.loc = user.loc
  					buildstage = 0
  					update_icon()
  		if(0)
  			if(istype(W, /obj/item/weapon/airalarm_electronics))
  				user << "You insert the circuit!"
  				del(W)
  				buildstage = 1
  				update_icon()
  
  				/* Commented out due to RUNTIMES, RUNTIMES EVERYWHERE.
  				else if(istype(W, /obj/item/weapon/wrench))
  					user << "You remove the fire alarm assembly from the wall!"
  					var/obj/item/firealarm_frame/frame = new /obj/item/firealarm_frame()
  					frame.loc = user.loc
  					playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
  					del(src) */
  			return
  
  	return ..()
  
  /obj/machinery/alarm/power_change()
  