From 2684ae8013a69f760c8247f7df2fb9989da9a6e8 Mon Sep 17 00:00:00 2001
From: zimon9 <122945887+zimon9@users.noreply.github.com>
Date: Mon, 13 Jan 2025 06:13:47 -0500
Subject: [PATCH 1/3] updates examine behavior to inherit examine_more behavior
---
code/game/machinery/computer/_computer.dm | 5 +++--
code/game/machinery/computer/crew.dm | 7 ++++---
code/game/objects/items/devices/radio/intercom.dm | 5 +----
code/modules/atmospherics/machinery/airalarm.dm | 5 +----
code/modules/modular_computers/computers/item/laptop.dm | 7 ++-----
code/modules/modular_computers/computers/item/tablet.dm | 5 +++++
.../computers/machinery/modular_computer.dm | 6 ++----
code/modules/power/apc.dm | 5 +----
8 files changed, 19 insertions(+), 26 deletions(-)
diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm
index 3def408de874..850fb5e0a4d2 100644
--- a/code/game/machinery/computer/_computer.dm
+++ b/code/game/machinery/computer/_computer.dm
@@ -124,6 +124,7 @@
if(!user.canUseTopic(src, !issilicon(user)) || !is_operational)
return
-/obj/machinery/computer/examine_more(mob/user)
+/obj/machinery/computer/examine(mob/user)
+ . = ..()
ui_interact(user)
- return ..()
+ return
diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm
index d8c3f460911b..cd7983ddd13e 100644
--- a/code/game/machinery/computer/crew.dm
+++ b/code/game/machinery/computer/crew.dm
@@ -44,9 +44,10 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new)
ui = new(user, src, "CrewConsole")
ui.open()
-/obj/machinery/computer/crew/examine_more(mob/user)
- interact(user) //crew monitors use the interact method instead of ui_interact, for some reason. Not very consistent.
- return ..()
+/obj/machinery/computer/crew/examine(mob/user)
+ . = ..()
+ interact(user)
+ return
/datum/crewmonitor/ui_close(mob/user)
ui_sources -= user
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index 26a7ea19c095..f5ace6738dc1 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -32,6 +32,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 31)
. += "It's screwed and secured to the wall."
else
. += "It's unscrewed from the wall, and can be detached."
+ interact(user)
/obj/item/radio/intercom/attackby(obj/item/I, mob/living/user, params)
if(I.tool_behaviour == TOOL_SCREWDRIVER)
@@ -177,10 +178,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 31)
set_frequency(FREQ_WIDEBAND)
freqlock = TRUE
-/obj/item/radio/intercom/wideband/examine_more(mob/user)
- interact(user)
- return ..()
-
/obj/item/radio/intercom/wideband/unscrewed
unscrewed = TRUE
diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm
index bfd869247f8c..20bb9bfa1a7e 100644
--- a/code/modules/atmospherics/machinery/airalarm.dm
+++ b/code/modules/atmospherics/machinery/airalarm.dm
@@ -263,6 +263,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27)
. += "It is missing wiring."
if(2)
. += "Alt-click to [locked ? "unlock" : "lock"] the interface."
+ ui_interact(user)
/obj/machinery/airalarm/ui_status(mob/user)
if(user.has_unlimited_silicon_privilege && aidisabled)
@@ -278,10 +279,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27)
ui = new(user, src, "AirAlarm", name)
ui.open()
-/obj/machinery/airalarm/examine_more(mob/user)
- ui_interact(user)
- return ..()
-
/obj/machinery/airalarm/ui_data(mob/user)
var/data = list(
"locked" = locked,
diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm
index 2e7ce89d33b8..e8c0e89ab382 100644
--- a/code/modules/modular_computers/computers/item/laptop.dm
+++ b/code/modules/modular_computers/computers/item/laptop.dm
@@ -27,6 +27,8 @@
. = ..()
if(screen_on)
. += "Alt-click to close it."
+ if(screen_on && enabled)
+ interact(user)
/obj/item/modular_computer/laptop/Initialize()
. = ..()
@@ -112,11 +114,6 @@
display_overlays = screen_on
update_appearance()
-/obj/item/modular_computer/laptop/examine_more(mob/user)
- if(screen_on)
- interact(user)
- return ..()
-
// Laptop frame, starts empty and closed.
/obj/item/modular_computer/laptop/buildable
start_open = FALSE
diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm
index 2ff0f33a79e1..019bce4706b3 100644
--- a/code/modules/modular_computers/computers/item/tablet.dm
+++ b/code/modules/modular_computers/computers/item/tablet.dm
@@ -23,6 +23,11 @@
icon_state = icon_state_powered = icon_state_unpowered = "[base_icon_state]-[finish_color]"
return ..()
+/obj/item/modular_computer/tablet/examine(mob/user)
+ if(screen_on && enabled)
+ interact(user)
+
+
/obj/item/modular_computer/tablet/syndicate_contract_uplink
name = "contractor tablet"
icon = 'icons/obj/contractor_tablet.dmi'
diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm
index e8a3b6e18527..72333ed494c7 100644
--- a/code/modules/modular_computers/computers/machinery/modular_computer.dm
+++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm
@@ -39,6 +39,8 @@
/obj/machinery/modular_computer/examine(mob/user)
. = ..()
. += get_modular_computer_parts_examine(user)
+ if(cpu.enabled)
+ interact(user)
/obj/machinery/modular_computer/attack_ghost(mob/dead/observer/user)
. = ..()
@@ -85,10 +87,6 @@
else
return ..()
-/obj/machinery/modular_computer/examine_more(mob/user)
- interact(user)
- return ..()
-
// Process currently calls handle_power(), may be expanded in future if more things are added.
/obj/machinery/modular_computer/process()
if(cpu)
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index a3cedcd401ea..0225fd726b52 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -326,6 +326,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25)
. += "The cover is broken. It may be hard to force it open."
else
. += "The cover is closed."
+ ui_interact(user)
. += "Alt-Click the APC to [ locked ? "unlock" : "lock"] the interface."
@@ -900,10 +901,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25)
ui = new(user, src, "Apc", name)
ui.open()
-/obj/machinery/power/apc/examine_more(mob/user)
- ui_interact(user)
- return ..()
-
/obj/machinery/power/apc/ui_data(mob/user)
var/list/data = list(
"locked" = locked,
From 487039469fb2b9b74dadba192a2e80d2459a8d13 Mon Sep 17 00:00:00 2001
From: zimon9 <122945887+zimon9@users.noreply.github.com>
Date: Mon, 13 Jan 2025 06:43:58 -0500
Subject: [PATCH 2/3] removes some unnecessary whitespace
---
code/modules/modular_computers/computers/item/tablet.dm | 1 -
1 file changed, 1 deletion(-)
diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm
index 019bce4706b3..3cc2fc987322 100644
--- a/code/modules/modular_computers/computers/item/tablet.dm
+++ b/code/modules/modular_computers/computers/item/tablet.dm
@@ -27,7 +27,6 @@
if(screen_on && enabled)
interact(user)
-
/obj/item/modular_computer/tablet/syndicate_contract_uplink
name = "contractor tablet"
icon = 'icons/obj/contractor_tablet.dmi'
From fdb1c95c98ed6cc5dc8eb98c106a65be612dc610 Mon Sep 17 00:00:00 2001
From: zimon9 <122945887+zimon9@users.noreply.github.com>
Date: Fri, 17 Jan 2025 11:27:05 -0500
Subject: [PATCH 3/3] reverts ui_interaction on examine and returns it to
examine_more. Still a little iffy on this.
---
code/game/machinery/computer/_computer.dm | 2 +-
code/game/machinery/computer/crew.dm | 3 +--
code/game/objects/items/devices/radio/intercom.dm | 3 +++
code/modules/atmospherics/machinery/airalarm.dm | 7 ++++++-
code/modules/modular_computers/computers/item/laptop.dm | 3 +++
code/modules/modular_computers/computers/item/tablet.dm | 3 ++-
.../computers/machinery/modular_computer.dm | 3 +++
code/modules/power/apc.dm | 5 ++++-
8 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm
index 850fb5e0a4d2..22681dc85170 100644
--- a/code/game/machinery/computer/_computer.dm
+++ b/code/game/machinery/computer/_computer.dm
@@ -124,7 +124,7 @@
if(!user.canUseTopic(src, !issilicon(user)) || !is_operational)
return
-/obj/machinery/computer/examine(mob/user)
+/obj/machinery/computer/examine_more(mob/user)
. = ..()
ui_interact(user)
return
diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm
index cd7983ddd13e..60cde59a25e6 100644
--- a/code/game/machinery/computer/crew.dm
+++ b/code/game/machinery/computer/crew.dm
@@ -44,10 +44,9 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new)
ui = new(user, src, "CrewConsole")
ui.open()
-/obj/machinery/computer/crew/examine(mob/user)
+/obj/machinery/computer/crew/examine_more(mob/user)
. = ..()
interact(user)
- return
/datum/crewmonitor/ui_close(mob/user)
ui_sources -= user
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index f5ace6738dc1..857cdadd8f4c 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -32,6 +32,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 31)
. += "It's screwed and secured to the wall."
else
. += "It's unscrewed from the wall, and can be detached."
+
+/obj/item/radio/intercom/wideband/examine_more(mob/user)
+ . = ..()
interact(user)
/obj/item/radio/intercom/attackby(obj/item/I, mob/living/user, params)
diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm
index 20bb9bfa1a7e..45d4ce2845ca 100644
--- a/code/modules/atmospherics/machinery/airalarm.dm
+++ b/code/modules/atmospherics/machinery/airalarm.dm
@@ -263,7 +263,12 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27)
. += "It is missing wiring."
if(2)
. += "Alt-click to [locked ? "unlock" : "lock"] the interface."
- ui_interact(user)
+
+/obj/machinery/airalarm/examine_more(mob/user)
+ . = ..()
+ if(buildstage == 2)
+ ui_interact(user)
+
/obj/machinery/airalarm/ui_status(mob/user)
if(user.has_unlimited_silicon_privilege && aidisabled)
diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm
index e8c0e89ab382..5cf21a56bf04 100644
--- a/code/modules/modular_computers/computers/item/laptop.dm
+++ b/code/modules/modular_computers/computers/item/laptop.dm
@@ -27,6 +27,9 @@
. = ..()
if(screen_on)
. += "Alt-click to close it."
+
+/obj/item/modular_computer/laptop/examine_more(mob/user)
+ . = ..()
if(screen_on && enabled)
interact(user)
diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm
index 3cc2fc987322..bcc84d11d3df 100644
--- a/code/modules/modular_computers/computers/item/tablet.dm
+++ b/code/modules/modular_computers/computers/item/tablet.dm
@@ -23,7 +23,8 @@
icon_state = icon_state_powered = icon_state_unpowered = "[base_icon_state]-[finish_color]"
return ..()
-/obj/item/modular_computer/tablet/examine(mob/user)
+/obj/item/modular_computer/tablet/examine_more(mob/user)
+ . = ..()
if(screen_on && enabled)
interact(user)
diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm
index 72333ed494c7..359e5817b06d 100644
--- a/code/modules/modular_computers/computers/machinery/modular_computer.dm
+++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm
@@ -39,6 +39,9 @@
/obj/machinery/modular_computer/examine(mob/user)
. = ..()
. += get_modular_computer_parts_examine(user)
+
+/obj/machinery/modular_computer/examine_more(mob/user)
+ . = ..()
if(cpu.enabled)
interact(user)
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 0225fd726b52..1e66e191f794 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -326,13 +326,16 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25)
. += "The cover is broken. It may be hard to force it open."
else
. += "The cover is closed."
- ui_interact(user)
. += "Alt-Click the APC to [ locked ? "unlock" : "lock"] the interface."
if(issilicon(user))
. += "Ctrl-Click the APC to switch the breaker [ operating ? "off" : "on"]."
+/obj/machinery/power/apc/examine_more(mob/user)
+ . = ..()
+ ui_interact(user)
+
// update the APC icon to show the three base states
// also add overlays for indicator lights
/obj/machinery/power/apc/update_appearance(updates=check_updates())