From d8c41a1f638d70c4b14404ad9fe125bc02071e79 Mon Sep 17 00:00:00 2001 From: Casey Date: Mon, 22 Nov 2021 23:15:17 -0500 Subject: [PATCH] Merge pull request #11867 from Heroman3003/tablefix Fixes some table passing bugs --- code/modules/tables/flipping.dm | 2 +- code/modules/tables/interactions.dm | 8 ++++---- code/modules/tables/tables.dm | 2 ++ 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/code/modules/tables/flipping.dm b/code/modules/tables/flipping.dm index 507965765a..6e05b15e48 100644 --- a/code/modules/tables/flipping.dm +++ b/code/modules/tables/flipping.dm @@ -50,7 +50,7 @@ L.Add(turn(src.dir,90)) for(var/new_dir in L) var/obj/structure/table/T = locate() in get_step(src.loc,new_dir) - if(T && T.material.name == material.name) + if(T && T.material && T.material.name == material.name) if(T.flipped == 1 && T.dir == src.dir && !T.unflipping_check(new_dir)) return 0 return 1 diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm index 27627055d7..779bb76d5f 100644 --- a/code/modules/tables/interactions.dm +++ b/code/modules/tables/interactions.dm @@ -1,7 +1,7 @@ /obj/structure/table/CanPass(atom/movable/mover, turf/target) if(istype(mover,/obj/item/projectile)) return (check_cover(mover,target)) - if (flipped) + if(flipped == 1) if(get_dir(mover, target) == reverse_dir[dir]) // From elsewhere to here, can't move against our dir return !density return TRUE @@ -10,12 +10,12 @@ if(locate(/obj/structure/table/bench) in get_turf(mover)) return FALSE var/obj/structure/table/table = locate(/obj/structure/table) in get_turf(mover) - if(table && !table.flipped) + if(table && !(table.flipped == 1)) return TRUE return FALSE /obj/structure/table/climb_to(mob/living/mover) - if(flipped && mover.loc == loc) + if(flipped == 1 && mover.loc == loc) var/turf/T = get_step(src, dir) if(T.Enter(mover)) return T @@ -23,7 +23,7 @@ return ..() /obj/structure/table/Uncross(atom/movable/mover, turf/target) - if(flipped && (get_dir(mover, target) == dir)) // From here to elsewhere, can't move in our dir + if(flipped == 1 && (get_dir(mover, target) == dir)) // From here to elsewhere, can't move in our dir return !density return TRUE diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index f428033848..9a71cbdba7 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -331,6 +331,8 @@ var/list/table_icon_cache = list() return FALSE if(istype(src,/obj/structure/table/bench) && !istype(S,/obj/structure/table/bench)) return FALSE + if(istype(S,/obj/structure/table/rack) && !istype(src,/obj/structure/table/rack)) + return FALSE if(istype(src,/obj/structure/table/rack) && !istype(S,/obj/structure/table/rack)) return FALSE if(istype(S,/obj/structure/table))