/obj/effect/baseturf_helper //Set the baseturfs of every turf in the /area/ it is placed. name = "baseturf editor" icon = 'icons/mapping/helpers/mapping_helpers.dmi' icon_state = "" var/list/baseturf_to_replace var/baseturf layer = ABOVE_WINDOW_LAYER /obj/effect/baseturf_helper/Initialize(mapload) . = ..() return INITIALIZE_HINT_LATELOAD /obj/effect/baseturf_helper/LateInitialize() if(!baseturf_to_replace) baseturf_to_replace = typecacheof(list(/turf/space, /turf/baseturf_bottom)) else if(!length(baseturf_to_replace)) baseturf_to_replace = list(baseturf_to_replace = TRUE) else if(baseturf_to_replace[baseturf_to_replace[1]] != TRUE) // It's not associative var/list/formatted = list() for(var/i in baseturf_to_replace) formatted[i] = TRUE baseturf_to_replace = formatted var/area/our_area = get_area(src) for(var/i in get_area_turfs(our_area, z)) replace_baseturf(i) qdel(src) /obj/effect/baseturf_helper/proc/replace_baseturf(turf/thing) var/list/baseturf_cache = thing.baseturfs // todo: this is janky as fuck and at the very least need comments if(length(baseturf_cache)) for(var/i in baseturf_cache) if(baseturf_to_replace[i]) baseturf_cache -= i if(!baseturf_cache.len) thing.assemble_baseturfs(baseturf) else thing.PlaceOnBottom(null, baseturf) else if(baseturf_to_replace[thing.baseturfs]) thing.assemble_baseturfs(baseturf) else thing.PlaceOnBottom(null, baseturf) /obj/effect/baseturf_helper/space name = "space baseturf editor" baseturf = /turf/space // /obj/effect/baseturf_helper/asteroid // name = "asteroid baseturf editor" // baseturf = /turf/open/floor/plating/asteroid // /obj/effect/baseturf_helper/asteroid/airless // name = "asteroid airless baseturf editor" // baseturf = /turf/open/floor/plating/asteroid/airless // /obj/effect/baseturf_helper/asteroid/basalt // name = "asteroid basalt baseturf editor" // baseturf = /turf/open/floor/plating/asteroid/basalt // /obj/effect/baseturf_helper/asteroid/snow // name = "asteroid snow baseturf editor" // baseturf = /turf/open/floor/plating/asteroid/snow // /obj/effect/baseturf_helper/beach/sand // name = "beach sand baseturf editor" // baseturf = /turf/open/floor/plating/beach/sand // /obj/effect/baseturf_helper/beach/water // name = "water baseturf editor" // baseturf = /turf/open/floor/plating/beach/water // /obj/effect/baseturf_helper/lava // name = "lava baseturf editor" // baseturf = /turf/open/lava/smooth // /obj/effect/baseturf_helper/lava_land/surface // name = "lavaland baseturf editor" // baseturf = /turf/open/lava/smooth/lava_land_surface