From eb28b1f3044ed1e5b7c92728c4b93b081a7584b5 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Mon, 28 Sep 2015 12:01:25 +0200 Subject: [PATCH 1/3] Removes double-layered Chemistry windoor. Seems a bit excessive to have two windoors on the same location. --- maps/exodus-1.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index c755ae460ff..b512e9296fa 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -3519,7 +3519,7 @@ "bpI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bpJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/entry/aft) "bpK" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/hallway/secondary/entry/aft) -"bpL" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "chemcounter"; name = "Pharmacy Counter Shutters"; opacity = 0},/obj/structure/table/reinforced,/obj/machinery/door/window/westright{name = "Chemistry Desk"; req_access = list(33)},/obj/machinery/door/window/westright{name = "Chemistry Desk"; req_access = list(33)},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/medical/chemistry) +"bpL" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/blast/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "chemcounter"; name = "Pharmacy Counter Shutters"; opacity = 0},/obj/structure/table/reinforced,/obj/machinery/door/window/westright{name = "Chemistry Desk"; req_access = list(33)},/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/medical/chemistry) "bpM" = (/obj/item/weapon/stool/padded,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) "bpN" = (/obj/structure/table/standard,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue) "bpO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/cable/cyan,/turf/simulated/floor/plating,/area/turret_protected/ai_upload) From d77bcd79379e40f5d9f6d065a0fecdede38bc0a5 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Mon, 28 Sep 2015 12:15:16 +0200 Subject: [PATCH 2/3] The silicon law manager now only requires the host to be conscious. This should mean that the law manager is available even for carded AIs, even with the wireless interface disabled. Fixes #11139. --- baystation12.dme | 1 + code/modules/mob/living/silicon/subystems.dm | 2 +- code/modules/nano/interaction/base.dm | 2 +- code/modules/nano/interaction/conscious.dm | 7 +++++++ 4 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 code/modules/nano/interaction/conscious.dm diff --git a/baystation12.dme b/baystation12.dme index 38b9f77d966..2566203ca05 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1338,6 +1338,7 @@ #include "code\modules\nano\nanoui.dm" #include "code\modules\nano\interaction\admin.dm" #include "code\modules\nano\interaction\base.dm" +#include "code\modules\nano\interaction\conscious.dm" #include "code\modules\nano\interaction\contained.dm" #include "code\modules\nano\interaction\default.dm" #include "code\modules\nano\interaction\inventory.dm" diff --git a/code/modules/mob/living/silicon/subystems.dm b/code/modules/mob/living/silicon/subystems.dm index e8909b0b509..21ce3dd31f8 100644 --- a/code/modules/mob/living/silicon/subystems.dm +++ b/code/modules/mob/living/silicon/subystems.dm @@ -76,7 +76,7 @@ set name = "Law Manager" set category = "Subystems" - law_manager.ui_interact(usr, state = self_state) + law_manager.ui_interact(usr, state = conscious_state) /******************** * Power Monitor * diff --git a/code/modules/nano/interaction/base.dm b/code/modules/nano/interaction/base.dm index 602185bb8ab..99f9e490bef 100644 --- a/code/modules/nano/interaction/base.dm +++ b/code/modules/nano/interaction/base.dm @@ -14,7 +14,7 @@ /mob/proc/shared_nano_interaction() if (src.stat || !client) return STATUS_CLOSE // no updates, close the interface - else if (restrained() || lying || stat || stunned || weakened) + else if (restrained() || lying || stat || stunned || weakened) // TODO: Change to incapaciated() on merge return STATUS_UPDATE // update only (orange visibility) return STATUS_INTERACTIVE diff --git a/code/modules/nano/interaction/conscious.dm b/code/modules/nano/interaction/conscious.dm new file mode 100644 index 00000000000..143bc24956f --- /dev/null +++ b/code/modules/nano/interaction/conscious.dm @@ -0,0 +1,7 @@ +/* + This state only checks if user is conscious. +*/ +/var/global/datum/topic_state/conscious_state/conscious_state = new() + +/datum/topic_state/conscious_state/can_use_topic(var/src_object, var/mob/user) + return user.stat == CONSCIOUS ? STATUS_INTERACTIVE : STATUS_CLOSE From 86223d65bfb8221900e17a6e29de2e99034450b6 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 29 Sep 2015 11:28:31 +0200 Subject: [PATCH 3/3] TODO done. --- code/modules/nano/interaction/base.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/nano/interaction/base.dm b/code/modules/nano/interaction/base.dm index fe2f06faff0..ccd9f3740b3 100644 --- a/code/modules/nano/interaction/base.dm +++ b/code/modules/nano/interaction/base.dm @@ -14,7 +14,7 @@ /mob/proc/shared_nano_interaction() if (src.stat || !client) return STATUS_CLOSE // no updates, close the interface - else if (restrained() || lying || stat || stunned || weakened) // TODO: Change to incapaciated() on merge + else if (incapacitated()) return STATUS_UPDATE // update only (orange visibility) return STATUS_INTERACTIVE