diff --git a/code/game/objects/effects/spawners/structure.dm b/code/game/objects/effects/spawners/structure.dm new file mode 100644 index 00000000000..774b9ca799d --- /dev/null +++ b/code/game/objects/effects/spawners/structure.dm @@ -0,0 +1,33 @@ +/* +Because mapping is already tedious enough this spawner let you spawn generic +"sets" of objects rather than having to make the same object stack again and +again. +*/ + +/obj/effect/spawner/structure + name = "map structure spawner" + var/list/spawn_list + +/obj/effect/spawner/structure/New() + if(spawn_list && spawn_list.len) + for(var/i = 1, i <= spawn_list.len, i++) + var/to_spawn = spawn_list[i] + new to_spawn(get_turf(src)) + qdel(src) + +/obj/effect/spawner/structure/window + icon = 'icons/obj/structures.dmi' + icon_state = "window_spawner" + name = "window spawner" + spawn_list = list( + /obj/structure/grille, + /obj/structure/window/fulltile + ) + +/obj/effect/spawner/structure/window/reinforced + name = "reenforced window spawner" + icon_state = "rwindow_spawner" + spawn_list = list( + /obj/structure/grille, + /obj/structure/window/reinforced/fulltile + ) diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index 682103c7dcb..f7d418e6fcb 100644 Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 55616d11204..75c381d3f9e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -551,6 +551,7 @@ #include "code\game\objects\effects\spawners\bombspawner.dm" #include "code\game\objects\effects\spawners\gibspawner.dm" #include "code\game\objects\effects\spawners\lootdrop.dm" +#include "code\game\objects\effects\spawners\structure.dm" #include "code\game\objects\effects\spawners\vaultspawner.dm" #include "code\game\objects\items\apc_frame.dm" #include "code\game\objects\items\blueprints.dm"