diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 9b7abebdeda..13f0d7e603a 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -556,7 +556,7 @@ About the new airlock wires panel: /obj/machinery/door/airlock/attack_ai(mob/user as mob) ui_interact(user) -/obj/machinery/door/airlock/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) +/obj/machinery/door/airlock/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = default_state) var/data[0] data["main_power_loss"] = round(main_power_lost_until > 0 ? max(main_power_lost_until - world.time, 0) / 10 : main_power_lost_until, 1) @@ -576,7 +576,7 @@ About the new airlock wires panel: ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) - ui = new(user, src, ui_key, "door_control.tmpl", "Door Controls", 450, 350) + ui = new(user, src, ui_key, "door_control.tmpl", "Door Controls", 450, 350, state = state) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) @@ -671,13 +671,10 @@ About the new airlock wires panel: return /obj/machinery/door/airlock/CanUseTopic(var/mob/user) - if(issilicon(user)) - return STATUS_CLOSE - if(operating < 0) //emagged user << "Unable to interface: Internal error." return STATUS_CLOSE - if(!src.canAIControl()) + if(issilicon(user) && !src.canAIControl()) if(src.canAIHack(user)) src.hack(user) else