diff --git a/_maps/map_files/YogStation/YogStation.dmm b/_maps/map_files/YogStation/YogStation.dmm index adb32de8cbbe..23fd3150b6ea 100644 --- a/_maps/map_files/YogStation/YogStation.dmm +++ b/_maps/map_files/YogStation/YogStation.dmm @@ -2706,8 +2706,16 @@ /turf/open/floor/wood, /area/crew_quarters/dorms) "atS" = ( -/turf/closed/wall, -/area/space/nearstation) +/obj/structure/rack, +/obj/item/clothing/mask/gas, +/obj/item/tank/internals/oxygen, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/bag/sheetsnatcher, +/obj/item/melee/sledgehammer, +/obj/item/storage/bag/trash, +/obj/item/broom, +/turf/open/floor/engine, +/area/escapepodbay) "atU" = ( /obj/machinery/computer/cargo{ dir = 1 @@ -4384,12 +4392,12 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/closet/emcloset, /obj/effect/turf_decal/bot, /obj/machinery/firealarm{ dir = 1; pixel_y = -26 }, +/obj/machinery/suit_storage_unit/standard_unit, /turf/open/floor/plasteel, /area/escapepodbay) "aGc" = ( @@ -16747,8 +16755,7 @@ /turf/open/floor/plating, /area/security/prison) "dgz" = ( -/obj/structure/sign/warning/docking, -/obj/structure/grille, +/obj/effect/spawner/structure/window/reinforced/shutter, /turf/open/floor/plating/airless, /area/escapepodbay) "dgH" = ( @@ -22422,6 +22429,10 @@ "fgc" = ( /turf/closed/wall, /area/crew_quarters/kitchen) +"fgf" = ( +/obj/effect/spawner/structure/window/reinforced/shutter, +/turf/open/floor/engine/airless, +/area/escapepodbay) "fgq" = ( /obj/machinery/hydroponics/soil, /obj/item/shovel/spade, @@ -23470,9 +23481,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/rack, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/rods/twentyfive, /turf/open/floor/plasteel, /area/escapepodbay) "fxX" = ( @@ -28991,6 +28999,10 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/plasteel/dark, /area/ai_monitored/security/armory) +"hwn" = ( +/obj/machinery/computer/shipbreaker, +/turf/open/floor/plasteel, +/area/escapepodbay) "hwq" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Plasma Tank Pump" @@ -33099,7 +33111,6 @@ /turf/open/floor/plasteel/stairs/goon/wood_stairs_middle, /area/library) "iOa" = ( -/obj/structure/spacepoddoor, /turf/open/floor/engine/airless, /area/escapepodbay) "iOb" = ( @@ -33113,6 +33124,10 @@ }, /turf/open/floor/plasteel/white, /area/science/research) +"iOc" = ( +/obj/machinery/recycler, +/turf/open/floor/catwalk_floor, +/area/escapepodbay) "iOB" = ( /obj/machinery/power/apc{ areastring = "/area/medical/chemistry"; @@ -36888,6 +36903,10 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) +"kkr" = ( +/obj/structure/marker_beacon, +/turf/open/floor/catwalk_floor, +/area/space/nearstation) "kkv" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/portable_atmospherics/canister/oxygen, @@ -39850,6 +39869,7 @@ /area/medical/virology) "lsn" = ( /obj/machinery/light, +/obj/machinery/suit_storage_unit/standard_unit, /turf/open/floor/engine, /area/escapepodbay) "lsK" = ( @@ -46845,6 +46865,10 @@ }, /turf/open/floor/plasteel, /area/security/brig) +"nXe" = ( +/obj/structure/lattice, +/turf/open/floor/catwalk_floor, +/area/space/nearstation) "nXj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -46932,13 +46956,8 @@ /turf/open/floor/plasteel, /area/security/checkpoint/service) "nYC" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 30 - }, -/obj/structure/table, -/obj/item/stock_parts/cell/high/plus, -/obj/machinery/cell_charger, -/turf/open/floor/plasteel, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/engine, /area/escapepodbay) "nZd" = ( /obj/structure/table/wood/fancy, @@ -47883,12 +47902,6 @@ }, /turf/open/floor/carpet, /area/library) -"osI" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/crowbar/red, -/turf/open/floor/plasteel, -/area/escapepodbay) "osP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -51790,13 +51803,9 @@ /turf/open/floor/plasteel/white, /area/science/xenobiology) "pMy" = ( -/obj/machinery/button/door{ - id = "escapepodbay"; - name = "Pod Door Control"; - pixel_x = 6; - pixel_y = 24 - }, -/turf/open/floor/engine, +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/external/glass, +/turf/open/floor/plating/airless, /area/escapepodbay) "pNc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -52691,6 +52700,9 @@ }, /turf/open/floor/plasteel, /area/security/processing) +"qcN" = ( +/turf/open/space/basic, +/area/shipbreak) "qdd" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line/lower, /turf/open/floor/plasteel, @@ -55904,6 +55916,9 @@ }, /turf/open/floor/plating, /area/storage/tech) +"rkA" = ( +/turf/open/floor/catwalk_floor, +/area/space/nearstation) "rkM" = ( /obj/structure/closet, /turf/open/floor/plating, @@ -56401,6 +56416,11 @@ }, /turf/open/floor/plasteel/dark, /area/science/robotics/lab) +"ruv" = ( +/obj/structure/lattice, +/obj/structure/lattice, +/turf/open/floor/catwalk_floor, +/area/space/nearstation) "rvc" = ( /obj/machinery/light, /obj/item/radio/intercom{ @@ -57102,10 +57122,14 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "rIf" = ( -/obj/structure/spacepoddoor, -/obj/machinery/door/poddoor/multi_tile/four_tile_ver{ - id = "escapepodbay" - }, +/obj/structure/rack, +/obj/item/clothing/mask/gas, +/obj/item/tank/internals/oxygen, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/bag/sheetsnatcher, +/obj/item/melee/sledgehammer, +/obj/item/storage/bag/trash, +/obj/item/broom, /turf/open/floor/engine/airless, /area/escapepodbay) "rIo" = ( @@ -64569,8 +64593,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/effect/spawner/structure/window/reinforced/shutter, /turf/open/floor/engine/airless, -/area/space) +/area/escapepodbay) "uxA" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating{ @@ -71931,6 +71956,9 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/bar) +"xiq" = ( +/turf/open/space, +/area/shipbreak) "xit" = ( /obj/machinery/power/apc{ areastring = "/area/security/warden"; @@ -72202,8 +72230,9 @@ /turf/open/floor/plasteel/dark, /area/tcommsat/storage) "xnF" = ( -/obj/structure/grille, -/turf/open/floor/plating/airless, +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/external/glass, +/turf/open/floor/plating, /area/escapepodbay) "xnM" = ( /obj/machinery/light, @@ -73374,8 +73403,8 @@ /turf/open/floor/wood, /area/bridge/meeting_room) "xJr" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel, +/obj/effect/spawner/structure/window/reinforced/shutter, +/turf/open/floor/plating, /area/escapepodbay) "xJx" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -74162,7 +74191,7 @@ /obj/structure/window{ dir = 8 }, -/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/plasteel, /area/escapepodbay) "yaO" = ( @@ -74590,6 +74619,12 @@ }, /turf/open/floor/plasteel, /area/storage/primary) +"yip" = ( +/obj/structure/lattice, +/obj/structure/lattice, +/obj/structure/marker_beacon, +/turf/open/floor/catwalk_floor, +/area/space/nearstation) "yiM" = ( /obj/machinery/door/airlock/research{ name = "Xenobiology Lab"; @@ -123711,7 +123746,7 @@ aaS aaa aaa aaa -aaa +aae aaa aaa aaa @@ -124748,14 +124783,14 @@ aaa aaf aaa aaa -atS -aaf +aaa aoV aoV -atS -aaf -aaf -aaf +aoV +aaa +aaa +aaa +aoV qQV qQV qQV @@ -125005,14 +125040,14 @@ aaa aaa aaa aaa -atS -aoV -aoV -aoV -atS +aaa +aaa +aaa +aaa +aaa +aaa aoV aoV -aaf qQV qQV qQV @@ -125255,26 +125290,26 @@ aaa aaa aaa aaa +yip +nXe +nXe +nXe +nXe +ruv +nXe +nXe +nXe +nXe +nXe +nXe +nXe +yip +rkA +rkA aaa aaa -aaa -aaa -aaa -aaa -aaa -atS -aoV -aoV -aoV -aaH -aoV -aoV -aaf -atS -aaf -aaa -ptH xJr +iEt hHb bQx tro @@ -125512,26 +125547,26 @@ aaa aaa aaa aaa +nXe +qcN +qcN +qcN +qcN +qcN +qcN +qcN +xiq +xiq +xiq +qcN +xiq +ruv aaa +rkA +rkA aaa -aaa -aaa -aaa -aaa -aaa -atS -aoV -aoV -aoV -aaH -aoV -aoV -aoV -atS -aaf -aaa -ptH -osI +xJr +hwn hld nDj yaD @@ -125769,26 +125804,26 @@ aaa aaa aaa aaa +nXe +qcN +qcN +qcN +qcN +qcN +qcN +qcN +xiq +xiq +xiq +qcN +xiq +nXe aaa +iOc +rkA aaa -aaa -aaa -aaa -aaa -aaa -aaH -aoV -aoV -aoV -atS -aoV -aoV -aoV -atS -aaf -aaa -ptH -nYC +xJr +iEt iEt udt mUs @@ -126026,23 +126061,23 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -atS -aoV -aoV -aoV -atS -aoV -aoV +nXe +qcN +qcN +qcN +qcN +qcN +qcN +qcN +xiq +xiq +xiq +qcN +xiq +nXe aoV -aaf -aaf +rkA +rkA aaa ptH fxr @@ -126283,23 +126318,23 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aae -aaa -atS -aoV -aoV -aoV -atS -aoV +nXe +qcN +qcN +qcN +qcN +qcN +qcN +qcN +xiq +xiq +xiq +qcN +xiq +nXe aoV -aoV -aoV -aaf +rkA +rkA aaa ptH xBH @@ -126540,29 +126575,29 @@ aaa aaa aaa aaa +nXe +qcN +qcN +qcN +qcN +qcN +qcN +qcN +xiq +xiq +xiq +qcN +qcN +nXe aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aoV -aoV -aoV -atS -aoV -aoV -aoV -aoV -aaf +rkA +rkA aaa ptH aNZ sHo sHo -sHo +nYC aMZ odE aPq @@ -126797,29 +126832,29 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aoV -aoV -aoV -aaf -aoV -aoV -aoV -aoV -aaf -aaa -ptH +nXe +qcN +qcN +qcN +qcN +qcN +qcN +qcN +xiq +xiq +xiq +xiq +xiq +nXe +kkr +rkA +rkA +kkr pMy sHo sHo sHo +atS aMZ odE thb @@ -127054,29 +127089,29 @@ aaa aaa aaa aaa +nXe +qcN +qcN +qcN +qcN +qcN +qcN +xiq +xiq +xiq +xiq +qcN +xiq +nXe aaa +rkA +rkA aaa -aaa -aaa -aaa -aaa -aaa -aoV -aoV -aoV -aoV -aaf -aoV -aoV -aoV -aoV -aaa -aaa -ptH -sHo +pMy sHo sHo sHo +atS ptH mrq xZK @@ -127311,30 +127346,30 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +nXe +qcN +qcN +qcN +qcN +qcN +qcN +qcN +qcN +qcN +qcN +qcN +qcN +nXe +kkr +rkA +rkA +kkr xnF -iOa +sHo iOa iOa rIf -xnF +dgz aRW aRW qOl @@ -127568,20 +127603,20 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +yip +nXe +nXe +nXe +nXe +nXe +nXe +nXe +nXe +ruv +nXe +nXe +nXe +yip aaa aaa aaa @@ -127591,7 +127626,7 @@ uxv uxv uxv uxv -dgz +fgf aaf aRW jOV diff --git a/_maps/templates/shipbreaker/old_nt.dmm b/_maps/templates/shipbreaker/old_nt.dmm new file mode 100644 index 000000000000..5f9e4317f903 --- /dev/null +++ b/_maps/templates/shipbreaker/old_nt.dmm @@ -0,0 +1,235 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/open/floor/mineral/titanium/blue/airless, +/area/template_noop) +"c" = ( +/obj/item/banner/medical, +/turf/open/floor/plating, +/area/template_noop) +"d" = ( +/turf/template_noop, +/area/template_noop) +"e" = ( +/obj/machinery/door/airlock/titanium, +/turf/open/floor/plating, +/area/template_noop) +"f" = ( +/obj/item/reagent_containers/pill/floorpill, +/obj/structure/statue/gold/cmo, +/turf/open/floor/mineral/titanium/airless, +/area/template_noop) +"h" = ( +/obj/item/stack/medical/suture/medicated, +/turf/open/floor/mineral/titanium/airless, +/area/template_noop) +"j" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/template_noop) +"k" = ( +/turf/closed/wall/mineral/titanium, +/area/template_noop) +"l" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/plating, +/area/template_noop) +"p" = ( +/turf/open/floor/mineral/titanium/white/airless, +/area/template_noop) +"u" = ( +/obj/machinery/sleeper{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue/airless, +/area/template_noop) +"z" = ( +/obj/item/stack/medical/ointment/antiseptic, +/turf/open/floor/mineral/titanium/white/airless, +/area/template_noop) +"A" = ( +/turf/open/floor/mineral/titanium/airless, +/area/template_noop) +"D" = ( +/obj/machinery/modular_computer, +/turf/open/floor/plating, +/area/template_noop) +"G" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/template_noop) +"I" = ( +/turf/closed/wall/mineral/titanium/interior, +/area/template_noop) +"J" = ( +/obj/item/clothing/accessory/armband/medblue, +/turf/open/floor/plating, +/area/template_noop) +"K" = ( +/obj/structure/shuttle/engine/heater, +/obj/structure/window/reinforced/spawner/north, +/turf/open/floor/plating, +/area/template_noop) +"L" = ( +/obj/item/clothing/accessory/armband/medblue, +/turf/open/floor/mineral/titanium/white/airless, +/area/template_noop) +"M" = ( +/obj/structure/table/reinforced, +/obj/item/pen/fountain/captain, +/obj/item/clothing/accessory/armband/medblue, +/obj/item/stack/medical/ointment, +/turf/open/floor/plating, +/area/template_noop) +"N" = ( +/obj/structure/sign/departments/minsky/medical/medical2, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/template_noop) +"O" = ( +/obj/item/stack/medical/gauze, +/turf/open/floor/mineral/titanium/white/airless, +/area/template_noop) +"P" = ( +/obj/machinery/suit_storage_unit/cmo, +/turf/open/floor/mineral/titanium/blue/airless, +/area/template_noop) +"Q" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/open/floor/plating, +/area/template_noop) +"S" = ( +/turf/open/floor/plating, +/area/template_noop) +"T" = ( +/obj/item/stack/medical/gauze, +/turf/open/floor/plating, +/area/template_noop) +"U" = ( +/obj/item/stack/medical/suture/medicated, +/turf/open/floor/mineral/titanium/blue/airless, +/area/template_noop) +"V" = ( +/obj/item/reagent_containers/pill/floorpill, +/turf/open/floor/mineral/titanium/blue/airless, +/area/template_noop) +"W" = ( +/obj/structure/statue/gold/cmo, +/turf/open/floor/mineral/titanium/blue/airless, +/area/template_noop) +"Y" = ( +/mob/living/simple_animal/bot/medbot, +/turf/open/floor/mineral/titanium/blue/airless, +/area/template_noop) + +(1,1,1) = {" +d +k +j +e +j +j +j +e +j +j +j +d +"} +(2,1,1) = {" +k +j +h +S +J +T +p +z +L +O +K +Q +"} +(3,1,1) = {" +j +f +A +S +S +p +S +O +S +S +K +Q +"} +(4,1,1) = {" +G +D +l +A +S +S +c +p +S +c +K +Q +"} +(5,1,1) = {" +G +M +l +S +S +a +I +N +e +j +K +Q +"} +(6,1,1) = {" +j +W +a +a +a +a +j +a +Y +V +K +Q +"} +(7,1,1) = {" +k +j +a +a +a +U +j +P +u +u +K +Q +"} +(8,1,1) = {" +d +k +j +j +j +j +j +j +j +j +k +d +"} diff --git a/_maps/templates/shipbreaker/old_robotics.dmm b/_maps/templates/shipbreaker/old_robotics.dmm new file mode 100644 index 000000000000..a405899b73e8 --- /dev/null +++ b/_maps/templates/shipbreaker/old_robotics.dmm @@ -0,0 +1,243 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"c" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/template_noop) +"i" = ( +/obj/effect/decal/cleanable/robot_debris, +/turf/open/floor/engine/airless, +/area/template_noop) +"m" = ( +/obj/machinery/door/poddoor/shutters/window, +/turf/open/floor/plating, +/area/template_noop) +"n" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/open/floor/plating, +/area/template_noop) +"o" = ( +/turf/open/floor/engine/airless, +/area/template_noop) +"r" = ( +/obj/effect/decal/cleanable/oil, +/obj/item/organ/cyberimp/chest/spinalspeed/toy, +/turf/open/floor/engine/airless, +/area/template_noop) +"s" = ( +/obj/structure/shuttle/engine/propulsion/left, +/turf/open/floor/plating, +/area/template_noop) +"t" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/template_noop) +"v" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/engine/airless, +/area/template_noop) +"w" = ( +/obj/structure/chair, +/turf/open/floor/engine/airless, +/area/template_noop) +"x" = ( +/turf/closed/wall/mineral/titanium, +/area/template_noop) +"A" = ( +/obj/structure/shuttle/engine/propulsion/right, +/turf/open/floor/plating, +/area/template_noop) +"D" = ( +/obj/machinery/mecha_part_fabricator, +/turf/open/floor/engine/airless, +/area/template_noop) +"E" = ( +/obj/machinery/modular_computer, +/turf/open/floor/engine/airless, +/area/template_noop) +"F" = ( +/obj/structure/mecha_wreckage/durand, +/turf/open/floor/engine/airless, +/area/template_noop) +"G" = ( +/obj/structure/bed/surgical_mat, +/turf/open/floor/engine/airless, +/area/template_noop) +"H" = ( +/obj/item/circular_saw, +/turf/open/floor/engine/airless, +/area/template_noop) +"I" = ( +/obj/structure/table/reinforced, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/bodypart/r_leg/ipc/sgmipc, +/turf/open/floor/engine/airless, +/area/template_noop) +"K" = ( +/obj/structure/table/reinforced, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/bodypart/head/ipc/zhpipc, +/turf/open/floor/engine/airless, +/area/template_noop) +"L" = ( +/obj/structure/shuttle/engine/heater, +/obj/structure/window/reinforced/spawner/north, +/turf/open/floor/plating, +/area/template_noop) +"N" = ( +/obj/machinery/door/airlock/external/glass, +/turf/open/floor/engine/airless, +/area/template_noop) +"X" = ( +/obj/item/storage/fancy/cigarettes/cigpack_robustgold, +/turf/open/floor/engine/airless, +/area/template_noop) +"Y" = ( +/obj/structure/chair/comfy/shuttle, +/turf/open/floor/engine/airless, +/area/template_noop) +"Z" = ( +/mob/living/simple_animal/hostile/hivebot, +/turf/open/floor/engine/airless, +/area/template_noop) + +(1,1,1) = {" +a +a +a +a +a +a +a +a +a +a +a +a +"} +(2,1,1) = {" +a +a +a +x +t +m +m +m +t +t +x +a +"} +(3,1,1) = {" +x +t +t +t +Z +o +r +o +K +I +L +s +"} +(4,1,1) = {" +c +E +Y +i +o +o +v +o +i +o +L +n +"} +(5,1,1) = {" +c +E +Y +v +H +o +o +v +D +F +L +n +"} +(6,1,1) = {" +x +t +t +t +G +t +N +t +w +X +L +A +"} +(7,1,1) = {" +a +a +a +x +t +t +o +t +t +t +x +a +"} +(8,1,1) = {" +a +a +a +a +a +x +N +x +a +a +a +a +"} diff --git a/_maps/templates/shipbreaker/old_syndicate.dmm b/_maps/templates/shipbreaker/old_syndicate.dmm new file mode 100644 index 000000000000..67fc5acf7041 --- /dev/null +++ b/_maps/templates/shipbreaker/old_syndicate.dmm @@ -0,0 +1,298 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/open/floor/mineral/plastitanium/red/airless, +/area/template_noop) +"b" = ( +/obj/structure/shuttle/engine/heater, +/obj/structure/window/reinforced/spawner/north, +/turf/open/floor/plating, +/area/template_noop) +"c" = ( +/obj/structure/window/reinforced/spawner/west, +/turf/open/floor/mineral/plastitanium/red/airless, +/area/template_noop) +"e" = ( +/obj/machinery/door/airlock/highsecurity{ + name = "Storage and Crew Quarters"; + req_access_txt = "150" + }, +/turf/open/floor/mineral/plastitanium/airless/broken, +/area/template_noop) +"f" = ( +/obj/structure/showcase/machinery/oldpod/used{ + icon_state = "sleeper_s-open"; + dir = 8; + name = "old prisoner pod"; + desc = "A cryogenic pod used to hold prisoners for long-term transport." + }, +/obj/structure/window/reinforced/spawner, +/turf/open/floor/mineral/plastitanium/airless/broken, +/area/template_noop) +"g" = ( +/obj/machinery/door/airlock/highsecurity{ + name = "Bridge"; + req_access_txt = "150" + }, +/turf/open/floor/mineral/plastitanium/airless/broken, +/area/template_noop) +"h" = ( +/obj/effect/spawner/structure/window/plastitanium, +/turf/open/floor/plating, +/area/template_noop) +"i" = ( +/obj/structure/shuttle/engine/propulsion/right, +/turf/open/floor/plating, +/area/template_noop) +"l" = ( +/obj/structure/shuttle/engine/propulsion/left, +/turf/open/floor/plating, +/area/template_noop) +"m" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/template_noop) +"n" = ( +/obj/item/restraints/handcuffs/cable/zipties/used, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/airless/broken, +/area/template_noop) +"o" = ( +/obj/machinery/modular_computer, +/turf/open/floor/mineral/plastitanium, +/area/template_noop) +"p" = ( +/obj/structure/window/reinforced/spawner/west, +/turf/open/floor/mineral/plastitanium/airless/broken, +/area/template_noop) +"t" = ( +/obj/structure/shuttle/engine/propulsion, +/turf/open/floor/plating, +/area/template_noop) +"u" = ( +/turf/template_noop, +/area/template_noop) +"v" = ( +/obj/structure/window/reinforced/spawner/west, +/obj/structure/closet/syndicate, +/obj/item/clothing/under/syndicate/tacticool, +/turf/open/floor/mineral/plastitanium/red/airless, +/area/template_noop) +"w" = ( +/obj/item/restraints/handcuffs/cable/zipties/used, +/turf/open/floor/mineral/plastitanium/red/airless, +/area/template_noop) +"x" = ( +/obj/machinery/modular_computer, +/turf/open/floor/mineral/plastitanium/airless/broken, +/area/template_noop) +"B" = ( +/obj/effect/decal/cleanable/blood/gibs/core, +/turf/open/floor/mineral/plastitanium/airless/broken, +/area/template_noop) +"C" = ( +/obj/machinery/door/window{ + dir = 8 + }, +/obj/structure/bed, +/obj/item/bedsheet/syndie, +/turf/open/floor/mineral/plastitanium/red/airless, +/area/template_noop) +"D" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red/airless, +/area/template_noop) +"E" = ( +/turf/closed/wall/mineral/plastitanium, +/area/template_noop) +"F" = ( +/obj/machinery/door/window{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/north, +/turf/open/floor/mineral/plastitanium/airless/broken, +/area/template_noop) +"H" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/template_noop) +"J" = ( +/obj/item/storage/box/zipties, +/turf/open/floor/mineral/plastitanium/red/airless, +/area/template_noop) +"L" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/template_noop) +"M" = ( +/obj/machinery/door/airlock/external/glass{ + req_access_txt = "150" + }, +/turf/open/floor/mineral/plastitanium/red/airless, +/area/template_noop) +"O" = ( +/obj/structure/showcase/machinery/oldpod/used{ + icon_state = "sleeper_s-open"; + dir = 8; + name = "old prisoner pod"; + desc = "A cryogenic pod used to hold prisoners for long-term transport." + }, +/turf/open/floor/mineral/plastitanium/red/airless, +/area/template_noop) +"P" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/north, +/turf/open/floor/mineral/plastitanium/airless/broken, +/area/template_noop) +"Q" = ( +/turf/open/floor/mineral/plastitanium/airless/broken, +/area/template_noop) +"R" = ( +/obj/structure/closet/syndicate, +/obj/item/bodybag/environmental/prisoner/syndicate, +/obj/item/bodybag/environmental/prisoner/syndicate, +/obj/item/bodybag/environmental/prisoner/syndicate, +/obj/structure/window/reinforced/spawner, +/turf/open/floor/mineral/plastitanium/red/airless, +/area/template_noop) +"U" = ( +/obj/structure/window/reinforced/spawner, +/obj/machinery/door/window{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/airless/broken, +/area/template_noop) +"V" = ( +/obj/item/bodybag/environmental/prisoner/syndicate, +/turf/open/floor/mineral/plastitanium/red/airless, +/area/template_noop) +"Y" = ( +/obj/machinery/door/window, +/obj/structure/bed, +/obj/item/bedsheet/syndie, +/turf/open/floor/mineral/plastitanium/red/airless, +/area/template_noop) +"Z" = ( +/obj/machinery/sleeper/syndie{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/airless/broken, +/area/template_noop) + +(1,1,1) = {" +h +h +h +H +H +M +H +H +H +H +E +u +"} +(2,1,1) = {" +h +x +Q +Z +H +a +H +a +a +J +b +l +"} +(3,1,1) = {" +h +o +D +Q +H +M +E +V +w +a +b +t +"} +(4,1,1) = {" +H +H +H +g +H +a +m +a +a +a +b +t +"} +(5,1,1) = {" +H +Y +a +a +e +a +L +B +Q +a +b +t +"} +(6,1,1) = {" +H +R +a +a +H +c +U +Q +F +p +b +t +"} +(7,1,1) = {" +E +H +v +C +H +O +f +Q +P +n +b +i +"} +(8,1,1) = {" +u +E +H +H +H +H +H +H +H +H +E +u +"} diff --git a/code/modules/shipbreaker/shipbreak_console.dm b/code/modules/shipbreaker/shipbreak_console.dm new file mode 100644 index 000000000000..a166f2dbf120 --- /dev/null +++ b/code/modules/shipbreaker/shipbreak_console.dm @@ -0,0 +1,83 @@ +/obj/machinery/computer/shipbreaker + name = "Shipbreaking Shuttle Console" + desc = "A computer console used to call a ship for breaking, how original!" + icon_screen = "holocontrol" + + + var/turf/bottom_left + +///what area type this holodeck loads into. linked turns into the nearest instance of this area + var/area/mapped_start_area = /area/shipbreak + +///the currently used map template + var/datum/map_template/shipbreaker/template + +///List of ships to spawn. + var/list/possible_ships = list() + +///subtypes of this (but not this itself) are loadable programs + var/ship_type = /datum/map_template/shipbreaker + +///links the shipbreaker zone to the computer + var/area/shipbreak/linked +///cool variablw + var/spawn_area_clear = TRUE + +/obj/machinery/computer/shipbreaker/Initialize(mapload) + ..() + return INITIALIZE_HINT_LATELOAD + +/obj/machinery/computer/shipbreaker/LateInitialize() + linked = GLOB.areas_by_type[mapped_start_area] + bottom_left = locate(linked.x, linked.y, src.z) + for(var/ship in subtypesof(ship_type)) + var/datum/map_template/shipbreaker/s = new ship + possible_ships+= s + +/obj/machinery/computer/shipbreaker/proc/spawn_ship() + area_clear_check() + if(!spawn_area_clear) + say("ERROR: SHIPBREAKING ZONE NOT CLEAR, PLEASE REMOVE ALL REMAINING SHIP PARTS") + return + var/datum/map_template/shipbreaker/ship_to_spawn = pick(possible_ships) + + ship_to_spawn.load(bottom_left) + +/obj/machinery/computer/shipbreaker/proc/area_clear_check() + for(var/turf/t in linked) + if(!isspaceturf(t)) + spawn_area_clear = FALSE + return + for(var/obj/s in linked) + if(isstructure(s) || ismachinery(s)) + spawn_area_clear = FALSE + return + + spawn_area_clear = TRUE + +/obj/machinery/computer/shipbreaker/proc/clear_floor_plating() + for(var/turf/t in linked) + if(isfloorturf(t)) + t.ScrapeAway() + + +/obj/machinery/computer/shipbreaker/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "ShipbreakerConsole", name) + ui.open() + + +/obj/machinery/computer/shipbreaker/ui_act(action, params) + . = ..() + if(.) + return + . = TRUE + + switch(action) + if("spawn_ship") + spawn_ship() + return + if("clear_floor_plating") + clear_floor_plating() + return diff --git a/tgui/packages/tgui/interfaces/ShipbreakerConsole.tsx b/tgui/packages/tgui/interfaces/ShipbreakerConsole.tsx new file mode 100644 index 000000000000..26366b5fa62d --- /dev/null +++ b/tgui/packages/tgui/interfaces/ShipbreakerConsole.tsx @@ -0,0 +1,28 @@ +import { useBackend } from '../backend'; +import { Button, LabeledList, Section } from '../components'; +import { Window } from '../layouts'; + +export const ShipbreakerConsole = (props, context) => { + const { act, data } = useBackend(context); + // Extract `health` and `color` variables from the `data` object. + // const { + // health, + // color, + // } = data; + return ( + + +
+
+
+
+
+
+ ); +}; diff --git a/yogstation.dme b/yogstation.dme index 89702ec3a4ad..d0d06bf2388e 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -3697,6 +3697,7 @@ #include "code\modules\security_levels\keycard_authentication.dm" #include "code\modules\security_levels\level_interface.dm" #include "code\modules\security_levels\security_level_datums.dm" +#include "code\modules\shipbreaker\shipbreak_console.dm" #include "code\modules\shuttle\ai_ship.dm" #include "code\modules\shuttle\arrivals.dm" #include "code\modules\shuttle\assault_pod.dm" @@ -4504,6 +4505,7 @@ #include "yogstation\code\modules\scripting\Parser\Parser.dm" #include "yogstation\code\modules\scripting\Scanner\Scanner.dm" #include "yogstation\code\modules\scripting\Scanner\token.dm" +#include "yogstation\code\modules\shipbreaker\shipbreaker.dm" #include "yogstation\code\modules\shuttle\emergency.dm" #include "yogstation\code\modules\shuttle\syndicate.dm" #include "yogstation\code\modules\spacepods\construction.dm" diff --git a/yogstation/code/game/area/Space_Station_13_areas.dm b/yogstation/code/game/area/Space_Station_13_areas.dm index 824f11bb9e49..3afc5c14a02b 100644 --- a/yogstation/code/game/area/Space_Station_13_areas.dm +++ b/yogstation/code/game/area/Space_Station_13_areas.dm @@ -73,3 +73,8 @@ /area/security/podbay name = "Security Podbay" icon_state = "security" + + +/area/shipbreak + name = "Shipbreak Zone" + icon_state = "escape" diff --git a/yogstation/code/modules/shipbreaker/shipbreaker.dm b/yogstation/code/modules/shipbreaker/shipbreaker.dm new file mode 100644 index 000000000000..71bbf64400e1 --- /dev/null +++ b/yogstation/code/modules/shipbreaker/shipbreaker.dm @@ -0,0 +1,28 @@ +/datum/map_template/shipbreaker + should_place_on_top = TRUE + returns_created_atoms = TRUE + keep_cached_map = TRUE + + var/template_id + var/description + var/datum/parsed_map/lastparsed + + +/datum/map_template/shipbreaker/syndicate_old + name = "Old Syndicate Ship" + template_id = "old_syndicate" + description = "mapshaker_syndicate" + mappath = "_maps/templates/shipbreaker/old_syndicate.dmm" + + +/datum/map_template/shipbreaker/nt_old + name = "Old NT Medical Ship" + template_id = "old_NT_Med" + description = "mapshaker_NT_Med" + mappath = "_maps/templates/shipbreaker/old_nt.dmm" + +/datum/map_template/shipbreaker/robotics_old + name = "Old Robotics Ship" + template_id = "old_Robo" + description = "mapshaker_old_robo" + mappath = "_maps/templates/shipbreaker/old_robotics.dmm"