From 5a31b00b2f925cfca9098bb3532816f904ba29f5 Mon Sep 17 00:00:00 2001 From: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Date: Sun, 26 Oct 2025 01:13:06 +0530 Subject: [PATCH] [NO GBP]Fixes some wall mounted items & Flaky poster sign CI Failures (#93606) --- code/datums/components/wall_mounted.dm | 1 + .../objects/items/devices/radio/intercom.dm | 4 --- code/game/objects/structures/signs/_signs.dm | 1 - code/modules/power/apc/apc_main.dm | 35 ++++++++++--------- .../modules/power/lighting/light_construct.dm | 1 + 5 files changed, 20 insertions(+), 22 deletions(-) diff --git a/code/datums/components/wall_mounted.dm b/code/datums/components/wall_mounted.dm index 757b171023e..ef050a7fc61 100644 --- a/code/datums/components/wall_mounted.dm +++ b/code/datums/components/wall_mounted.dm @@ -27,6 +27,7 @@ */ /datum/component/wall_mounted/proc/on_examine(datum/source, mob/user, list/examine_list) SIGNAL_HANDLER + if (parent in view(user.client?.view || world.view, user)) examine_list += span_notice("\The [hanging_wall_turf] is currently supporting [span_bold("[parent]")]. Deconstruction or excessive damage would cause it to [span_bold("fall to the ground")].") diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 58cf998bb71..1b33ba5b49a 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -42,10 +42,6 @@ find_and_hang_on_wall() GLOB.intercoms_list += src -/obj/item/radio/intercom/find_and_hang_on_wall() - if(!unscrewed) - return ..() - /obj/item/radio/intercom/Destroy() GLOB.intercoms_list -= src return ..() diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index d1baf9970d4..905d709b273 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -117,7 +117,6 @@ unwrenched_sign.sign_path = type unwrenched_sign.set_custom_materials(custom_materials) //This is here so picture frames and wooden things don't get messed up. unwrenched_sign.is_editable = is_editable - unwrenched_sign.update_integrity(get_integrity()) //Transfer how damaged it is. unwrenched_sign.setDir(dir) /obj/structure/sign/blank //This subtype is necessary for now because some other things (posters, picture frames, paintings) inherit from the parent type. diff --git a/code/modules/power/apc/apc_main.dm b/code/modules/power/apc/apc_main.dm index 7355eb7fcf2..d2de1f75b29 100644 --- a/code/modules/power/apc/apc_main.dm +++ b/code/modules/power/apc/apc_main.dm @@ -173,29 +173,14 @@ //. += NAMEOF(src, locked) return . -/obj/machinery/power/apc/Initialize(mapload, ndir) +/obj/machinery/power/apc/Initialize(mapload) . = ..() + setDir(dir) //APCs get added to their own processing tasks for the machines subsystem. if (!(datum_flags & DF_ISPROCESSING)) datum_flags |= DF_ISPROCESSING SSmachines.processing_apcs += src - //Pixel offset its appearance based on its direction - dir = ndir - switch(dir) - if(NORTH) - offset_old = pixel_y - pixel_y = APC_PIXEL_OFFSET - if(SOUTH) - offset_old = pixel_y - pixel_y = -APC_PIXEL_OFFSET - if(EAST) - offset_old = pixel_x - pixel_x = APC_PIXEL_OFFSET - if(WEST) - offset_old = pixel_x - pixel_x = -APC_PIXEL_OFFSET - var/image/hud_image = image(icon = 'icons/mob/huds/hud.dmi', icon_state = "apc_hacked") hud_image.pixel_w = pixel_x hud_image.pixel_z = pixel_y @@ -278,6 +263,22 @@ disconnect_terminal() return ..() +/obj/machinery/power/apc/setDir(newdir) + . = ..() + switch(newdir) + if(NORTH) + offset_old = pixel_y + pixel_y = APC_PIXEL_OFFSET + if(SOUTH) + offset_old = pixel_y + pixel_y = -APC_PIXEL_OFFSET + if(EAST) + offset_old = pixel_x + pixel_x = APC_PIXEL_OFFSET + if(WEST) + offset_old = pixel_x + pixel_x = -APC_PIXEL_OFFSET + /obj/machinery/power/apc/on_saboteur(datum/source, disrupt_duration) . = ..() disrupt_duration *= 0.1 // so, turns out, failure timer is in seconds, not deciseconds; without this, disruptions last 10 times as long as they probably should diff --git a/code/modules/power/lighting/light_construct.dm b/code/modules/power/lighting/light_construct.dm index c3872130b25..c38a34318ca 100644 --- a/code/modules/power/lighting/light_construct.dm +++ b/code/modules/power/lighting/light_construct.dm @@ -145,6 +145,7 @@ if("bulb") new_light = new /obj/machinery/light/small/built(loc) new_light.setDir(dir) + new_light.find_and_hang_on_wall() transfer_fingerprints_to(new_light) if(!QDELETED(cell)) new_light.cell = cell