diff --git a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm index 112fa9f4669..4ec7830ac88 100644 --- a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm +++ b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm @@ -491,6 +491,10 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) if(allow_link_change) disconnect_sensor() + if ("lock") + togglelock(usr) + return TRUE + update_appearance() return TRUE diff --git a/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm b/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm index f7eaf5788c9..1d2dbfa3363 100644 --- a/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm +++ b/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm @@ -71,6 +71,9 @@ if(machine_stat & (NOPOWER|BROKEN)) to_chat(user, span_warning("It does nothing!")) else + if(HAS_SILICON_ACCESS(user)) + locked = !locked + return if(src.allowed(usr) && !wires.is_cut(WIRE_IDSCAN)) locked = !locked to_chat(user, span_notice("You [ locked ? "lock" : "unlock"] the air alarm interface.")) @@ -78,7 +81,6 @@ ui_interact(user) else to_chat(user, span_danger("Access denied.")) - return /obj/machinery/airalarm/emag_act(mob/user, obj/item/card/emag/emag_card) if(obj_flags & EMAGGED)