From f1650514a80291b9d9bd6dbe4c8ca46a75e8f000 Mon Sep 17 00:00:00 2001 From: ynot01 Date: Mon, 30 May 2022 23:35:35 -0400 Subject: [PATCH 1/3] bluespace locker Teleport --- .../crates_lockers/closets/bluespace_locker.dm | 2 +- .../code/controllers/subsystem/bluespace_locker.dm | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/crates_lockers/closets/bluespace_locker.dm b/code/game/objects/structures/crates_lockers/closets/bluespace_locker.dm index 9e2fadc69dd4..ef96e171cc75 100644 --- a/code/game/objects/structures/crates_lockers/closets/bluespace_locker.dm +++ b/code/game/objects/structures/crates_lockers/closets/bluespace_locker.dm @@ -151,7 +151,7 @@ /obj/structure/closet/bluespace/external/Destroy() SSbluespace_locker.external_locker = null - SSbluespace_locker.bluespaceify_random_locker() + SSbluespace_locker.redistribute_locker() return ..() /obj/structure/closet/bluespace/external/can_open() diff --git a/yogstation/code/controllers/subsystem/bluespace_locker.dm b/yogstation/code/controllers/subsystem/bluespace_locker.dm index fc97e2545728..db522501f2ff 100644 --- a/yogstation/code/controllers/subsystem/bluespace_locker.dm +++ b/yogstation/code/controllers/subsystem/bluespace_locker.dm @@ -67,3 +67,12 @@ SUBSYSTEM_DEF(bluespace_locker) internal_locker.dump_contents() internal_locker.update_icon() external_locker.update_icon() + +/datum/controller/subsystem/bluespace_locker/proc/redistribute_locker() + if(!internal_locker) + return + var/area/A = get_area(internal_locker) + for(var/atom/movable/M in A) + M.forceMove(find_safe_turf()) + qdel(internal_locker) + internal_locker = null From b8a4aa4aba1f22c1782b40a6c90e67072a7b3a16 Mon Sep 17 00:00:00 2001 From: ynot01 Date: Sat, 18 Jun 2022 17:41:06 -0400 Subject: [PATCH 2/3] dont del locker --- yogstation/code/controllers/subsystem/bluespace_locker.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/yogstation/code/controllers/subsystem/bluespace_locker.dm b/yogstation/code/controllers/subsystem/bluespace_locker.dm index db522501f2ff..45924288fb29 100644 --- a/yogstation/code/controllers/subsystem/bluespace_locker.dm +++ b/yogstation/code/controllers/subsystem/bluespace_locker.dm @@ -73,6 +73,8 @@ SUBSYSTEM_DEF(bluespace_locker) return var/area/A = get_area(internal_locker) for(var/atom/movable/M in A) + if(M == internal_locker) + continue + if(istype(M, /obj/machinery/light)) + continue M.forceMove(find_safe_turf()) - qdel(internal_locker) - internal_locker = null From f483d065da8e8cc6c50087ee0cef6d1377db62a8 Mon Sep 17 00:00:00 2001 From: ynot01 Date: Sat, 18 Jun 2022 17:42:21 -0400 Subject: [PATCH 3/3] pick new locker --- yogstation/code/controllers/subsystem/bluespace_locker.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/yogstation/code/controllers/subsystem/bluespace_locker.dm b/yogstation/code/controllers/subsystem/bluespace_locker.dm index 45924288fb29..9ac6ef56e347 100644 --- a/yogstation/code/controllers/subsystem/bluespace_locker.dm +++ b/yogstation/code/controllers/subsystem/bluespace_locker.dm @@ -78,3 +78,4 @@ SUBSYSTEM_DEF(bluespace_locker) if(istype(M, /obj/machinery/light)) continue M.forceMove(find_safe_turf()) + bluespaceify_random_locker()