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())