anchor.diff:  		update_icon()
   		return
   */
  -	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)
  -
  -
  -	else 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"
  -		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
  +	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()
  
positive.code: 		TLV["temperature"] =	list(20, 40, 140, 160) // K
  		target_temperature = 90
  
  	New()
  		..()
  		alarm_area = get_area(src)
  		if (alarm_area.master)
  			alarm_area = alarm_area.master
  
negative.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.")
  			if(1)
  				if(istype(W, /obj/item/weapon/cable_coil))
  					var/obj/item/weapon/cable_coil/coil = W
  