From 3c588cefe7f2f024fc5836c3d7c77cfa15cce1e2 Mon Sep 17 00:00:00 2001 From: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Date: Mon, 28 Jul 2025 01:18:19 +0530 Subject: [PATCH] [NO GBP]Fixes map loaded portable smes breaking (#92271) --- code/modules/power/smes_portable.dm | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/code/modules/power/smes_portable.dm b/code/modules/power/smes_portable.dm index 5601942be0c..a416a946e2c 100644 --- a/code/modules/power/smes_portable.dm +++ b/code/modules/power/smes_portable.dm @@ -114,15 +114,9 @@ /obj/machinery/smesbank/Initialize(mapload) . = ..() - ///Initial connection for mapload + ///Initial connection for mapload, We attempt to locate the connector but only connect to it after it has initialized if(mapload) - var/obj/machinery/power/smes/connector/possible_connector = locate(/obj/machinery/power/smes/connector) in loc - if(!possible_connector) - return - if(!connect_port(possible_connector)) - return - possible_connector.input_attempt = TRUE - possible_connector.output_attempt = TRUE + connected_port = locate() in loc ///Initial charge if(charge) @@ -134,6 +128,22 @@ register_context() +/obj/machinery/smesbank/post_machine_initialize() + . = ..() + + //we somehow located an deleted port or no port at all. clear out + if(QDELETED(connected_port)) + connected_port = null + return + + //connect to the port located during mapload + var/obj/machinery/power/smes/connector/possible_connector = connected_port + connected_port = null + if(!connect_port(possible_connector)) + return + connected_port.input_attempt = TRUE + connected_port.output_attempt = TRUE + /obj/machinery/smesbank/on_construction(mob/user) set_anchored(FALSE)