From 384de2908eee78ed777d8fe0d8568ef2fd21c2f6 Mon Sep 17 00:00:00 2001 From: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> Date: Thu, 28 May 2026 02:35:21 -0400 Subject: [PATCH] Fixes blast door collisions (#32061) --- code/game/machinery/doors/poddoor.dm | 45 ++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index 8937695c08b..51509602b71 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -162,6 +162,51 @@ else to_chat(user, SPAN_WARNING("[src] resists your efforts to force it!")) +/obj/machinery/door/poddoor/update_bounds() + if(width <= 1) + return + + QDEL_LIST_CONTENTS(fillers) + + if(dir in list(NORTH, SOUTH)) + bound_width = width * world.icon_size + bound_height = world.icon_size + bound_y = 0 + pixel_y = 0 + if(dir == NORTH) + bound_x = -(width - 1) * world.icon_size + pixel_x = -(width - 1) * world.icon_size + else + bound_x = 0 + pixel_x = 0 + + else + bound_width = world.icon_size + bound_height = width * world.icon_size + bound_x = 0 + pixel_x = 0 + if(dir == WEST) + bound_y = -(width - 1) * world.icon_size + pixel_y = -(width - 1) * world.icon_size + else + bound_y = 0 + pixel_y = 0 + + LAZYINITLIST(fillers) + + var/obj/last_filler = src + for(var/i in 1 to width - 1) + var/obj/airlock_filler_object/filler + + filler = new(src) + filler.pair_airlock(src) + filler.loc = get_step(last_filler, turn(dir, 90)) + filler.density = density + filler.set_opacity(opacity) + + fillers += filler + last_filler = filler + // Whoever wrote the old code for multi-tile spesspod doors needs to burn in hell. - Unknown // Wise words. - Bxil /obj/machinery/door/poddoor/multi_tile