From b3102863a0f720cb7b7ba255c35a77bc40c5fc2a Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 6 Jul 2018 09:35:28 -0700 Subject: [PATCH] minor turf reservation fix (#38935) no longer reserves 1 more height+width than necessary, checks against invalid sizes --- code/modules/mapping/space_management/space_reservation.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mapping/space_management/space_reservation.dm b/code/modules/mapping/space_management/space_reservation.dm index 38e7e4ecad797..83147d5df7998 100644 --- a/code/modules/mapping/space_management/space_reservation.dm +++ b/code/modules/mapping/space_management/space_reservation.dm @@ -19,7 +19,7 @@ SSmapping.reserve_turfs(v) /datum/turf_reservation/proc/Reserve(width, height, zlevel) - if(width > world.maxx || height > world.maxy) + if(width > world.maxx || height > world.maxy || width < 1 || height < 1) return FALSE var/list/avail = SSmapping.unused_turfs["[zlevel]"] var/turf/BL @@ -33,7 +33,7 @@ continue if(BL.x + width > world.maxx || BL.y + height > world.maxy) continue - TR = locate(BL.x + width, BL.y + height, BL.z) + TR = locate(BL.x + width - 1, BL.y + height - 1, BL.z) if(!(TR.flags_1 & UNUSED_RESERVATION_TURF_1)) continue final = block(BL, TR)