diff --git a/code/game/objects/effects/spawners/structure.dm b/code/game/objects/effects/spawners/structure.dm index 2e7497d55a..a5a4dfb44b 100644 --- a/code/game/objects/effects/spawners/structure.dm +++ b/code/game/objects/effects/spawners/structure.dm @@ -156,6 +156,84 @@ again. spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle) +//plastitanium window + +/obj/effect/spawner/structure/window/plastitanium + name = "plastitanium window spawner" + icon_state = "plastitaniumwindow_spawner" + spawn_list = list(/obj/structure/grille, /obj/structure/window/plastitanium) + + +//ice window + +/obj/effect/spawner/structure/window/ice + name = "ice window spawner" + icon_state = "icewindow_spawner" + spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/fulltile/ice) + + +//survival pod window + +/obj/effect/spawner/structure/window/survival_pod + name = "pod window spawner" + icon_state = "podwindow_spawner" + spawn_list = list(/obj/structure/grille, /obj/structure/window/reinforced/survival_pod) + +/obj/effect/spawner/structure/window/hollow/survival_pod + name = "hollow pod window spawner" + icon_state = "podwindow_spawner_full" + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod, /obj/structure/window/shuttle/survival_pod/spawner/north, /obj/structure/window/shuttle/survival_pod/spawner/east, /obj/structure/window/shuttle/survival_pod/spawner/west) + +/obj/effect/spawner/structure/window/hollow/survival_pod/end + icon_state = "podwindow_spawner_end" + +/obj/effect/spawner/structure/window/hollow/survival_pod/end/Initialize() + switch(dir) + if(NORTH) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod/spawner/north, /obj/structure/window/shuttle/survival_pod/spawner/east, /obj/structure/window/shuttle/survival_pod/spawner/west) + if(EAST) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod, /obj/structure/window/shuttle/survival_pod/spawner/north, /obj/structure/window/shuttle/survival_pod/spawner/east) + if(SOUTH) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod, /obj/structure/window/shuttle/survival_pod/spawner/east, /obj/structure/window/shuttle/survival_pod/spawner/west) + if(WEST) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod, /obj/structure/window/shuttle/survival_pod/spawner/north, /obj/structure/window/shuttle/survival_pod/spawner/west) + . = ..() + +/obj/effect/spawner/structure/window/hollow/survival_pod/middle + icon_state = "podwindow_spawner_middle" + +/obj/effect/spawner/structure/window/hollow/survival_pod/middle/Initialize() + switch(dir) + if(NORTH,SOUTH) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod, /obj/structure/window/shuttle/survival_pod/spawner/north) + if(EAST,WEST) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod/spawner/east, /obj/structure/window/shuttle/survival_pod/spawner/west) + . = ..() + +/obj/effect/spawner/structure/window/hollow/survival_pod/directional + icon_state = "podwindow_spawner_directional" + +/obj/effect/spawner/structure/window/hollow/survival_pod/directional/Initialize() + switch(dir) + if(NORTH) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod/spawner/north) + if(NORTHEAST) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod/spawner/north, /obj/structure/window/shuttle/survival_pod/spawner/east) + if(EAST) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod/spawner/east) + if(SOUTHEAST) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod, /obj/structure/window/shuttle/survival_pod/spawner/east) + if(SOUTH) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod) + if(SOUTHWEST) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod, /obj/structure/window/shuttle/survival_pod/spawner/west) + if(WEST) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod/spawner/west) + if(NORTHWEST) + spawn_list = list(/obj/structure/grille, /obj/structure/window/shuttle/survival_pod/spawner/north, /obj/structure/window/shuttle/survival_pod/spawner/west) + . = ..() + + //plasma windows /obj/effect/spawner/structure/window/plasma diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index e828d74a11..1c3655507e 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -82,6 +82,15 @@ smooth = SMOOTH_MORE canSmoothWith = list(/turf/closed/wall/mineral/titanium/survival, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/shuttle/survival_pod) +/obj/structure/window/shuttle/survival_pod/spawner/north + dir = NORTH + +/obj/structure/window/shuttle/survival_pod/spawner/east + dir = EAST + +/obj/structure/window/shuttle/survival_pod/spawner/west + dir = WEST + /obj/structure/window/reinforced/survival_pod name = "pod window" icon = 'icons/obj/lavaland/survival_pod.dmi' diff --git a/icons/PSD files/window_spawners.psd b/icons/PSD files/window_spawners.psd new file mode 100644 index 0000000000..584dd664a4 Binary files /dev/null and b/icons/PSD files/window_spawners.psd differ diff --git a/icons/obj/structures_spawners.dmi b/icons/obj/structures_spawners.dmi index cdf2191191..16ba123afa 100644 Binary files a/icons/obj/structures_spawners.dmi and b/icons/obj/structures_spawners.dmi differ