diff --git a/code/game/turfs/baseturfs.dm b/code/game/turfs/baseturfs.dm index 0e1ca44e60f..7eaac2f9ef0 100644 --- a/code/game/turfs/baseturfs.dm +++ b/code/game/turfs/baseturfs.dm @@ -189,3 +189,11 @@ var/list/baseturfs_copy = baseturfs.Copy() baseturfs_copy.Insert(level, turf_type) baseturfs = baseturfs_string_list(baseturfs_copy, src) + +/// Places a baseturf ontop of a searched for baseturf. +/turf/proc/stack_ontop_of_baseturf(floor, roof) + if (!islist(baseturfs)) + baseturfs = list(baseturfs) + var/floor_position = baseturfs.Find(floor) + if(floor_position != 0) + insert_baseturf(floor_position + 1, roof) diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index fddbf014e22..eaeee5d3f53 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -76,7 +76,12 @@ /obj/effect/baseturf_helper/reinforced_plating name = "reinforced plating baseturf editor" baseturf = /turf/open/floor/plating/reinforced - baseturf_to_replace = list(/turf/open/floor/plating,/turf/open/space,/turf/baseturf_bottom) + baseturf_to_replace = list(/turf/open/floor/plating) + +/obj/effect/baseturf_helper/reinforced_plating/replace_baseturf(turf/thing) + if(istype(thing, /turf/open/floor/plating)) + return //Plates should not be placed under other plates + thing.stack_ontop_of_baseturf(/turf/open/floor/plating, baseturf) //This applies the reinforced plating to the above Z level for every tile in the area where this is placed /obj/effect/baseturf_helper/reinforced_plating/ceiling