From 539e9fba9a8063dab54b584280db5a36a7fec984 Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 30 Nov 2015 18:11:33 +0000 Subject: [PATCH] Changes here (https://github.com/Baystation12/Baystation12/pull/11446) were made when adding some sort of hacking tool. I don't believe we have these changes, but I do know that our UI for AI doesn't currently work(see #328). A few of the changes made in the linked Baystation Dev change fix our current UI issues. I'll leave it up to Neerti to decide whether we want to work out and pull what's necessary for the hacking tool, but for now this contains the single changes which appear to fix the bug. --- code/game/machinery/doors/airlock.dm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) 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