From 3d2285a2151c0564d6bb38dde883d7b379d633ea Mon Sep 17 00:00:00 2001 From: jimmyl <70376633+mc-oofert@users.noreply.github.com> Date: Sun, 9 Jun 2024 01:24:00 +0200 Subject: [PATCH] stacking machine consoles check in area instead of a tiny view range on init (#83738) ## About The Pull Request stacking machine consoles check in area instead of a tiny view range on init ## Why It's Good For The Game turns out there are areas where you cant cram the console directly next to a stacker ## Changelog :cl: code: stacking machine consoles check in area instead of a tiny view range on init /:cl: --- code/modules/mining/machine_stacking.dm | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index 1f9a29a6e37..a52107ce8b2 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -12,12 +12,21 @@ /obj/machinery/mineral/stacking_unit_console/Initialize(mapload) . = ..() - machine = locate(/obj/machinery/mineral/stacking_machine) in view(2, src) - if (machine) - machine.console = src + var/area/our_area = get_area(src) + if(!isnull(our_area)) + return + var/list/turf_list = our_area.get_turfs_by_zlevel(z) + if(!islist(turf_list)) + return + for (var/turf/area_turf as anything in turf_list) + var/obj/machinery/mineral/stacking_machine/found_machine = locate(/obj/machinery/mineral/stacking_machine) in area_turf + if(!isnull(found_machine) && isnull(found_machine.console)) + found_machine.console = src + machine = found_machine + break /obj/machinery/mineral/stacking_unit_console/Destroy() - if(machine) + if(!isnull(machine)) machine.console = null machine = null return ..() @@ -109,7 +118,7 @@ ) /obj/machinery/mineral/stacking_machine/Destroy() - if(console) + if(!isnull(console)) console.machine = null console = null materials = null