/obj/effect/spawner/random_barrier name = "random tile" var/list/result = list( /turf/simulated/floor/plasteel = 1, /turf/simulated/wall = 1, /obj/structure/falsewall = 1, /obj/effect/spawner/window/reinforced = 1, /obj/machinery/door/airlock = 1, /obj/machinery/door/airlock/welded = 1, /obj/structure/barricade/wooden = 1) // This needs to come before the initialization wave because // the thing it creates might need to be initialized too /obj/effect/spawner/random_barrier/New() . = ..() var/turf/T = get_turf(src) if(!T) log_runtime(EXCEPTION("Barrier spawner placed in nullspace!"), src) return var/thing_to_place = pickweight(result) if(ispath(thing_to_place, /turf)) T.ChangeTurf(thing_to_place) else new thing_to_place(T) qdel(src) /obj/effect/spawner/random_barrier/wall_probably name = "probably a wall" result = list( /turf/simulated/wall = 9, /obj/structure/falsewall = 1 ) /obj/effect/spawner/random_barrier/floor_probably name = "probably a floor" result = list( /turf/simulated/floor/plasteel = 3, /turf/simulated/wall = 1 ) /obj/effect/spawner/random_barrier/obstruction name = "obstruction" result = list( /turf/simulated/wall = 1, /obj/structure/falsewall = 1, /obj/structure/barricade/wooden = 1, /obj/machinery/door/airlock/welded = 1 ) /obj/effect/spawner/random_barrier/possibly_welded_airlock name = "possibly welded airlock" result = list( /obj/machinery/door/airlock = 3, /obj/machinery/door/airlock/welded = 1 )