diff --git a/code/datums/wires/alarm.dm b/code/datums/wires/alarm.dm index e8d68d7ffe2..6ebc9372655 100644 --- a/code/datums/wires/alarm.dm +++ b/code/datums/wires/alarm.dm @@ -11,7 +11,7 @@ var/const/AALARM_WIRE_AALARM = 16 /datum/wires/alarm/CanUse(var/mob/living/L) var/obj/machinery/alarm/A = holder - if(A.wiresexposed) + if(A.wiresexposed && A.buildstage == 2) return 1 return 0 diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 13dd8c75e69..b6622e75a4d 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -915,8 +915,13 @@ table tr:first-child th:first-child { border: none;} update_icon() return - if (wiresexposed && ((istype(W, /obj/item/device/multitool) || istype(W, /obj/item/weapon/wirecutters)))) - return attack_hand(user) + if (wiresexposed && istype(W, /obj/item/weapon/wirecutters)) + user.visible_message("[user] has cut the wires inside \the [src]!", "You have cut the wires inside \the [src].") + playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) + new/obj/item/stack/cable_coil(get_turf(src), 5) + buildstage = 1 + update_icon() + return 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)) @@ -1303,7 +1308,7 @@ FIRE ALARM /obj/machinery/firealarm/proc/delayed_reset() var/area/A = get_area(src) if (!A) return - + src = null spawn(600) A.firereset()