diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 8fa08b9f015c..ec5549c4b03b 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -14,6 +14,7 @@ - [Разработка безопасного кода](#разработка-безопасного-кода) - [Файлы](#файлы) - [Фишки и лайфхаки Dream Maker](#фишки-и-лайфхаки-dream-maker) +- [Инструменты перевода](#инструменты-перевода) @@ -568,3 +569,6 @@ for(var/obj/item/projectile/O as anything() in weapon.content) ``` Также вместо **as anything()** можно писать просто **as()**. +## Инструменты перевода + +Если у вас возникло желание или необходимость в переводе определенного текста/вещей, рекомендуется ознакомиться с отдельной статьёй связанной с инструментарием для перевода. Ознакомиться вы можете [здесь.](.github/TRANSLATION.md) diff --git a/.github/TRANSLATION.md b/.github/TRANSLATION.md new file mode 100644 index 000000000000..c90e6f046234 --- /dev/null +++ b/.github/TRANSLATION.md @@ -0,0 +1,56 @@ +# Перевод на русский язык + +* [Макросы для работы с переводами](code/__DEFINES/~mod_celadon/translation.dm) + +## Перевод названий объектов + +Мы не трогаем оригинальное ``name`` объекта, но заполняем отдельно ``case`` со склонением по падежам: + +```dm +/obj/something + name = "Atom" + cases = list("атом", "атома", "атому", "атом", "атомом", "атоме") +``` + +В массиве каждая позиция соответствует своему падежу, и имеет соответствующий DEFINE: + + +| Падеж | DEFINE в коде | Позиция в массиве ``cases`` | +| ------------- | ---------------------- | --------------------------- | +| Именительный | ``NOMINATIVE_CASE`` | 1 | +| Родительный | ``GENITIVE_CASE`` | 2 | +| Дательный | ``DATIVE_CASE`` | 3 | +| Винительный | ``ACCUSATIVE_CASE`` | 4 | +| Творительный | ``ABLATIVE_CASE`` | 5 | +| Предложный | ``PREPOSITIONAL_CASE`` | 6 | + +При необходимости вывести имя объекта в сообщении в чате, мы используем макрос ``CASE()``, который первым параметром принимает объект, имя которого надо вывести, а вторым - DEFINE соответствующего падежа, который нам нужен. Пример: + +```dm + to_chat(user, "Вы поджигаете [CASE(src, ACCUSATIVE_CASE)] при помощи [CASE(item, GENITIVE_CASE)]!") +``` + +Макрос безопасно использовать даже в том случае, если не известно, определены ли у объекта ``case`` - в случае их отсутствия он просто вернет оригинальный ``name``, так что вы сможете это заметить и поправить отдельно. + +## Местоимения + +Для правильной работы местоимений надо заполнить ``gender`` у объектов. Род может отличаться в английском и русском языке, мы переписываем их на русский манер. Возможные значения ``gender``: ``MALE``, ``FEMALE``, ``NEUTER``. + +После мы можем использовать специальные макросы для вывода местоимения объекта: + +```dm + // Для gender = MALE, выведет "Неудачно пошутив, он падает без признаков жизни" + to_chat(user, "Неудачно пошутив, [THEY_RU(src)] падает без признаков жизни") +``` + +Все макросы и примеры использования можно посмотреть [тут](code/__DEFINES/~mod_celadon/translation.dm), раздел "Местоимения(RU)" + +## Склонения числительных + +``pluralize_russian`` в качестве параметров принимает число (должно быть целое, по необходимости округлите) и склонения числительного для 1, 2, 5 значений: + +```dm + // корректно выведет "через 1 секунду", "через 3 секунды", "через 10 секунд" и так далее, в зависимости от seconds + to_chat(user, "Готовность к полёту через [pluralize_russian(seconds, "секунду", "секунды", "секунд")]!") +``` +Однако, перед тем как использовать ``pluralize_russian`` в голом виде, убедитесь, что под вашу задачу нет готового инструмента для необходимого вам склонение числительного. diff --git a/.github/labeler.yml b/.github/labeler.yml index efef6aa63187..ef56d2f8377f 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -100,3 +100,11 @@ - 'LICENSE' - 'README.md' - 'SpacemanDMM.toml' + +# If anyone wants to update the Russian localization tools or wiki +'🏴‍☠️ Локализация 🏴‍☠️': +- changed-files: + - any-glob-to-any-file: + - 'code/__DEFINES/~mod_celadon/translation.dm' + - '.github/TRANSLATION.md' + diff --git a/_maps/_mod_celadon/RandomRuins/SpaceRuins/onehalftwo.dmm b/_maps/_mod_celadon/RandomRuins/SpaceRuins/onehalftwo.dmm new file mode 100644 index 000000000000..e62a994de266 --- /dev/null +++ b/_maps/_mod_celadon/RandomRuins/SpaceRuins/onehalftwo.dmm @@ -0,0 +1,8214 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ad" = ( +/obj/effect/decal/cleanable/robot_debris, +/obj/item/stock_parts/capacitor, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"ak" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/space/has_grav/refuelingpost/cargo) +"aI" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"aJ" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"aK" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"aN" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"aU" = ( +/obj/machinery/light/dim/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4; + welded = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"aV" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/pipe/manifold/purple/hidden/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"aW" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "refuelingbridge" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"aY" = ( +/obj/machinery/door/poddoor/preopen{ + id = "fuelinghangar" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"aZ" = ( +/obj/item/storage/firstaid/brute{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/storage/firstaid/medical{ + pixel_x = -7; + pixel_y = 1 + }, +/obj/item/storage/firstaid/toxin{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/storage/firstaid/o2{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/structure/closet/crate/medical, +/obj/effect/turf_decal/corner/transparent/ntblue/half{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 8 + }, +/obj/item/clothing/neck/stethoscope, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/OMinus, +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"bh" = ( +/obj/structure/catwalk, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"bi" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"bj" = ( +/obj/structure/chair/bench/blue/directional/south, +/obj/effect/turf_decal/corner/transparent/ntblue/half{ + dir = 1 + }, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"bl" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"bp" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/armory) +"bD" = ( +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/item/reagent_containers/food/drinks/coffee/empty{ + pixel_x = -8; + pixel_y = 7 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"bE" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/ruin/space) +"bX" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/armory) +"bZ" = ( +/mob/living/basic/hivebot/ranged, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"cb" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Cargo" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "fuelingcargo" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4; + color = "#FF0000" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/refuelingpost/cargo) +"cg" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/engineering) +"ci" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4; + color = "#FF0000" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"cj" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + id = "cargospacewindow" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/cargo) +"cl" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/refuelingpost/armory) +"cv" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "fuelingengineering" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/engineering) +"cz" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"cD" = ( +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/dorms) +"cG" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_x = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/bridge) +"cL" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/caution, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/stack/tile/plasteel, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/upper) +"dc" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "cargospacewindow" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/cargo) +"dh" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "fuelingarea" + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"du" = ( +/obj/structure/grille, +/obj/machinery/door/poddoor/preopen{ + id = "fuelhallwayturret" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/upper) +"dz" = ( +/obj/effect/decal/cleanable/robot_debris, +/obj/item/stock_parts/cell/crap, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/armory) +"dA" = ( +/obj/structure/chair/comfy/blue/corpo/directional/west, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"dC" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/effect/decal/cleanable/robot_debris, +/obj/item/stock_parts/cell/crap, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"dI" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"dL" = ( +/obj/effect/turf_decal/box/corners, +/obj/machinery/light/dim/directional/east, +/obj/machinery/button/door{ + dir = 1; + pixel_x = 9; + pixel_y = -20; + id = "cargospacewindow"; + name = "Cargo Windows" + }, +/obj/structure/closet/crate/engineering, +/obj/item/mecha_parts/mecha_equipment/drill, +/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp, +/obj/item/mecha_parts/mecha_equipment/mining_scanner, +/obj/item/mecha_parts/mecha_equipment/thrusters/ion, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/space/has_grav/refuelingpost/cargo) +"dP" = ( +/obj/structure/catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/engineering) +"dX" = ( +/obj/machinery/computer/atmos_control/tank/toxin_tank, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/tech/grid/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"en" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + piping_layer = 5; + icon_state = "pump_map-5" + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"eq" = ( +/obj/structure/chair/comfy/blue/corpo/directional/west, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"et" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"ev" = ( +/obj/item/stack/tile/plasteel, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/dorms) +"eA" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"eH" = ( +/obj/machinery/airalarm/directional/east, +/obj/item/stack/tile/plasteel, +/obj/structure/reagent_dispensers/foamtank, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"fa" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/engineering) +"ff" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on/layer2{ + dir = 1 + }, +/turf/open/floor/engine/plasma, +/area/ruin/space/has_grav/refuelingpost/engineering) +"fh" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "fuelingengineering" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/engineering) +"fj" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"fk" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"fr" = ( +/turf/open/floor/engine/hull, +/area/ruin/space/refuelingsolars) +"fA" = ( +/obj/structure/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"fP" = ( +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"fT" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 1 + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma{ + dir = 8; + piping_layer = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/engineering) +"fU" = ( +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/starboard) +"fV" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/borderfloor/cee, +/obj/effect/turf_decal/siding/yellow{ + dir = 10 + }, +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/analyzer{ + pixel_x = -6; + pixel_y = 10 + }, +/obj/item/clothing/glasses/meson/engine, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"fW" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"fZ" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"gm" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/refuelingpost/engineering) +"gp" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/engine/hull, +/area/ruin/space/refuelingsolars) +"gr" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"gt" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "conveyors" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"gx" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/space/has_grav/refuelingpost/cargo) +"gB" = ( +/obj/structure/chair/comfy/blue/corpo/directional/east, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"gE" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"gU" = ( +/obj/machinery/door/poddoor/preopen{ + id = "fuelhallwayturret" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/upper) +"ha" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"hb" = ( +/obj/effect/turf_decal/corner/opaque/white/three_quarters, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/lower) +"hd" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/external, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"hg" = ( +/obj/machinery/light/floor, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"hh" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/starboard) +"hq" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/engine/hull, +/area/ruin/space/refuelingsolars) +"hw" = ( +/obj/structure/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"hy" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"hA" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/wideband/table{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/bridge) +"hG" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -22; + pixel_y = 9; + id = "fuelingarea"; + name = "Refueling Shutters" + }, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"hI" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable/yellow, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating/rust, +/area/ruin/space/hivebotshuttle) +"hT" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/upper) +"hU" = ( +/obj/structure/filingcabinet/double{ + dir = 1 + }, +/obj/item/folder/documents, +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"ig" = ( +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"ik" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "0"; + pixel_x = -16; + pixel_y = 2 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"im" = ( +/obj/machinery/telecomms/relay/preset/nanotrasen, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"io" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"is" = ( +/obj/structure/girder/reinforced, +/obj/structure/grille, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"it" = ( +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/refuelingpost/lower) +"iv" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/refuelingpost/lower) +"ix" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"iF" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/end{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"iG" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/ruin, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"iJ" = ( +/obj/structure/chair/bench/blue/directional/east, +/obj/effect/turf_decal/corner/transparent/ntblue/half{ + dir = 8 + }, +/obj/item/newspaper{ + pixel_x = 11; + pixel_y = 14 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"iL" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"iM" = ( +/obj/effect/turf_decal/corner/transparent/ntblue/half, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4; + welded = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"iO" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/structure/cable{ + icon_state = "5-6" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/mob/living/basic/hivebot/strong, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor6" + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"iQ" = ( +/obj/structure/catwalk, +/obj/effect/decal/cleanable/crayon{ + pixel_x = -8; + pixel_y = -34; + color = "#FF0000" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"iT" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible/layer2{ + dir = 9 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/engineering) +"iW" = ( +/obj/effect/turf_decal/siding/white, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/mob/living/simple_animal/hostile/human/ramzi/ranged/space/stormtrooper/shotgun, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4; + color = "#FF0000" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"iZ" = ( +/obj/machinery/pipedispenser, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/engineering) +"jc" = ( +/obj/structure/frame, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/stock_parts/capacitor/quadratic, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/hivebotshuttle) +"ji" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"jj" = ( +/obj/structure/catwalk, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"jv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/advanced_airlock_controller/directional/east, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/refuelingpost/starboard) +"jz" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/crate/engineering, +/obj/item/extinguisher/advanced{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/extinguisher/advanced{ + pixel_x = -9; + pixel_y = 4 + }, +/obj/item/watertank/atmos{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/machinery/atmospherics/pipe/manifold/green/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/engineering) +"jI" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/machinery/firealarm/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"jO" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/armory) +"jR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "fuelingsecurity" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/armory) +"jS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"ka" = ( +/turf/closed/wall/r_wall/rust, +/area/ruin/space/hivebotshuttle) +"ke" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"km" = ( +/obj/machinery/sleeper{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/half{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"kq" = ( +/obj/structure/closet/wall/red/directional/west, +/obj/item/ammo_box/magazine/co9mm, +/obj/item/ammo_box/magazine/co9mm{ + pixel_x = -4 + }, +/obj/item/ammo_box/magazine/co9mm{ + pixel_x = -9 + }, +/obj/item/stock_parts/cell/gun/upgraded{ + pixel_x = 7; + pixel_y = -5 + }, +/obj/item/gun/energy/e_gun/e_old/iot{ + pixel_y = -8 + }, +/obj/item/gun/ballistic/automatic/pistol/challenger{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/mono/dark/airless, +/area/ruin/space/has_grav/refuelingpost/armory) +"kr" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"ku" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/valve{ + piping_layer = 5; + icon_state = "mvalve_map-5" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"kC" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"kD" = ( +/obj/structure/catwalk, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"kK" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/closet/crate/engineering, +/obj/item/circuitboard/machine/shuttle/engine/plasma, +/obj/item/circuitboard/machine/shuttle/engine/plasma, +/obj/item/circuitboard/machine/shuttle/heater, +/obj/item/circuitboard/machine/shuttle/heater, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"kN" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/refuelingpost/upper) +"kQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"kR" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"kU" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"kV" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"lc" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 8; + pixel_x = 6 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"le" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"lj" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/turretid{ + pixel_x = -1; + pixel_y = 3; + id = "fuelingpost" + }, +/turf/open/floor/plasteel/telecomms_floor/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"lm" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/obj/structure/closet/firecloset/wall/directional/south, +/obj/structure/sign/warning/fire{ + pixel_x = -23; + pixel_y = 10 + }, +/obj/structure/sign/warning{ + pixel_x = -23; + pixel_y = -2 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"lp" = ( +/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ + dir = 1; + piping_layer = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/refuelingpost/engineering) +"lB" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/closet/emcloset/wall/directional/north, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"lK" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "&"; + pixel_x = -10; + pixel_y = 12 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"lQ" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"me" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 19; + pixel_y = 10; + id = "fuelinghangar" + }, +/obj/machinery/button/shieldwallgen{ + dir = 8; + pixel_x = 18; + id = "fuelingholo" + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 9 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"mh" = ( +/obj/effect/turf_decal/solarpanel, +/obj/effect/decal/cleanable/glass, +/obj/item/shard, +/obj/item/solar_assembly, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"mk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/refuelingpost/engineering) +"mq" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/refuelingpost/cargo) +"mr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/engineering) +"ms" = ( +/obj/item/stack/tile/plasteel/white, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/lower) +"mC" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/armory) +"mI" = ( +/obj/effect/decal/cleanable/crayon{ + pixel_x = 4; + pixel_y = 5; + color = "#FF0000" + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/warning{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/starboard) +"mM" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "refuelingbridge" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"mX" = ( +/obj/effect/turf_decal/corner/opaque/black{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + welded = 1 + }, +/turf/open/floor/plasteel/telecomms_floor/airless, +/area/ruin/space/has_grav/refuelingpost/armory) +"nh" = ( +/obj/item/stack/rods, +/turf/open/space/basic, +/area/ruin/space/has_grav/refuelingpost/dorms) +"nk" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/refuelingpost/dorms) +"nn" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/corner/transparent/ntblue/three_quarters{ + dir = 1 + }, +/obj/item/kirbyplants/dead{ + name = "dead potted plant"; + pixel_x = -1; + pixel_y = 9; + desc = "A dead potted plant." + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/warning{ + pixel_x = 8; + pixel_y = -21 + }, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"ns" = ( +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"nt" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/purple/hidden/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 9 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"nK" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/portable_atmospherics/canister{ + icon_state = "orange"; + name = "plasma canister" + }, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"nR" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/turf/open/floor/plasteel/mono/dark/airless, +/area/ruin/space/has_grav/refuelingpost/armory) +"nT" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"oi" = ( +/obj/structure/girder, +/obj/item/stack/sheet/metal, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"oq" = ( +/obj/structure/chair/bench/blue/directional/south, +/obj/effect/turf_decal/corner/transparent/ntblue/half{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"ot" = ( +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/obj/item/melee/knife/combat, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4" + }, +/obj/effect/mob_spawn/human/corpse/ramzi/space/soft, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"oD" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"oK" = ( +/obj/structure/salvageable/server, +/obj/item/stack/rods, +/obj/machinery/light/broken/directional/north, +/turf/open/floor/plating/rust/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"oP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/purple/visible/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/engineering) +"oT" = ( +/turf/closed/wall/rust, +/area/ruin/space/hivebotshuttle) +"oW" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"oZ" = ( +/obj/structure/lattice, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/space/basic, +/area/ruin/space/has_grav/refuelingpost/dorms) +"pf" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "ripleyfueling" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"pr" = ( +/obj/structure/chair/bench/blue/directional/east, +/obj/effect/turf_decal/corner/transparent/ntblue/half{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"pu" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"px" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/refuelingpost/lower) +"pA" = ( +/obj/effect/turf_decal/borderfloor/cee, +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"pC" = ( +/mob/living/basic/hivebot/ranged, +/turf/open/floor/plasteel/telecomms_floor/airless, +/area/ruin/space/hivebotshuttle) +"pE" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"pH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/refuelingpost/lower) +"pJ" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "conveyors" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargo) +"pP" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"qf" = ( +/obj/effect/turf_decal/atmos/air, +/turf/open/floor/engine/air, +/area/ruin/space/has_grav/refuelingpost/engineering) +"qh" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only/closed, +/obj/machinery/door/firedoor/border_only/closed{ + dir = 1 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Armory"; + welded = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/armory) +"ql" = ( +/obj/effect/turf_decal/corner/transparent/ntblue/three_quarters, +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"qv" = ( +/obj/structure/salvageable/destructive_analyzer, +/turf/open/floor/plasteel/telecomms_floor/airless, +/area/ruin/space/hivebotshuttle) +"qz" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/refuelingpost/upper) +"qD" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"qH" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/caution, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"qI" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/west, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/warning{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/starboard) +"qJ" = ( +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"qV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/starboard) +"ra" = ( +/obj/effect/decal/cleanable/robot_debris, +/obj/item/stock_parts/manipulator, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4; + icon_state = "mvalve_map-5" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"rd" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4; + piping_layer = 5; + icon_state = "mvalve_map-5" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"rl" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "fuelingengineering" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/engineering) +"rm" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"ro" = ( +/obj/machinery/light/broken/directional/south, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"ry" = ( +/obj/item/shard, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/engine/hull, +/area/ruin/space/refuelingsolars) +"rF" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"rK" = ( +/obj/structure/spawner/hivebot, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating/rust, +/area/ruin/space/hivebotshuttle) +"rX" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"sd" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/hivebotshuttle) +"sf" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4; + welded = 1 + }, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"sm" = ( +/obj/structure/girder, +/obj/item/stack/ore/salvage/scraptitanium, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/dorms) +"sr" = ( +/turf/open/space/basic, +/area/ruin/space/refuelingsolars) +"ss" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"su" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ + dir = 4; + piping_layer = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/refuelingpost/engineering) +"sw" = ( +/obj/item/stack/tile/plasteel/dark, +/obj/item/pipe/binary/bendable{ + dir = 4; + color = "#FF0000"; + pixel_x = 6; + pixel_y = -5 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"sO" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"sQ" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/engineering) +"sS" = ( +/obj/machinery/suit_storage_unit/inherit{ + state_open = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -20; + pixel_y = 10; + id = "fuelingsolarwindow"; + name = "window shutters" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"sV" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/item/stack/tile/plasteel, +/turf/open/floor/plating/rust/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"sW" = ( +/turf/open/floor/plasteel/mono/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"tj" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/starboard) +"tm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + welded = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/engineering) +"tn" = ( +/obj/structure/table/chem, +/obj/item/hypospray/mkii{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/storage/box/masks{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/three_quarters{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorwhite/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"tp" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "+"; + pixel_x = -12; + pixel_y = -11 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"tq" = ( +/obj/machinery/door/poddoor/preopen{ + id = "fuelinghangar" + }, +/obj/structure/cable/yellow, +/obj/machinery/power/shieldwallgen/atmos/strong/roundstart{ + dir = 4; + id = "fuelingholo" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"tw" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/engine/hull, +/area/ruin/space/refuelingsolars) +"tz" = ( +/obj/effect/decal/cleanable/robot_debris, +/turf/open/floor/plasteel/telecomms_floor/airless, +/area/ruin/space/hivebotshuttle) +"tA" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"tB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"tD" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/item/stack/tile/plasteel/white, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"tO" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/external, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"uk" = ( +/obj/item/trash/energybar{ + pixel_x = -14; + pixel_y = -20 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 1 + }, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/cargo) +"uv" = ( +/obj/structure/railing/thin{ + dir = 5 + }, +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/engineering) +"uJ" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/refuelingpost/engineering) +"uQ" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ + piping_layer = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/refuelingpost/engineering) +"uR" = ( +/obj/effect/decal/cleanable/robot_debris, +/obj/item/stock_parts/micro_laser, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/armory) +"uV" = ( +/obj/structure/catwalk, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"vg" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"vp" = ( +/obj/structure/table/reinforced, +/obj/item/flashlight/lamp/green{ + pixel_x = 7; + pixel_y = 11 + }, +/obj/machinery/button/door{ + pixel_x = -8; + pixel_y = 8; + name = "cargo lockdown button"; + id = "fuelingcargo" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/armory) +"vq" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 5 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"vr" = ( +/obj/item/stack/tile/plasteel, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"vs" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"vB" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"vH" = ( +/mob/living/basic/hivebot/mechanic, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/telecomms_floor/airless, +/area/ruin/space/hivebotshuttle) +"vK" = ( +/obj/item/stack/tile/plasteel, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"vP" = ( +/obj/item/stack/ore/salvage/scraptitanium, +/turf/open/space/basic, +/area/ruin/space/has_grav/refuelingpost/dorms) +"vQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/refuelingpost/lower) +"vV" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"wc" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "fuelingarea" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"we" = ( +/obj/machinery/door/airlock/external{ + welded = 1 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/starboard) +"wl" = ( +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"wm" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/tracker, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"wn" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/crate_shelf, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"wr" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector{ + name = "Emergency Repressurization" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/mono/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"wu" = ( +/obj/item/stack/tile/plasteel/dark, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"wz" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 5 + }, +/obj/item/stack/tile/plasteel, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"wB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/bordercorner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/yellow/filled/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/robot_debris, +/obj/item/stock_parts/micro_laser, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"wO" = ( +/obj/structure/table/chem, +/obj/item/reagent_containers/syringe/stasis, +/obj/item/reagent_containers/syringe/stasis{ + pixel_x = 3; + pixel_y = -2 + }, +/obj/item/reagent_containers/glass/bottle/chitosan{ + pixel_x = -7; + pixel_y = 9 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/half{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"wP" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust, +/area/ruin/space/hivebotshuttle) +"wU" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/refuelingpost/lower) +"wZ" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"xl" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/command/glass{ + dir = 4; + name = "Command" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/refuelingpost/bridge) +"xn" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"xq" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"xC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/item/ammo_casing/spent/slug/buck, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"xD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/armory) +"xG" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/engineering) +"xI" = ( +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4; + color = "#FF0000" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"xK" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 2 + }, +/turf/open/floor/plating, +/area/ruin/space/hivebotshuttle) +"xP" = ( +/obj/structure/catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"xT" = ( +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/refuelingpost/armory) +"xV" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4; + color = "#FF0000" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"yc" = ( +/obj/structure/lattice, +/obj/item/stack/sheet/metal, +/turf/open/space/basic, +/area/ruin/space/has_grav/refuelingpost/dorms) +"yh" = ( +/obj/machinery/computer/solar_control, +/obj/effect/turf_decal/borderfloor, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"yi" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"yl" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "fuelingsecurity" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"yn" = ( +/obj/effect/decal/cleanable/robot_debris, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/telecomms_floor/airless, +/area/ruin/space/hivebotshuttle) +"yo" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"yt" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/item/stack/sheet/metal/five, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/refuelingpost/armory) +"yQ" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/upper) +"yS" = ( +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"yW" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"yY" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"ze" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/porta_turret/ruin/nt/light/sniper{ + dir = 6; + id = "fuelingpost" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"zi" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/space/basic, +/area/ruin/space) +"zm" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"zq" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "refuelingbridge" + }, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"zt" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/refuelingpost/armory) +"zL" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/refuelingpost/lower) +"Aj" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"At" = ( +/turf/template_noop, +/area/template_noop) +"Ay" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/machinery/holopad, +/obj/effect/decal/cleanable/robot_debris, +/obj/item/stock_parts/capacitor, +/obj/item/ammo_casing/spent/slug/buck, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -20; + pixel_y = -1; + name = "engine shutters"; + id = "bonnieengine" + }, +/obj/machinery/light_switch{ + pixel_x = -19; + pixel_y = 9; + dir = 4 + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"AC" = ( +/obj/item/stack/ore/salvage/scraptitanium, +/obj/structure/lattice, +/turf/open/space/basic, +/area/ruin/space/has_grav/refuelingpost/dorms) +"AD" = ( +/obj/effect/turf_decal/solarpanel, +/obj/effect/decal/cleanable/glass, +/obj/item/shard, +/obj/item/solar_assembly, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"AN" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 10 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/refuelingpost/engineering) +"AS" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/obj/effect/decal/cleanable/robot_debris, +/obj/item/stock_parts/manipulator, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Ba" = ( +/obj/structure/salvageable/autolathe, +/turf/open/floor/plasteel/telecomms_floor/airless, +/area/ruin/space/hivebotshuttle) +"Bf" = ( +/obj/structure/girder, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Bo" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/light/dim/directional/west, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/purple/hidden/layer5{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Bu" = ( +/obj/item/ammo_casing/spent/slug/buck, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"BA" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/refuelingpost/cargo) +"BR" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/door_assembly{ + dir = 4 + }, +/obj/structure/firelock_frame/border{ + dir = 4 + }, +/obj/structure/firelock_frame/border{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Ci" = ( +/obj/structure/closet/firecloset/wall/directional/south, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 21; + pixel_y = 9; + id = "fuelingarea"; + name = "Refueling Shutters" + }, +/turf/open/floor/plasteel/tech/grid/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Cn" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Cs" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer2, +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/yellow, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Ct" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/ruin/space/hivebotshuttle) +"Cv" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Cw" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 9; + pixel_y = 8; + id = "refuelingbridge"; + name = "bridge shutters" + }, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 9; + pixel_y = -4; + name = "hallway turret shutters"; + id = "fuelhallwayturret" + }, +/obj/item/paper/crumpled/fluff/fueling/command{ + pixel_x = -8; + pixel_y = -3 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/bridge) +"CE" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"CI" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"CN" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + dir = 4; + id = "fuelingcargo" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargo) +"CR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Dd" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/border{ + dir = 1 + }, +/mob/living/basic/hivebot, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Dg" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "credit"; + pixel_x = -9; + pixel_y = 7 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "3"; + pixel_x = 9; + pixel_y = 4 + }, +/obj/item/storage/backpack/satchel/flat/onehalftwo, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"Dk" = ( +/obj/effect/spawner/bunk_bed, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/blue/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Dl" = ( +/obj/machinery/vending/cola, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/upper) +"Du" = ( +/obj/item/stack/sheet/metal, +/turf/open/space/basic, +/area/ruin/space/refuelingsolars) +"Dw" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Dy" = ( +/obj/structure/girder/reinforced, +/obj/structure/grille/broken, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"DA" = ( +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/ruin/space/refuelingsolars) +"DP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Ec" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Ed" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"Em" = ( +/obj/structure/closet/wall/red/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/suit/armor/nanotrasen, +/obj/item/clothing/head/helmet/m10/nanotrasen, +/obj/item/clothing/head/nanotrasen/cap/security, +/obj/item/clothing/under/nanotrasen/security, +/obj/item/clothing/shoes/jackboots, +/turf/open/floor/plasteel/mono/dark/airless, +/area/ruin/space/has_grav/refuelingpost/armory) +"En" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock{ + dir = 4; + name = "Dorms" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Ew" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/telecomms_floor/airless, +/area/ruin/space/hivebotshuttle) +"Ey" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/floor, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"EL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on, +/turf/open/floor/engine/air, +/area/ruin/space/has_grav/refuelingpost/engineering) +"ES" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/door_assembly, +/obj/structure/firelock_frame/border, +/obj/structure/firelock_frame/border{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/dorms) +"ET" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/mob/living/basic/hivebot/core, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/armory) +"Fe" = ( +/obj/machinery/suit_storage_unit/inherit{ + state_open = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Fg" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"Fv" = ( +/obj/structure/girder, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"Fw" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow, +/turf/open/floor/plasteel/telecomms_floor/airless, +/area/ruin/space/hivebotshuttle) +"FA" = ( +/obj/structure/safe/floor, +/obj/structure/table_frame, +/obj/effect/decal/cleanable/glass, +/obj/effect/turf_decal/corner/opaque/black, +/obj/item/spacecash/bundle/c1000, +/obj/item/spacecash/bundle/c1000, +/obj/item/hand_tele, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"FB" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"FG" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/refuelingpost/starboard) +"FO" = ( +/turf/open/floor/plasteel/mono/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"FW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/refuelingpost/engineering) +"FY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"Gb" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/refuelingpost/bridge) +"Gf" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/light/broken/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + welded = 1 + }, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/upper) +"Gn" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"Gq" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Gs" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/closet/crate/secure/exo, +/obj/item/pickaxe/drill, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Gu" = ( +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"GE" = ( +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/machinery/light/dim/directional/north, +/obj/machinery/atmospherics/components/unary/portables_connector{ + piping_layer = 5 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"GL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor/cee, +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/structure/closet/secure_closet/engineering_welding, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"GN" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/black/three_quarters{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 10 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/armory) +"GP" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"GQ" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"GR" = ( +/obj/machinery/portable_atmospherics/canister{ + icon_state = "orange"; + name = "plasma canister" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/refuelingpost/engineering) +"GU" = ( +/obj/structure/chair/comfy/blue/corpo/directional/east, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"Ha" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Hb" = ( +/obj/effect/decal/cleanable/robot_debris, +/obj/item/stock_parts/micro_laser/high, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4; + icon_state = "mvalve_map-5" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Hc" = ( +/obj/effect/turf_decal/borderfloor/full, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"Hd" = ( +/obj/structure/table/glass, +/obj/item/documents/nanotrasen, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"Hf" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/hivebotshuttle) +"Hi" = ( +/obj/item/stack/tile/plasteel, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8; + welded = 1 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"Hl" = ( +/obj/structure/table/reinforced, +/obj/item/trash/energybar{ + pixel_x = 20; + pixel_y = -41 + }, +/obj/item/trash/energybar{ + pixel_x = 29; + pixel_y = -22 + }, +/obj/item/stamp/qm{ + pixel_x = 26; + pixel_y = -1 + }, +/obj/item/clipboard{ + pixel_x = 13; + pixel_y = 2 + }, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 3 + }, +/obj/item/trash/energybar{ + pixel_x = -3; + pixel_y = 12 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"HB" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer2, +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1 + }, +/obj/effect/turf_decal/atmos/plasma, +/obj/machinery/air_sensor/atmos/toxin_tank{ + pixel_x = 12; + pixel_y = 11 + }, +/turf/open/floor/engine/plasma, +/area/ruin/space/has_grav/refuelingpost/engineering) +"HC" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/purple/hidden/layer5{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"HF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/hivebotshuttle) +"HJ" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"HK" = ( +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/tracker, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"HS" = ( +/obj/structure/lattice, +/obj/machinery/light/small/broken/directional/north, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/space/basic, +/area/ruin/space/has_grav/refuelingpost/dorms) +"HV" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"Ie" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor/cee, +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/machinery/computer/atmos_alert{ + dir = 1; + icon_state = "computer-middle" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Ig" = ( +/obj/item/stack/tile/plasteel/dark, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Ik" = ( +/obj/structure/catwalk, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5{ + dir = 10 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"Iu" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, +/turf/open/floor/plating, +/area/ruin/space/hivebotshuttle) +"ID" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/trash/energybar{ + pixel_x = -5; + pixel_y = 12 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"IF" = ( +/obj/effect/decal/cleanable/robot_debris, +/obj/item/stock_parts/scanning_module/adv, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"IG" = ( +/obj/structure/chair/comfy/blue/corpo/directional/south, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"IJ" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/turf/open/floor/plasteel/tech/grid/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"IV" = ( +/obj/structure/sign/warning{ + pixel_x = 0; + pixel_y = 26 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector{ + dir = 8; + name = "Emergency Repressurization" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/turf/open/floor/plasteel/mono/dark/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"IY" = ( +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Ja" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/security{ + dir = 8; + name = "Security"; + welded = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/refuelingpost/armory) +"Jm" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/border, +/mob/living/basic/hivebot, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Jn" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "bonnieengine" + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Jt" = ( +/obj/structure/lattice, +/obj/item/stack/ore/salvage/scraptitanium, +/turf/open/space/basic, +/area/ruin/space/has_grav/refuelingpost/dorms) +"JD" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/ruin/space/refuelingsolars) +"JF" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/crate_shelf, +/obj/structure/closet/crate/internals{ + populate = 0; + name = "EVA crate" + }, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/clothing/suit/space/syndicate/ramzi/surplus, +/obj/item/clothing/head/helmet/space/syndicate/ramzi/surplus, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"JG" = ( +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"JK" = ( +/obj/machinery/light/dim/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + welded = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/starboard) +"JM" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/caution, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"JN" = ( +/obj/structure/door_assembly/door_assembly_med{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/firelock_frame/border{ + dir = 4 + }, +/obj/structure/firelock_frame/border{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"JU" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"JV" = ( +/obj/machinery/power/smes, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Ka" = ( +/obj/effect/turf_decal/corner/transparent/ntblue/three_quarters{ + dir = 8 + }, +/obj/structure/table_frame, +/obj/item/shard, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"Ki" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible/layer2{ + dir = 9 + }, +/obj/item/wrench/crescent{ + pixel_x = 17; + pixel_y = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 9 + }, +/obj/item/pipe/binary/bendable{ + dir = 4; + pixel_x = 2; + pixel_y = -10; + color = "#8000b6" + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Km" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/black, +/obj/effect/decal/cleanable/robot_debris, +/obj/item/stock_parts/manipulator, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/armory) +"Ko" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Kq" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/poddoor_assembly, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust, +/area/ruin/space/hivebotshuttle) +"Kw" = ( +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Kz" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/salvageable/computer{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/bridge) +"KB" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/atmospherics/components/unary/outlet_injector{ + dir = 4; + name = "Emergency Repressurization" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"KE" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/refuelingpost/lower) +"KF" = ( +/obj/effect/turf_decal/borderfloor/cee, +/obj/effect/turf_decal/siding/yellow/end{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/clothing/suit/space/hardsuit/engine/atmos, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"KH" = ( +/obj/machinery/light/dim/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/clothing/mask/gas{ + pixel_x = -5; + pixel_y = 1 + }, +/obj/item/clothing/mask/gas{ + pixel_x = -5; + pixel_y = 7 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"KI" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/closet/firecloset/wall/directional/north, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"KL" = ( +/obj/structure/lattice, +/obj/item/stack/rods, +/turf/open/space/basic, +/area/ruin/space/has_grav/refuelingpost/dorms) +"KT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"KX" = ( +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargo) +"La" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Ld" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/curtain/cloth, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Lg" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/refuelingpost/starboard) +"Lt" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/refuelingpost/lower) +"Lz" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/space/has_grav/refuelingpost/cargo) +"LI" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8; + welded = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4; + color = "#FF0000" + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"LV" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"LY" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/salvageable/computer{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/bridge) +"Ma" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 6 + }, +/obj/effect/turf_decal/borderfloor/cee, +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Mg" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "fuelingengineering" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Ms" = ( +/obj/effect/turf_decal/siding/white, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4; + color = "#FF0000" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/turf_decal/trimline/opaque/nsorange/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Mt" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"MA" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 1 + }, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"MB" = ( +/obj/structure/table_frame, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/refuelingpost/armory) +"MG" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"MI" = ( +/obj/machinery/door/airlock/engineering{ + dir = 8; + name = "Engineering" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/refuelingpost/upper) +"ML" = ( +/obj/structure/sign/warning/securearea{ + pixel_y = 30 + }, +/obj/effect/turf_decal/industrial/caution, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/upper) +"MO" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "fuelingmedbay" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"MW" = ( +/obj/structure/grille/broken, +/obj/item/stack/ore/glass, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"MX" = ( +/obj/item/ammo_casing/spent/slug/buck, +/obj/machinery/firealarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4; + color = "#FF0000" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"MY" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/space/refuelingsolars) +"Na" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Infirmary" + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only/closed{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only/closed, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"Ni" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/engineering) +"NE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on/layer2{ + dir = 1 + }, +/turf/open/floor/engine/air, +/area/ruin/space/has_grav/refuelingpost/engineering) +"NF" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 1; + id = "bonniefield" + }, +/obj/machinery/door/poddoor/preopen{ + dir = 4; + id = "bonnieblast" + }, +/obj/item/ammo_casing/spent/slug/buck, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"NH" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/refuelingpost/starboard) +"NI" = ( +/obj/machinery/power/port_gen/pacman, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"NJ" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"NM" = ( +/obj/structure/chair/office, +/turf/open/floor/plasteel/mono/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"NV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark/airless, +/area/ruin/space/has_grav/refuelingpost/armory) +"Oa" = ( +/obj/machinery/atmospherics/components/unary/portables_connector, +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Ou" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/green/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/refuelingpost/lower) +"Ow" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"OE" = ( +/obj/effect/turf_decal/corner/opaque/black/three_quarters{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/dorms) +"OF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine/hull, +/area/ruin/space/refuelingsolars) +"Pg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Pi" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Pl" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"Pp" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Pt" = ( +/obj/structure/spawner/hivebot, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/armory) +"Pv" = ( +/obj/effect/turf_decal/rechargefloor, +/obj/mecha/working/ripley/mkii, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Px" = ( +/obj/structure/railing/thin{ + dir = 4 + }, +/obj/machinery/computer/monitor{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/refuelingpost/engineering) +"PC" = ( +/obj/effect/turf_decal/borderfloor/cee, +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"PD" = ( +/obj/machinery/vending/snack/orange, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/upper) +"PH" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/refuelingpost/lower) +"PJ" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/refuelingpost/engineering) +"PO" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Qb" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/south, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/light/broken/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/armory) +"Qh" = ( +/obj/item/ammo_casing/spent/slug/buck, +/mob/living/basic/hivebot/ranged, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Qk" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Qz" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"QD" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/corner, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"QP" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/refuelingpost/cargo) +"QQ" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 1 + }, +/obj/machinery/door/airlock/glass_large{ + name = "Cargo Bay" + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"QR" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"QS" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "conveyors" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"QT" = ( +/obj/effect/turf_decal/corner/transparent/ntblue/half{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorwhite, +/obj/structure/closet{ + icon_state = "med" + }, +/obj/item/reagent_containers/hypospray/medipen/tramal{ + pixel_y = -5 + }, +/obj/item/reagent_containers/hypospray/medipen/tramal{ + pixel_x = 7; + pixel_y = -4 + }, +/obj/item/reagent_containers/hypospray/medipen/morphine{ + pixel_y = 5 + }, +/obj/item/reagent_containers/hypospray/medipen/morphine{ + pixel_x = -7; + pixel_y = 5 + }, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"QU" = ( +/obj/effect/turf_decal/solarpanel, +/obj/effect/decal/cleanable/glass, +/obj/item/stack/rods, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"QX" = ( +/obj/machinery/power/shuttle/engine/electric, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Ra" = ( +/obj/effect/turf_decal/corner/transparent/ntblue/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"Rb" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/broken/directional/south, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Rr" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/conveyor{ + dir = 4; + id = "conveyors" + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "cargoconveyors" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Rt" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/plasteel/mono/dark/plasma, +/area/ruin/space/has_grav/refuelingpost/armory) +"Rv" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/starboard) +"Rx" = ( +/obj/structure/chair/comfy/blue/corpo/directional/north, +/obj/effect/turf_decal/trimline/opaque/ntblue/line, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"RE" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/obj/structure/closet/emcloset/wall/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"RG" = ( +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/structure/sign/warning{ + pixel_x = 32; + pixel_y = 2 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"RI" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/layer2, +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/refuelingpost/engineering) +"RK" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 10 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"RO" = ( +/obj/structure/girder, +/obj/item/stack/sheet/metal, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"RR" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"RY" = ( +/obj/structure/sign/warning/securearea{ + pixel_y = 29 + }, +/obj/effect/turf_decal/industrial/caution, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/upper) +"Sa" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Sn" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/turretid{ + pixel_x = -26; + pixel_y = 1; + id = "bonnieguns" + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4" + }, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"So" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"Su" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/light/floor, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Sv" = ( +/obj/effect/decal/cleanable/robot_debris, +/obj/item/stock_parts/manipulator, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/light/floor, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Sw" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/volume_pump/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor/cee, +/obj/effect/turf_decal/siding/yellow/end{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"SB" = ( +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"SF" = ( +/obj/effect/turf_decal/corner/opaque/black/three_quarters{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/armory) +"SO" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/effect/turf_decal/corner/opaque/syndiered/bordercorner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/yellow/filled/warning{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"SP" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/starboard) +"SQ" = ( +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Td" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/item/clipboard{ + pixel_x = -13 + }, +/obj/item/stamp/nanotrasen/captain, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/bridge) +"Tk" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4; + welded = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/refuelingpost/lower) +"Tr" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/structure/railing/thin, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Tu" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/corner/transparent/ntblue/three_quarters{ + dir = 4 + }, +/obj/item/newspaper{ + pixel_x = 5 + }, +/obj/item/paper/crumpled/fluff, +/obj/item/paper/crumpled/fluff{ + pixel_x = -4; + pixel_y = -8 + }, +/obj/item/paper/crumpled/fluff{ + pixel_x = 21; + pixel_y = -22 + }, +/obj/machinery/button/door{ + pixel_x = 8; + pixel_y = 21; + id = "fuelingmedbay"; + name = "window shutters" + }, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"Ty" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/structure/closet/crate/engineering{ + name = "internals crate" + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_y = -3 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 7; + pixel_y = -3 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = -8; + pixel_y = -3 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = -7; + pixel_y = 5 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/refuelingpost/engineering) +"TE" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/refuelingpost/upper) +"TG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"TH" = ( +/obj/machinery/computer/helm{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/railing/thin, +/obj/machinery/button/door{ + pixel_x = 4; + pixel_y = 23; + name = "blast door control"; + id = "bonnieblast" + }, +/obj/machinery/button/shieldwallgen{ + pixel_x = -6; + pixel_y = 21; + id = "bonniefield" + }, +/obj/item/radio/intercom/wideband/directional/east, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"TL" = ( +/obj/item/stack/sheet/metal, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/has_grav/refuelingpost/dorms) +"TP" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"TR" = ( +/obj/effect/turf_decal/corner/opaque/grey/three_quarters, +/obj/machinery/light/broken/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/engineering) +"TU" = ( +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister{ + icon_state = "orange"; + name = "plasma canister" + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"TY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/starboard) +"Ud" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/item/food/energybar, +/obj/item/food/energybar, +/obj/item/food/energybar, +/obj/item/food/energybar, +/obj/item/food/energybar, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Ui" = ( +/turf/open/floor/carpet/blue/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Uq" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 4; + piping_layer = 5 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Ur" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Ut" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_x = -10; + pixel_y = -18; + id = "fuelingengineering"; + name = "window shutters" + }, +/obj/effect/turf_decal/borderfloor/cee, +/obj/machinery/computer/atmos_control/tank/air_tank{ + dir = 1; + icon_state = "computer-right" + }, +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"UB" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"UJ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window{ + dir = 8 + }, +/obj/machinery/door/window{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "fuelingcargo" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Vn" = ( +/obj/machinery/firealarm/directional/east, +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/coffee/empty{ + pixel_x = 12; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/coffee/empty{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/stack/sheet/cardboard{ + pixel_x = -8; + pixel_y = 20 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Vz" = ( +/obj/structure/grille/broken, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"VB" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/hivebotshuttle) +"VF" = ( +/obj/effect/turf_decal/solarpanel, +/obj/machinery/power/solar, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"VL" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "bonniefield" + }, +/obj/machinery/door/poddoor/preopen{ + dir = 4; + id = "bonnieblast" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"VO" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/airlock/engineering, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/engineering) +"VU" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/green/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"VV" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"VW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/green/hidden, +/turf/open/floor/plasteel/patterned, +/area/ruin/space/has_grav/refuelingpost/upper) +"VY" = ( +/obj/structure/catwalk, +/turf/open/floor/plating, +/area/ruin/space/refuelingsolars) +"Wb" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "refuelingbridge" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/bridge) +"Wc" = ( +/mob/living/basic/hivebot, +/obj/item/pipe/binary/bendable{ + pixel_x = 7; + pixel_y = 5; + color = "#0000ff" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Wg" = ( +/obj/item/stack/tile/plasteel, +/turf/open/floor/plating/rust, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Wm" = ( +/obj/structure/catwalk, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Wr" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/sign/warning/fire{ + pixel_x = -24; + pixel_y = 10 + }, +/obj/structure/sign/warning{ + pixel_x = -24; + pixel_y = -2 + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer5{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Wt" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/structure/chair/office, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Wu" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 1; + welded = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/east, +/obj/machinery/advanced_airlock_controller/directional/west, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"Ww" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"WC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + welded = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/armory) +"WF" = ( +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/space/refuelingsolars) +"WH" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 10 + }, +/obj/item/shard, +/turf/open/floor/plasteel/dark/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"WJ" = ( +/obj/structure/girder/reinforced, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"WW" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/light/small/broken/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/porta_turret/ruin/nt/light/sniper{ + id = "fuelingpost" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/upper) +"Xh" = ( +/obj/effect/turf_decal/corner/transparent/ntblue/half{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/light/broken/directional/east, +/turf/open/floor/plasteel/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"Xm" = ( +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Xn" = ( +/obj/structure/bed/bunk, +/obj/item/stack/rods, +/turf/open/floor/carpet/blue/airless, +/area/ruin/space/has_grav/refuelingpost/dorms) +"Xw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + welded = 1 + }, +/turf/open/floor/plasteel/mono/white/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"XA" = ( +/obj/item/stack/tile/plasteel/dark, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/has_grav/refuelingpost/dorms) +"XD" = ( +/turf/open/floor/carpet/blue/plasma, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"XE" = ( +/turf/open/floor/plating, +/area/ruin/space/refuelingsolars) +"XI" = ( +/obj/machinery/modular_computer/console/preset/civilian{ + dir = 1 + }, +/obj/structure/railing/thin, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"XK" = ( +/obj/structure/catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"XR" = ( +/obj/structure/catwalk, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"XT" = ( +/turf/open/space/basic, +/area/ruin/space) +"XU" = ( +/obj/structure/girder/reinforced, +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"Ya" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"Ym" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/green/hidden, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/infirmary) +"Yo" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "fuelingsolarwindow" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/solarstorage) +"Yp" = ( +/obj/effect/turf_decal/siding/white/end, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1; + welded = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/end, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/refuelingpost/cargo) +"Yt" = ( +/obj/structure/frame, +/turf/open/floor/plasteel/telecomms_floor/airless, +/area/ruin/space/hivebotshuttle) +"Yu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8; + welded = 1 + }, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4; + piping_layer = 5; + icon_state = "mvalve_map-5" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Yv" = ( +/obj/structure/catwalk, +/obj/effect/decal/cleanable/crayon{ + color = "#FF0000"; + icon_state = "skull"; + pixel_x = -2; + pixel_y = -21 + }, +/obj/effect/decal/cleanable/crayon{ + color = "#FF0000"; + icon_state = "skull"; + pixel_x = 10; + pixel_y = -36 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/refuelingsolars) +"YD" = ( +/obj/machinery/power/smes, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ruin/space/hivebotshuttle) +"YG" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/atmos/air, +/obj/machinery/air_sensor/atmos/air_tank{ + pixel_x = 12; + pixel_y = 12 + }, +/turf/open/floor/engine/air, +/area/ruin/space/has_grav/refuelingpost/engineering) +"YH" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/button/door{ + dir = 1; + id = "fuelingsecurity"; + pixel_x = 9; + pixel_y = -18 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/refuelingpost/armory) +"YI" = ( +/obj/structure/grille, +/obj/machinery/door/poddoor/preopen{ + id = "fuelhallwayturret" + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/upper) +"YJ" = ( +/obj/structure/grille, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "refuelingbridge" + }, +/obj/item/shard, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/bridge) +"YP" = ( +/obj/structure/filingcabinet{ + dir = 1 + }, +/obj/structure/railing/thin, +/obj/effect/turf_decal/corner/opaque/black/three_quarters{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/cargo) +"YT" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/refuelingpost/armory) +"YX" = ( +/obj/structure/table/reinforced, +/obj/machinery/coffeemaker{ + pixel_x = 6; + pixel_y = 11 + }, +/obj/item/storage/fancy/coffee_cart_rack{ + pixel_x = -9; + pixel_y = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"YY" = ( +/obj/machinery/door/poddoor/preopen{ + id = "fuelinghangar" + }, +/obj/structure/cable/yellow, +/obj/machinery/power/shieldwallgen/atmos/strong/roundstart{ + dir = 8; + id = "fuelingholo" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Zi" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + id = "fuelingsecurity" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Zp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/light/broken/directional/south, +/obj/machinery/computer/atmos_control/tank/toxin_tank{ + dir = 1; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/borderfloor/cee, +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/engineering) +"Zr" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"Zz" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/turf/open/floor/plasteel/tech/grid/airless, +/area/ruin/space/has_grav/refuelingpost/cargobay) +"ZC" = ( +/obj/structure/salvageable/protolathe, +/obj/effect/decal/cleanable/robot_debris, +/turf/open/floor/plasteel/telecomms_floor/airless, +/area/ruin/space/hivebotshuttle) +"ZI" = ( +/obj/structure/girder, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plating, +/area/ruin/space/has_grav/refuelingpost/dorms) +"ZK" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/manifold/purple/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/refuelingpost/engineering) +"ZM" = ( +/obj/structure/table/reinforced, +/obj/item/trash/energybar, +/obj/item/trash/energybar{ + pixel_x = 2; + pixel_y = 15 + }, +/obj/machinery/button/door{ + pixel_x = 6; + pixel_y = 9; + name = "cargo shutters"; + id = "fuelingcargo" + }, +/obj/machinery/button/door{ + pixel_x = 6; + name = "mechbay shutters"; + id = "ripleyfueling" + }, +/obj/machinery/button/door{ + pixel_x = -6; + pixel_y = 9; + name = "conveyor shutters"; + id = "cargoconveyors" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/refuelingpost/cargo) +"ZN" = ( +/turf/open/floor/engine/hull, +/area/ruin/space/has_grav/refuelingpost/engineering) + +(1,1,1) = {" +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +XT +At +At +At +At +At +At +At +At +At +At +At +"} +(2,1,1) = {" +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +At +At +At +At +"} +(3,1,1) = {" +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +At +At +At +At +"} +(4,1,1) = {" +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +At +At +At +At +"} +(5,1,1) = {" +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +XT +XT +XT +XT +XT +XT +xq +XT +XT +XT +XT +At +At +At +At +At +At +At +At +"} +(6,1,1) = {" +At +At +At +At +At +At +At +At +At +At +At +At +At +XT +At +At +At +At +At +At +At +At +At +At +At +At +At +At +XT +XT +XT +JD +JD +JD +VF +JD +JD +JD +XT +XT +At +At +At +At +At +At +At +"} +(7,1,1) = {" +At +At +At +At +At +At +At +XT +XT +At +At +XT +XT +XT +XT +At +XT +XT +At +At +XT +XT +At +At +At +At +At +At +XT +XT +XT +XT +XT +XT +VF +XT +XT +XT +XT +XT +At +At +At +At +At +At +At +"} +(8,1,1) = {" +At +At +At +At +At +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +XT +XT +XT +XT +XT +XT +XT +VF +XT +XT +XT +XT +XT +At +At +At +At +At +At +At +"} +(9,1,1) = {" +At +At +XT +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +xq +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +JD +JD +mh +JD +bE +XT +XT +XT +XT +At +At +At +At +At +At +"} +(10,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +xq +XT +XT +XT +XT +XT +XT +VF +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +xq +XT +XT +XT +XT +mh +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +"} +(11,1,1) = {" +At +At +XT +XT +XT +XT +XT +XT +XT +JD +JD +mh +JD +JD +XT +XT +XT +XT +Gn +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +mh +XT +XT +XT +XT +VF +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +"} +(12,1,1) = {" +At +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +VF +XT +XT +XT +XT +XT +JD +VF +JD +JD +JD +XT +XT +XT +XT +XT +XT +XT +VF +XT +XT +XT +JD +VF +JD +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +"} +(13,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +JD +VF +JD +XT +XT +XT +XT +XT +VF +XT +XT +XT +XT +XU +is +XU +XU +XU +XT +VF +XT +XT +XT +XT +mh +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +"} +(14,1,1) = {" +At +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +VF +XT +XT +XT +XT +XT +XT +OF +XT +XT +XT +XT +XT +XT +fr +XT +XT +XT +VF +XT +XT +XT +XT +VF +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +"} +(15,1,1) = {" +At +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +OF +XT +XT +bh +hw +hw +GP +jj +hw +hw +hw +uV +zi +XT +fr +XT +XT +XT +OF +XT +XT +XT +XT +OF +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +"} +(16,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +XT +bh +hw +jj +hw +hw +XR +PJ +PJ +fh +Mg +fh +PJ +PJ +dP +PJ +PJ +PJ +PJ +bh +hw +jj +hw +hw +hw +hw +XR +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +"} +(17,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +XT +xP +vV +vV +Yo +Yo +vV +PJ +KF +GL +pA +PC +fV +cv +cg +Ni +YG +NE +PJ +xP +XT +fr +CI +CI +CI +CI +fr +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +"} +(18,1,1) = {" +At +At +XT +XT +XT +XT +wm +XT +XT +xP +vV +So +Dg +lK +sS +PJ +lB +Ec +gm +IY +Ut +PJ +dP +PJ +PJ +PJ +PJ +xP +XT +CI +CI +nK +kK +CI +CI +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +"} +(19,1,1) = {" +At +At +At +XT +XT +XT +VF +XT +bh +XR +vV +yh +tp +ik +vB +PJ +KI +su +lp +Wt +Ie +PJ +dP +ZN +ZN +XT +XT +xP +fr +CI +GE +PO +Pi +TU +CI +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +"} +(20,1,1) = {" +At +XT +XT +XT +JD +XT +VF +XT +xP +vV +vV +vV +aU +TG +dI +PJ +pE +FW +uQ +mk +Zp +PJ +dP +PJ +PJ +PJ +PJ +xP +XT +CR +IJ +en +MG +Zz +CI +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +"} +(21,1,1) = {" +At +At +XT +XT +JD +sO +yW +MY +fA +hd +Wu +tO +yo +Hc +jI +VO +GQ +uv +Px +SQ +Ma +rl +ZK +xG +HB +ff +PJ +xP +fr +CI +dX +Mt +zm +Ci +CI +CI +CI +CI +CI +XT +XT +XT +XT +XT +XT +XT +At +"} +(22,1,1) = {" +At +XT +XT +XT +JD +XT +aK +XT +kD +vV +vV +vV +vV +PJ +PJ +PJ +fj +kU +ix +La +Sw +PJ +Cn +PJ +PJ +PJ +PJ +XK +CI +CI +CI +dh +wc +CI +CI +sf +KH +KB +CI +CI +CI +XT +XT +XT +XT +XT +At +"} +(23,1,1) = {" +At +XT +XT +XT +XT +XT +AD +XT +kD +kD +kD +PJ +qf +PJ +Oa +Ty +AN +Uq +fa +fT +Ki +PJ +RK +yY +yY +yY +yY +Ik +VV +ku +Bo +nt +Pp +Wr +hG +Pp +HC +QR +tq +yi +XT +XT +XT +XT +XT +XT +At +"} +(24,1,1) = {" +At +XT +XT +XT +XT +XT +aK +XT +XT +XT +kD +PJ +EL +Ko +RI +uJ +Cs +jz +sQ +oP +iT +PJ +YT +YT +YT +YT +YT +YT +CI +IF +Yu +nT +Zr +Zr +Zr +nT +rd +tA +aY +yi +XT +XT +XT +XT +XT +XT +At +"} +(25,1,1) = {" +At +XT +XT +XT +XT +XT +AD +XT +XU +XT +kD +PJ +PJ +PJ +GR +GR +eH +TR +tm +mr +iZ +PJ +Em +kq +nR +YT +Km +GN +CI +Ow +nT +nT +nT +QX +nT +nT +nT +tA +aY +yi +XT +XT +XT +XT +XT +XT +XT +"} +(26,1,1) = {" +XT +XT +XT +XT +XT +XT +NJ +XT +XU +XT +kD +kD +cz +cz +cz +cz +cz +cz +kN +MI +kN +kN +mX +Rt +NV +qh +xD +YH +CI +Ey +nT +NI +nT +Jn +nT +Fe +nT +Su +aY +hg +XT +XT +XT +XT +XT +XT +XT +"} +(27,1,1) = {" +XT +XT +XT +XT +XT +XT +im +XT +XU +fr +fr +kD +cz +Tu +iJ +pr +nn +cz +RE +rm +lm +kN +kN +YT +YT +YT +ET +jO +Zi +Ow +nT +kC +Ay +iO +Sn +lc +nT +oD +aY +yi +XT +XT +XT +XT +XT +XT +XT +"} +(28,1,1) = {" +XT +XT +XT +XT +XT +XT +XT +XT +XU +XT +XT +kD +MO +bj +XD +XD +wr +Ym +gr +VW +ns +Dl +kN +uR +yt +cl +SF +bX +yl +Ow +nT +JV +Tr +AS +ot +JF +nT +oD +aY +yi +XT +XT +XT +XT +XT +XT +XT +"} +(29,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +XU +fr +fr +kD +MO +oq +XD +XD +iM +cz +Gf +fW +TP +PD +kN +Pt +xT +cl +WC +bp +CI +Sa +ke +nT +TH +Dd +dC +nT +ke +oD +aY +yi +XT +XT +XT +XT +XT +XT +XT +"} +(30,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +XU +XT +XT +kD +cz +Ka +Xh +Ra +ql +Na +kV +iL +hT +kN +kN +vp +MB +mC +dz +Qb +CI +Sv +yi +ke +nT +xC +Jm +nT +ig +Su +aY +hg +XT +XT +XT +XT +XT +XT +XT +"} +(31,1,1) = {" +At +At +XT +XT +XT +XT +XT +XT +XU +XT +XT +kD +cz +cz +cz +JN +cz +kN +kN +wZ +yQ +kN +kN +YT +YT +jR +Ja +zt +CI +oW +ig +yi +nT +wB +SO +nT +yi +oD +aY +yi +XT +XT +XT +XT +XT +XT +XT +"} +(32,1,1) = {" +At +At +At +At +XT +XT +XT +XT +XU +fr +fr +kD +MO +QT +FO +FY +cz +ML +YI +JM +SB +Lt +wU +it +ms +zL +iv +Tk +QQ +DP +Hb +bZ +nT +VL +NF +nT +ra +RR +aY +yi +XT +XT +XT +XT +XT +XT +XT +"} +(33,1,1) = {" +At +At +At +XT +XT +XT +XT +XT +XU +XT +XT +kD +MO +wO +Xw +hy +cz +WW +gU +qH +KT +vQ +Ou +pH +KE +px +PH +hb +tD +VU +fZ +Bu +le +le +MA +MA +aV +me +YY +yi +XT +XT +XT +XT +XT +XT +XT +"} +(34,1,1) = {" +At +At +At +XT +XT +XT +XT +XT +XU +fr +fr +kD +cz +tn +km +aZ +cz +RY +du +cL +JG +Gb +mM +aW +Gb +xl +Gb +Gb +CI +MX +RG +kQ +Qh +ss +ad +gt +CI +CI +CI +CI +CI +XT +XT +XT +XT +XT +XT +"} +(35,1,1) = {" +At +At +At +XT +XT +XT +XT +XT +XU +XT +XT +Yv +cz +cz +cz +cz +cz +kN +kN +qz +TE +Gb +IV +et +Fg +rX +et +vK +Gq +cb +Gq +CN +UJ +CN +Gq +Rr +Gq +sr +kD +kD +XT +XT +XT +XT +XT +XT +XT +"} +(36,1,1) = {" +At +At +At +At +XT +XT +XT +XT +XU +XT +XT +kD +sO +we +Lg +FG +Rv +qI +TY +SP +fU +Gb +Ya +CE +GU +gB +WH +sV +Gq +ci +fP +Hl +ID +XI +pJ +QS +Gq +sr +kD +XT +XT +XT +XT +XT +XT +XT +XT +"} +(37,1,1) = {" +At +XT +At +XT +XT +XT +XT +XT +XT +XT +XT +kD +sO +we +NH +jv +hh +mI +JK +tj +qV +Gb +xn +IG +Hd +FA +Rx +Qz +Gq +xI +uk +ZM +qJ +YP +KX +QS +Gq +Wm +sO +sO +sO +sO +sO +sO +wl +XT +XT +"} +(38,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +iQ +nk +nk +nk +nk +nk +nk +nk +En +BR +Gb +vr +wz +dA +eq +Ed +lQ +Gq +Ur +pP +LV +QD +qD +Yp +BA +cj +hq +kD +XT +XT +XT +XT +XT +XT +XT +XT +"} +(39,1,1) = {" +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +kD +kD +nk +Dk +Ui +tB +nk +Ig +jS +Kw +Gb +oK +Hi +aI +JU +HV +hU +Gq +vq +bl +aN +Ms +Ud +gx +QP +cj +hq +kD +XT +XT +XT +XT +XT +XT +XT +XT +"} +(40,1,1) = {" +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +kD +nk +Xn +Ui +ev +ES +Wc +XA +vg +Gb +lj +fk +bi +sW +NM +cG +Gq +YX +Vn +bD +iW +Xm +Xm +Aj +cj +hq +kD +XT +XT +XT +XT +XT +XT +XT +XT +"} +(41,1,1) = {" +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +kD +nk +HS +Wg +Gu +Ld +UB +jS +Rb +Gb +iG +LY +Cw +hA +Kz +Td +Gq +Gq +Gq +Bf +xV +ak +Lz +wn +Gq +Wm +sO +sO +sO +Pl +XT +XT +XT +XT +XT +"} +(42,1,1) = {" +At +XT +XT +XT +XT +XT +nk +XT +XT +XT +XT +Cv +oZ +XT +TL +Cv +Cv +nk +yc +Pg +Dw +Gb +Gb +Wb +YJ +zq +aW +Gb +Gq +qJ +Ww +pf +iF +Xm +Xm +mq +Gq +kD +kD +XT +XT +XT +XT +XT +XT +XT +XT +"} +(43,1,1) = {" +At +XT +XT +XT +XT +XT +nk +Cv +XT +XT +XT +XT +XT +HK +aJ +aJ +QU +HJ +nh +LI +wu +nk +fr +fr +gp +ry +fr +fr +Gq +Pv +Ww +pf +Qk +Gs +dL +Gq +Gq +kD +XT +XT +XT +XT +XT +XT +XT +XT +At +"} +(44,1,1) = {" +XT +XT +XT +XT +XT +XT +sm +cD +XT +XT +XT +XT +ka +oT +ka +ka +RO +Ct +io +sw +OE +nk +fr +sO +ji +sO +MW +fr +Gq +FB +Ha +Gq +Gq +dc +Gq +Gq +kD +kD +XT +XT +XT +XT +XT +XT +At +At +At +"} +(45,1,1) = {" +XT +XT +XT +XT +XT +XT +XT +cD +XT +XT +XT +xK +Iu +hI +Ba +Yt +oT +ha +oi +XT +ro +nk +fr +sO +ze +sO +Vz +tw +Gq +Gq +Gq +Gq +VY +VY +VY +VY +kD +XT +XT +XT +XT +XT +XT +XT +At +At +At +"} +(46,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +Hf +oT +YD +vH +tz +ZC +ka +HF +oZ +TL +nk +tw +sO +sO +sO +yS +VY +VY +VY +VY +VY +VY +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +"} +(47,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +Hf +oT +gE +vs +kr +wP +Kq +sd +KL +Kw +nk +kD +yS +yS +yS +yS +XT +DA +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +"} +(48,1,1) = {" +XT +XT +XT +cD +AC +XT +XT +XT +XT +Jt +XT +Hf +oT +jc +yn +Ew +pC +RO +HF +XT +nk +nk +kD +XT +XT +XT +XE +XT +WF +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +"} +(49,1,1) = {" +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +xK +Iu +rK +Fw +qv +ka +ka +Fv +Du +kD +kD +kD +XT +XT +WF +WF +WF +WF +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +At +"} +(50,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +oT +ka +ka +oT +oT +rF +kR +XT +XT +sO +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +At +"} +(51,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +pu +eA +eA +eA +VB +XT +WJ +Dy +XU +XU +XU +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +At +"} +(52,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +Cv +XT +XT +XT +XT +XT +XT +XT +XT +XT +oZ +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +At +At +"} +(53,1,1) = {" +At +XT +XT +XT +XT +XT +cD +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +At +At +At +At +"} +(54,1,1) = {" +At +XT +XT +XT +XT +XT +Cv +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +At +At +At +At +At +At +At +"} +(55,1,1) = {" +At +XT +XT +XT +XT +nk +sm +XT +XT +XT +Jt +XT +XT +XT +XT +XT +XT +XT +XT +vP +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +At +At +At +At +At +At +At +At +At +"} +(56,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +vP +XT +XT +XT +Cv +Cv +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +At +At +At +At +At +At +At +"} +(57,1,1) = {" +At +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +ZI +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +XT +At +At +At +At +At +At +At +At +At +At +At +At +At +"} +(58,1,1) = {" +At +At +At +XT +XT +At +At +XT +XT +XT +At +XT +XT +At +XT +XT +At +XT +XT +At +At +XT +XT +At +At +XT +At +XT +At +XT +XT +XT +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +"} +(59,1,1) = {" +At +At +At +At +At +At +At +At +At +At +At +At +At +At +XT +XT +At +At +At +At +At +At +At +At +At +At +At +At +At +At +XT +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +At +"} diff --git a/_maps/_mod_celadon/RandomRuins/SpaceRuins/vi_deepstorage.dmm b/_maps/_mod_celadon/RandomRuins/SpaceRuins/vi_deepstorage.dmm new file mode 100644 index 000000000000..4413735fa233 --- /dev/null +++ b/_maps/_mod_celadon/RandomRuins/SpaceRuins/vi_deepstorage.dmm @@ -0,0 +1,14824 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ac" = ( +/obj/structure/chair/bench/blue/directional/east, +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"ad" = ( +/turf/open/floor/plating/airless{ + icon_state = "platingdmg2" + }, +/area/ruin/space/deepstorage) +"af" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Director's Quarters" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/security/bedroom) +"an" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/trimline/opaque/ntblue/line, +/obj/item/storage/bag/tray/cafeteria{ + pixel_x = -13; + pixel_y = 15 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"ao" = ( +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/shuttle1) +"ap" = ( +/obj/structure/table/reinforced, +/obj/item/cutting_board{ + pixel_x = 0; + pixel_y = 2 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/canteen) +"as" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + dir = 8; + pixel_x = 3; + pixel_y = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"au" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"ax" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/chair/bench/blue/directional/north, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"aB" = ( +/obj/structure/chair/bench/blue/directional/north, +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"aK" = ( +/obj/item/food/burrito{ + pixel_x = 6; + pixel_y = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"aQ" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"aV" = ( +/obj/structure/filingcabinet/chestdrawer/wheeled, +/obj/machinery/light/small/directional/west, +/obj/machinery/button/door{ + pixel_x = 0; + pixel_y = 22; + name = "lockdown override (WARNING)"; + id = "vigilockdown" + }, +/turf/open/floor/carpet/blue, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"bc" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/security) +"be" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"bf" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Checkpoint" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/lobby) +"bi" = ( +/obj/machinery/defibrillator_mount/loaded{ + pixel_x = 26; + pixel_y = 0 + }, +/obj/structure/table/optable, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/deepstorage/med) +"bk" = ( +/obj/item/rack_parts{ + pixel_x = 6; + pixel_y = -25 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/space/has_grav/deepstorage/security/vault) +"bt" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"bu" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"bv" = ( +/obj/structure/table, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"bx" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/deepstorage/engineering) +"by" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/closet/crate/large, +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"bz" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security) +"bC" = ( +/obj/machinery/power/shuttle/engine/fueled/plasma, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg3" + }, +/area/ruin/space/deepstorage) +"bF" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 5; + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"bI" = ( +/obj/effect/mob_spawn/human/corpse/frontier/space, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"bJ" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 5; + layer = 2.040 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"bL" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/space/deepstorage) +"bT" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"bX" = ( +/obj/item/clothing/gloves/combat, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg3" + }, +/area/ruin/space/deepstorage) +"cd" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/space/shuttle3) +"ce" = ( +/obj/item/stack/tile/plasteel/tech/techmaint{ + pixel_x = -2; + pixel_y = 14 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"ch" = ( +/obj/structure/chair/bench/blue/directional/west, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"ck" = ( +/obj/machinery/door/poddoor/shutters{ + id = "vigilockdown" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/lobby) +"cl" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/shuttle2) +"cn" = ( +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"co" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle1) +"cr" = ( +/obj/structure/chair/bench/blue/directional/east, +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"cB" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"cE" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"cG" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security/office) +"cH" = ( +/obj/structure/lattice, +/obj/item/stack/tile/plasteel/dark, +/turf/open/space/basic, +/area/ruin/space/deepstorage) +"cI" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/has_grav/deepstorage/cargo) +"cM" = ( +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 10 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/engineering) +"cO" = ( +/obj/structure/girder, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/shuttle2) +"cP" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/airlock/public{ + name = "Bathroom" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/bathroom) +"cS" = ( +/obj/machinery/door/poddoor{ + id = "vicargodoor" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "viholo" + }, +/obj/structure/cable, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/cargo) +"cY" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"dd" = ( +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"dg" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/corner, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"dh" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"dl" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "frontiepod3" + }, +/obj/item/stack/rods, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/shuttle3) +"dm" = ( +/obj/machinery/power/terminal, +/obj/structure/cable, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle2) +"dq" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"ds" = ( +/obj/structure/chair/sofa/blue/corpo/corner/directional/east, +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet/nanoweave, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"dv" = ( +/obj/effect/decal/cleanable/glass/plastitanium, +/obj/structure/grille/broken, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"dI" = ( +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"dO" = ( +/obj/structure/table/chem, +/obj/item/storage/firstaid/brute{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/storage/firstaid/fire{ + pixel_x = -12; + pixel_y = 5 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/med) +"dP" = ( +/obj/effect/mob_spawn/human/corpse/frontier/space, +/turf/open/space/basic, +/area/ruin/space/deepstorage) +"dQ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/paper/crumpled/fluff/ruin/space/deepstorage/orders, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"dR" = ( +/obj/item/chair, +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/trimline/opaque/ntblue/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"dS" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"dX" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/camera/autoname, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"ea" = ( +/obj/structure/safe, +/obj/item/spacecash/bundle/c1000, +/obj/item/spacecash/bundle/c1000, +/obj/item/spacecash/bundle/c1000, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/freezer, +/area/ruin/space/has_grav/deepstorage/security/vault) +"ed" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"ee" = ( +/obj/machinery/modular_computer/console/preset/command{ + dir = 8; + icon_state = "computer-left" + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/overwatch) +"ef" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"ei" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/deepstorage/lobby) +"ek" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"eo" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + layer = 2.040 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"ep" = ( +/obj/structure/flippedtable, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/canteen) +"er" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby) +"ev" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/deepstorage) +"ey" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"eB" = ( +/obj/machinery/camera/autoname, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"eC" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"eK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "vigiert1"; + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/security) +"eN" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/item/reagent_containers/hypospray/medipen/rabbit{ + pixel_x = 9; + pixel_y = 5; + list_reagents = null + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/deepstorage/med) +"eV" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"eY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"fd" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"fe" = ( +/obj/machinery/light/floor, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/porta_turret/ruin/nt{ + dir = 4; + faction = list("Deathsquad","turret") + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/lobby) +"fh" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/space{ + wander = 0 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"fl" = ( +/obj/structure/railing/thin{ + dir = 8 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"fm" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 5; + layer = 2.040 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"fn" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/mob_spawn/human/corpse/vigilitas_director, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security/office) +"fr" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"fs" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/has_grav/deepstorage/engineering) +"ft" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + layer = 2.040; + dir = 4 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"fC" = ( +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "vigiturret2" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"fE" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 + }, +/obj/machinery/newscaster/security_unit/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"fF" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Checkpoint" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "vigilockdown"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/lobby) +"fH" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"fK" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 1; + layer = 2.040 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"fQ" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/space/has_grav/deepstorage/security/vault) +"fU" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"fX" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"fY" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/shuttle1) +"gk" = ( +/obj/structure/window/plasma/reinforced/plastitanium/indestructible, +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/deepstorage/security/office) +"gl" = ( +/obj/structure/railing/thin{ + dir = 4 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"gm" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"gn" = ( +/obj/structure/chair/bench/red/directional/west, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/office) +"go" = ( +/turf/open/floor/plating/asteroid/moon, +/area/ruin/space/deepstorage) +"gu" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"gz" = ( +/obj/structure/guncloset, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 5 + }, +/obj/item/gun/energy/sharplite/al607, +/obj/item/gun/energy/e_gun/e_old, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security) +"gI" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 1 + }, +/obj/structure/chair, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"gN" = ( +/obj/structure/chair/bench/blue/directional/west, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"gO" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 6; + layer = 2.040 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"gP" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 1; + pixel_y = 13 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = 5 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"gT" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "frontiepod2" + }, +/turf/open/floor/plasteel/tech/grid/airless, +/area/ruin/space/shuttle2) +"gV" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/deepstorage/bathroom) +"gX" = ( +/obj/structure/girder, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/has_grav/deepstorage/hallway) +"gY" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"ha" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/item/shard/plastitanium{ + pixel_x = -14; + pixel_y = -8 + }, +/obj/item/stack/rods{ + pixel_x = 13; + pixel_y = -8 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"hb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 10 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"hc" = ( +/obj/structure/rack, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"hf" = ( +/obj/machinery/power/rtg, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"hk" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg2" + }, +/area/ruin/space/has_grav/deepstorage/cargo) +"hn" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"ht" = ( +/obj/item/stack/rods/ten, +/obj/structure/lattice, +/turf/open/space/basic, +/area/ruin/space/deepstorage) +"hu" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + layer = 2.040 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"hy" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle1) +"hz" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"hA" = ( +/obj/machinery/power/rtg, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"hB" = ( +/obj/structure/rack, +/obj/item/reagent_containers/food/drinks/waterbottle/large{ + pixel_x = 7; + pixel_y = 0 + }, +/obj/item/reagent_containers/food/drinks/waterbottle/large{ + pixel_x = -4; + pixel_y = 0 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"hC" = ( +/obj/machinery/light/floor, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/porta_turret/ruin/nt/heavy{ + dir = 8; + faction = list("Deathsquad","turret") + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"hG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/arrow_cw{ + dir = 4 + }, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"hH" = ( +/obj/effect/mob_spawn/human/corpse/frontier/space, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"hL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/ntblue/arrow_cw{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"hM" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"hP" = ( +/obj/machinery/camera/autoname, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"hR" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 8; + layer = 2.040 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"hU" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"ic" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway) +"id" = ( +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"if" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"ig" = ( +/obj/structure/chair/comfy/blue/corpo/directional/east, +/obj/machinery/light/directional/south, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security/bedroom) +"ih" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"ij" = ( +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"ik" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"il" = ( +/obj/structure/guncloset, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security) +"in" = ( +/obj/structure/crate_shelf/built{ + capacity = 2 + }, +/obj/structure/closet/crate/freezer, +/obj/effect/mob_spawn/human/corpse/assistant/husked, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security/vault) +"io" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security) +"is" = ( +/obj/structure/safe{ + name = "'EMERGENCY' safe" + }, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/melee/energy/sword/saber/blue, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/obj/item/clothing/mask/gas/vigilitas, +/turf/open/floor/plasteel/freezer, +/area/ruin/space/has_grav/deepstorage/security/vault) +"it" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/deepstorage/med) +"iu" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/effect/mob_spawn/human/corpse/vigilitas_private, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/button/door{ + pixel_x = -20; + pixel_y = 0; + id = "vigiturret1"; + dir = 4; + name = "turret release" + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby) +"iv" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"ix" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged{ + wander = 0 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"iB" = ( +/obj/machinery/photocopier, +/obj/machinery/button/door{ + pixel_x = 21; + pixel_y = 8; + id = "vigiert1"; + dir = 8; + name = "emergency gear access" + }, +/obj/machinery/button/door{ + pixel_x = 21; + pixel_y = -5; + id = "vigiturret2"; + dir = 8; + name = "turret release" + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security) +"iD" = ( +/obj/effect/decal/cleanable/blood/gibs/torso, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/deepstorage) +"iE" = ( +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 6 + }, +/obj/structure/closet/crate/trashcart, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"iH" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg2" + }, +/area/ruin/space/has_grav/deepstorage/cargo) +"iI" = ( +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/shuttle3) +"iJ" = ( +/obj/item/stack/ore/salvage/scraptitanium/five, +/turf/open/space/basic, +/area/ruin/space/deepstorage) +"iL" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"iM" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/engineering) +"iN" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = 9; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = -1; + pixel_y = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby) +"iQ" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/has_grav/deepstorage/security/office) +"iR" = ( +/obj/machinery/computer/security{ + dir = 8; + icon_state = "computer-right" + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/overwatch) +"iV" = ( +/obj/item/stack/ore/salvage/scrapmetal/ten{ + pixel_x = 8; + pixel_y = 8 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"iY" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"jd" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/structure/filingcabinet/double/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/overwatch) +"jh" = ( +/obj/effect/mob_spawn/human/corpse/frontier/space, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "frontiepod3" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/shuttle3) +"jn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/moon, +/area/ruin/space/deepstorage) +"jr" = ( +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"ju" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security) +"jv" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/structure/closet/crate/bin, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/overwatch) +"jw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"jx" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"jC" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"jG" = ( +/obj/structure/table/reinforced, +/obj/item/storage/bag/tray/cafeteria{ + pixel_x = 0; + pixel_y = -3 + }, +/obj/item/storage/bag/tray/cafeteria, +/obj/item/storage/bag/tray/cafeteria{ + pixel_x = 0; + pixel_y = 3 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/canteen) +"jH" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + layer = 2.040; + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"jL" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"jM" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 1; + layer = 2.040 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"jP" = ( +/turf/open/floor/plating/airless{ + icon_state = "platingdmg3" + }, +/area/ruin/space/deepstorage) +"jU" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 6; + layer = 2.040 + }, +/obj/item/stack/sheet/metal, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"jV" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + layer = 2.040; + dir = 4 + }, +/obj/machinery/light/directional/east, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"jW" = ( +/obj/effect/turf_decal/siding/white, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby) +"jX" = ( +/obj/item/radio/intercom/directional/south, +/obj/machinery/light/small/directional/west, +/obj/item/storage/backpack/duffelbag/sec{ + pixel_x = -5; + pixel_y = 11 + }, +/turf/open/floor/carpet/nanoweave, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"jZ" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/closet/crate/bin, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"ka" = ( +/turf/open/floor/carpet/blue, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"kc" = ( +/obj/structure/table_frame, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"kd" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"kj" = ( +/obj/structure/table/chem, +/obj/item/reagent_containers/hypospray/medipen/atropine{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/storage/firstaid/medical{ + pixel_x = -11; + pixel_y = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/med) +"ku" = ( +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg2" + }, +/area/ruin/space/deepstorage) +"kA" = ( +/obj/structure/filingcabinet/chestdrawer{ + pixel_x = 0; + pixel_y = 18; + density = 0 + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security/office) +"kF" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/deepstorage/canteen) +"kG" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/trimline/opaque/ntblue/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"kI" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/lobby) +"kK" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/bathroom) +"kL" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/has_grav/deepstorage/canteen) +"kX" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"la" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/moon, +/area/ruin/space/deepstorage) +"ld" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 6; + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"le" = ( +/obj/structure/sign/poster/rilena/tali{ + pixel_x = 29; + pixel_y = -1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"lf" = ( +/obj/item/radio/intercom/directional/south, +/turf/open/floor/carpet/nanoweave, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"li" = ( +/obj/structure/crate_shelf, +/obj/structure/closet/crate, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"ll" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/obj/item/paper/crumpled/fluff/ruin/space/deepstorage/diary{ + pixel_x = -9; + pixel_y = 14 + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security/office) +"lm" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/machinery/atmospherics/components/trinary/mixer/airmix/inverse{ + piping_layer = 4 + }, +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/engineering) +"ls" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "frontiepod2" + }, +/turf/open/floor/plasteel/tech/grid/airless, +/area/ruin/space/shuttle2) +"lu" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"lv" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/canteen) +"lz" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 4 + }, +/obj/machinery/newscaster/security_unit/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"lD" = ( +/obj/structure/catwalk/over, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"lR" = ( +/obj/structure/chair/sofa/blue/corpo/directional/south, +/turf/open/floor/carpet/nanoweave, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"lS" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/machinery/recharger{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/reagent_containers/glass/rag{ + pixel_x = 0; + pixel_y = 2 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"lU" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle2) +"lW" = ( +/obj/structure/chair/comfy/shuttle, +/obj/machinery/light/directional/north, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/shuttle3) +"ma" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"mb" = ( +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"mi" = ( +/obj/effect/turf_decal/siding/white, +/obj/machinery/button/door{ + pixel_x = 0; + pixel_y = 22; + name = "lockdown override (WARNING)"; + id = "vigilockdown" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby) +"mo" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/advanced_airlock_controller/directional/west, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/engineering) +"mu" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"mB" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"mD" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 1; + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"mJ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway) +"mM" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"mO" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"mQ" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"mS" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"mX" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/canteen) +"mZ" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/deepstorage) +"nc" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/bedroom) +"nf" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"ng" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 10; + layer = 2.040 + }, +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"nn" = ( +/turf/open/space/basic, +/area/ruin/space) +"no" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"nw" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby) +"nx" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 6; + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"ny" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"nz" = ( +/obj/structure/chair/bench/blue/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"nG" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/bathroom) +"nI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/stock_parts/cell/gun, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"nK" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle1) +"nN" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/hallway) +"nR" = ( +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_x = 0; + pixel_y = -22; + id = "Vishitter"; + normaldoorcontrol = 1; + specialfunctions = 4; + name = "privacy lock" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/bathroom) +"nT" = ( +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security/office) +"nX" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"nY" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"oj" = ( +/obj/item/clothing/suit/space/hardsuit/security/hos, +/obj/item/clothing/mask/gas/vigilitas, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/tank/jetpack/oxygen/security, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/security/bedroom) +"oo" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"os" = ( +/turf/closed/indestructible/reinforced, +/area/ruin/space/has_grav/deepstorage/lobby) +"ov" = ( +/obj/machinery/shower{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/deepstorage/bathroom) +"oy" = ( +/obj/item/reagent_containers/glass/bottle/romerol{ + desc = "A small bottle with the words 'CONTAGIOUS SAMPLE' written on it. Probably not the best idea to drink it."; + name = "contagion bottle" + }, +/obj/structure/safe/floor, +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/security/vault) +"oF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/gun/energy/laser/wasp, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"oP" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + dir = 8; + pixel_x = -1; + pixel_y = -11 + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security) +"oT" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw{ + dir = 9 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"oU" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 1; + layer = 2.040 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"pd" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"pf" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Hallway" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/hallway) +"ph" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"pi" = ( +/obj/machinery/power/rtg, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"pn" = ( +/obj/structure/lattice, +/obj/item/stack/cable_coil/cut/red, +/turf/open/space/basic, +/area/ruin/space/deepstorage) +"po" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 1; + layer = 2.040 + }, +/obj/structure/table, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"ps" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"pt" = ( +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/siding/yellow, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"pw" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 8 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"px" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"pA" = ( +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/deepstorage) +"pH" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/security{ + name = "Overwatch" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/overwatch) +"pJ" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/bathroom) +"pM" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle2) +"pN" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"pO" = ( +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"pP" = ( +/obj/structure/catwalk/over, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"pQ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/trooper/rifle/space{ + wander = 0 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"pR" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/chair/bench/red/directional/north, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"pU" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"pZ" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"qa" = ( +/obj/structure/poddoor_assembly, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg3" + }, +/area/ruin/space/has_grav/deepstorage/cargo) +"qj" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/carpet/blue, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"qk" = ( +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"ql" = ( +/obj/item/clothing/under/nanotrasen/security/director, +/obj/item/clothing/suit/armor/nanotrasen/sec_director, +/obj/item/clothing/shoes/jackboots, +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_state = "hos"; + name = "Security Director's Locker" + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/bedroom) +"qm" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/overwatch) +"qo" = ( +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"qw" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/deepstorage/cargo) +"qB" = ( +/obj/structure/chair/bench/blue/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"qC" = ( +/obj/item/stack/tile/plasteel/tech/techmaint{ + pixel_x = 10; + pixel_y = -10 + }, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"qF" = ( +/obj/structure/table/chem, +/obj/item/storage/firstaid/fire{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/item/storage/firstaid/brute{ + pixel_x = 2; + pixel_y = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/med) +"qI" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"qJ" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/arrow_cw{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"qQ" = ( +/obj/item/chair, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"qR" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/power/port_gen/pacman/mrs, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"qX" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "frontiepod1" + }, +/turf/open/floor/plasteel/tech/grid/airless, +/area/ruin/space/shuttle1) +"ra" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"rb" = ( +/obj/machinery/door/poddoor{ + id = "vicargodoor" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "viholo" + }, +/obj/structure/cable, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/cargo) +"re" = ( +/turf/closed/indestructible/titanium/nodiagnonal, +/area/ruin/space/has_grav/deepstorage/security/office) +"rf" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ruin/space/shuttle3) +"rl" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"rp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/turf_decal/siding/yellow, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"rt" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"ru" = ( +/obj/machinery/camera/autoname, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"rw" = ( +/obj/structure/catwalk/over, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"rB" = ( +/obj/item/clothing/shoes/jackboots, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg2" + }, +/area/ruin/space/deepstorage) +"rI" = ( +/obj/machinery/power/terminal, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"rJ" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway) +"rK" = ( +/obj/machinery/porta_turret/ruin/nt{ + dir = 1; + faction = list("Deathsquad","turret") + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"rL" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/deepstorage) +"rS" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"rW" = ( +/obj/item/gun/energy/e_gun/e_old/hos{ + pixel_y = 2; + pixel_x = 17; + spawn_no_ammo = 1 + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security/office) +"rX" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"sf" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "frontiepod3" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/shuttle3) +"si" = ( +/obj/structure/table/reinforced, +/obj/item/paper/crumpled/fluff/ruin/space/deepstorage/orders{ + pixel_x = 3; + pixel_y = 4 + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security) +"sk" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"sl" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"su" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/deepstorage/security/vault) +"sz" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"sC" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/overwatch) +"sL" = ( +/turf/closed/mineral, +/area/ruin/space/deepstorage) +"sN" = ( +/obj/structure/crate_shelf/built{ + capacity = 2 + }, +/obj/structure/closet/crate, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/obj/machinery/light/small/directional/west, +/obj/item/storage/backpack/satchel/sec, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"sP" = ( +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"sW" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"ta" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"tg" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + layer = 2.040 + }, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/laser/space{ + wander = 0 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"ty" = ( +/obj/structure/table/reinforced, +/obj/item/table_bell, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security) +"tE" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "frontiepod1" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/grid/airless, +/area/ruin/space/shuttle1) +"tH" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle1) +"tI" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/lobby) +"tJ" = ( +/obj/effect/mob_spawn/human/corpse/frontier/space{ + burn_damage = 125 + }, +/turf/open/space/basic, +/area/ruin/space/has_grav/deepstorage/security/office) +"tK" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 4; + layer = 2.040 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"tL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"tM" = ( +/obj/structure/rack, +/obj/item/newspaper{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/newspaper{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/item/newspaper{ + pixel_x = 7; + pixel_y = -1 + }, +/obj/item/newspaper{ + pixel_x = -8; + pixel_y = -1 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/space/has_grav/deepstorage/bathroom) +"tO" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"tQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/table_frame, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"tW" = ( +/obj/structure/chair/bench/blue/directional/west, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"tY" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"ub" = ( +/obj/machinery/camera/autoname{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 4; + layer = 2.040 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"ud" = ( +/obj/structure/chair/bench/red/directional/west, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/office) +"ue" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle2) +"uh" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/effect/turf_decal/siding/yellow, +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/clothing/suit/space/hardsuit/engine, +/obj/item/clothing/mask/gas/atmos, +/obj/item/tank/internals/oxygen/yellow, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"uj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/stock_parts/cell/gun/empty, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"ul" = ( +/obj/item/chair, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"us" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security) +"uu" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 8; + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"ux" = ( +/turf/closed/indestructible/titanium/nodiagnonal, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"uy" = ( +/obj/structure/sink/kitchen{ + dir = 8; + pixel_x = 2; + pixel_y = 0 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/canteen) +"uE" = ( +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"uF" = ( +/obj/structure/railing/thin{ + dir = 10 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"uG" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"uH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"uK" = ( +/obj/structure/catwalk/over, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"uN" = ( +/obj/machinery/door/airlock/public{ + name = "Canteen" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"uO" = ( +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "vigiturret1" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/lobby) +"uP" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Canteen" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"uQ" = ( +/obj/structure/lattice, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/deepstorage) +"uR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/moon, +/area/ruin/space/deepstorage) +"uT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/arrow_cw{ + dir = 8 + }, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"uU" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"uV" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"uW" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/item/ammo_casing/spent/slug/buck, +/turf/open/floor/plating, +/area/ruin/space/shuttle3) +"uX" = ( +/obj/item/stack/tile/plasteel{ + pixel_x = -7; + pixel_y = 12 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"vb" = ( +/obj/structure/girder, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"vc" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"ve" = ( +/obj/machinery/door/airlock/security/glass{ + dir = 4; + name = "Armory" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/security) +"vj" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"vk" = ( +/obj/structure/table/glass, +/obj/item/storage/cans/sixbeer{ + pixel_x = -4; + pixel_y = 4 + }, +/turf/open/floor/carpet/nanoweave, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"vm" = ( +/obj/structure/rack, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security/vault) +"vp" = ( +/obj/item/chair, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"vr" = ( +/obj/item/ammo_casing/spent/slug, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg3" + }, +/area/ruin/space/has_grav/deepstorage/hallway) +"vu" = ( +/obj/structure/rack, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"vw" = ( +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/has_grav/deepstorage/hallway) +"vE" = ( +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security) +"vL" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"vP" = ( +/obj/machinery/shower{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/deepstorage/bathroom) +"vR" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"vS" = ( +/obj/structure/flippedtable, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/canteen) +"vU" = ( +/turf/closed/indestructible/titanium/nodiagnonal, +/area/ruin/space/has_grav/deepstorage/security/bedroom) +"vV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/engineering) +"vY" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"wc" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"we" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/closed/indestructible/titanium/nodiagnonal, +/area/ruin/space/has_grav/deepstorage/security/office) +"wf" = ( +/obj/effect/turf_decal/trimline/opaque/vired/corner, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"wi" = ( +/obj/item/stack/cable_coil/cut/red, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/deepstorage) +"wk" = ( +/obj/structure/catwalk/over, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"wl" = ( +/obj/item/stack/rods/ten, +/turf/open/floor/plating/asteroid/moon, +/area/ruin/space/deepstorage) +"wp" = ( +/obj/structure/flippedtable{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"wq" = ( +/obj/machinery/computer/helm{ + dir = 4 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_x = 0; + pixel_y = -20; + id = "frontiepod1" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/shuttle1) +"wr" = ( +/obj/item/stack/cable_coil/cut/red, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg3" + }, +/area/ruin/space/deepstorage) +"wx" = ( +/obj/effect/decal/cleanable/glass/plastitanium, +/obj/item/shard/plastitanium{ + pixel_x = -16; + pixel_y = 5 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"wy" = ( +/turf/closed/indestructible/reinforced, +/area/ruin/space/has_grav/deepstorage/security/office) +"wC" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/hallway) +"wE" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"wG" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"wH" = ( +/obj/machinery/shower{ + pixel_x = 0; + pixel_y = 15 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/deepstorage/bathroom) +"wK" = ( +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/closet/crate/freezer{ + anchored = 1 + }, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"wM" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/deepstorage/hallway) +"wS" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"wX" = ( +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"xc" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"xd" = ( +/obj/machinery/newscaster/directional/east, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"xe" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 4; + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"xf" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"xh" = ( +/obj/item/stack/tile/plasteel/dark, +/turf/open/space/basic, +/area/ruin/space/deepstorage) +"xj" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/canteen) +"xk" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"xn" = ( +/obj/effect/turf_decal/trimline/opaque/vired/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"xo" = ( +/obj/structure/catwalk/over, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"xp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"xB" = ( +/turf/closed/indestructible/titanium/nodiagnonal, +/area/ruin/space/has_grav/deepstorage/security/vault) +"xD" = ( +/obj/item/ammo_casing/spent/slug, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/has_grav/deepstorage/hallway) +"xG" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 6; + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"xH" = ( +/obj/structure/poddoor_assembly, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/has_grav/deepstorage/cargo) +"xL" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"xN" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 4; + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"xP" = ( +/obj/machinery/camera/autoname{ + dir = 9 + }, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"xQ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/space/has_grav/deepstorage/security/vault) +"xV" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"xW" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/office) +"xX" = ( +/obj/structure/crate_shelf, +/obj/structure/closet/crate/freezer/surplus_limbs, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"xZ" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"yd" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/overwatch) +"yi" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/power/rtg, +/turf/open/floor/plating/airless, +/area/ruin/space/deepstorage) +"yp" = ( +/obj/structure/chair/office, +/turf/open/floor/carpet/blue, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"yv" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"yz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"yB" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -20 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"yC" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"yE" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/shuttle3) +"yF" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating, +/area/ruin/space/shuttle3) +"yG" = ( +/obj/structure/sink/kitchen{ + dir = 1 + }, +/obj/structure/mirror{ + pixel_x = 0; + pixel_y = -26 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/bathroom) +"yI" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/item/ammo_casing/spent/slug/buck, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"yJ" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 6 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"yN" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"yP" = ( +/obj/machinery/modular_computer/console/preset/engineering{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"yQ" = ( +/obj/structure/railing/thin{ + dir = 6 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"yS" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/trimline/opaque/ntblue/line, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"yV" = ( +/obj/structure/chair/comfy/shuttle, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/shuttle1) +"yW" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"yY" = ( +/obj/machinery/door/airlock/public{ + name = "Dormitory"; + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"zb" = ( +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + layer = 2.040 + }, +/obj/item/radio/intercom/directional/south, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"zc" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "frontiepod3" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/shuttle3) +"zd" = ( +/obj/structure/closet/crate, +/obj/item/clothing/under/nanotrasen/security, +/obj/item/clothing/under/nanotrasen/security, +/obj/item/clothing/head/nanotrasen/cap/security, +/obj/item/clothing/head/nanotrasen/cap/security, +/obj/effect/mapping_helpers/crate_shelve, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"zk" = ( +/obj/machinery/computer/helm, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -21; + pixel_y = 0; + id = "frontiepod2" + }, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/shuttle2) +"zn" = ( +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"zu" = ( +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security/bedroom) +"zw" = ( +/obj/machinery/porta_turret/ruin/nt{ + dir = 4; + faction = list("Deathsquad","turret") + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"zx" = ( +/obj/structure/railing/thin, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"zC" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/shuttle1) +"zG" = ( +/obj/item/ammo_casing/spent/slug, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/item/wallframe/airalarm{ + pixel_x = 10; + pixel_y = -27 + }, +/obj/item/electronics/airalarm{ + pixel_x = 13; + pixel_y = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/med) +"zN" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby) +"zW" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"zY" = ( +/obj/structure/crate_shelf/built{ + capacity = 2 + }, +/obj/structure/closet/crate, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/obj/machinery/light/small/directional/north, +/obj/item/storage/backpack/satchel/sec, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"zZ" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ + dir = 10 + }, +/obj/effect/mob_spawn/human/corpse/frontier/space, +/obj/effect/decal/cleanable/glass/plastitanium, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/engineering) +"Ag" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"An" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"As" = ( +/obj/machinery/light/directional/west, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/power/terminal, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"At" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle1) +"Av" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/security) +"Aw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"AA" = ( +/turf/closed/wall, +/area/ruin/space/shuttle3) +"AC" = ( +/obj/structure/guncloset, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security) +"AH" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + layer = 2.040 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"AI" = ( +/obj/structure/railing/thin{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"AJ" = ( +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/item/stack/rods{ + pixel_x = -7; + pixel_y = 4 + }, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"AN" = ( +/obj/machinery/porta_turret/ruin/nt/light{ + dir = 8; + faction = list("Deathsquad","turret") + }, +/obj/machinery/light/floor, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/deepstorage) +"AP" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"AQ" = ( +/obj/effect/decal/cleanable/glass/plastitanium, +/obj/item/shard/plastitanium, +/obj/structure/grille/broken, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"AS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/reagent_dispensers/foamtank, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/engineering) +"AT" = ( +/obj/structure/closet/crate/internals, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = -5; + pixel_y = 0 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 7; + pixel_y = 0 + }, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/jetpack/oxygen, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"AZ" = ( +/obj/item/ammo_casing/spent/slug, +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway) +"Ba" = ( +/turf/closed/indestructible/reinforced, +/area/ruin/space/has_grav/deepstorage/security/vault) +"Bf" = ( +/obj/structure/crate_shelf, +/obj/structure/closet/crate/freezer/surplus_limbs/organs, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"Bg" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 1; + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"Bj" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway) +"Bk" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"Bo" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"Bq" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Bv" = ( +/obj/machinery/light/floor, +/obj/structure/railing/thin, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"Bx" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "gibbl2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"By" = ( +/obj/structure/frame/machine, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg3" + }, +/area/ruin/space/deepstorage) +"BA" = ( +/obj/item/gun/energy/e_gun/e11/empty_cell, +/turf/open/space/basic, +/area/ruin/space/has_grav/deepstorage/security/office) +"BG" = ( +/obj/structure/table/reinforced, +/obj/item/wallframe/intercom/table{ + pixel_x = 0; + pixel_y = 0 + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security/office) +"BI" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 4; + layer = 2.040 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"BM" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"BN" = ( +/obj/effect/turf_decal/borderfloorblack/corner, +/obj/effect/turf_decal/corner/transparent/ntblue/bordercorner{ + layer = 2.040 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/space/neutered{ + desc = "A horrifically jittery mass of plasteel and flesh. Its motions are jumpy, and faint giggling can be heard through it's faceless visor."; + retreat_distance = 0; + minimum_distance = 0; + health = 200; + maxHealth = 200; + dodge_prob = 55; + wander = 0 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"BO" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 4; + layer = 2.040 + }, +/obj/effect/mob_spawn/human/corpse/vigilitas_private, +/obj/effect/decal/cleanable/blood, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"BT" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + layer = 2.040 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"BU" = ( +/obj/structure/chair/comfy/shuttle, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/shuttle3) +"BX" = ( +/obj/machinery/camera/autoname{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"BY" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/shuttle2) +"Ck" = ( +/obj/item/stack/ore/salvage/scrapmetal/ten, +/turf/open/space/basic, +/area/ruin/space/deepstorage) +"Cn" = ( +/obj/structure/table/glass, +/obj/item/toy/cards/deck/kotahi{ + pixel_x = -1; + pixel_y = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"Cp" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"Cv" = ( +/obj/effect/decal/cleanable/blood/gibs/torso, +/obj/structure/frame/computer{ + dir = 8 + }, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/deepstorage) +"Cw" = ( +/obj/structure/flippedtable{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"Cy" = ( +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/shuttle3) +"CB" = ( +/obj/item/stack/tile/plasteel/dark, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/deepstorage) +"CJ" = ( +/obj/structure/girder, +/turf/open/space/basic, +/area/ruin/space/deepstorage) +"CM" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/arrow_cw{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "6-9" + }, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"CP" = ( +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_x = -29; + pixel_y = 1 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/bathroom) +"CQ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 1 + }, +/obj/structure/chair, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"CT" = ( +/obj/effect/mob_spawn/human/corpse/vigilitas_private, +/turf/open/space/basic, +/area/ruin/space/deepstorage) +"CW" = ( +/obj/structure/table/glass, +/obj/item/toy/cards/deck{ + pixel_x = 5; + pixel_y = 11 + }, +/obj/item/toy/cards/deck/kotahi{ + pixel_x = -5; + pixel_y = 4 + }, +/turf/open/floor/carpet/nanoweave, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"Dg" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/bathroom) +"Dh" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Dn" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/shard{ + pixel_x = -11; + pixel_y = 13 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow, +/obj/structure/rack, +/obj/item/clothing/gloves/color/yellow{ + pixel_x = 0; + pixel_y = 9 + }, +/obj/item/clothing/gloves/color/yellow{ + pixel_x = 0; + pixel_y = 4 + }, +/obj/item/clothing/gloves/color/yellow{ + pixel_x = 0; + pixel_y = -1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"Dp" = ( +/turf/open/floor/plating/airless, +/area/ruin/space/deepstorage) +"Dv" = ( +/obj/structure/rack, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/item/newspaper, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby) +"DC" = ( +/obj/structure/lattice, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"DH" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "gibbl2" + }, +/obj/machinery/light_switch{ + pixel_x = -11; + pixel_y = 22 + }, +/obj/structure/noticeboard{ + pixel_x = 8; + pixel_y = 24 + }, +/obj/item/paper/crumpled/fluff/ruin/space/deepstorage/orders{ + pixel_x = 9; + pixel_y = 21 + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/overwatch) +"DO" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"DQ" = ( +/obj/structure/table/chem, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/sink/chem, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/med) +"Ea" = ( +/obj/structure/toilet{ + dir = 8; + pixel_x = 4; + pixel_y = 2 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/bathroom) +"Eh" = ( +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/shuttle2) +"Ei" = ( +/obj/structure/crate_shelf/built{ + capacity = 2 + }, +/obj/structure/closet/crate/freezer, +/obj/effect/mob_spawn/human/corpse/damaged/whitesands, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security/vault) +"Em" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 9; + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"En" = ( +/obj/structure/chair/office/dark, +/obj/structure/noticeboard{ + pixel_x = 0; + pixel_y = 26 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"Eq" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"Er" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Ex" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/machinery/button/door{ + pixel_x = 0; + pixel_y = 22; + id = "vicargodoor"; + name = "cargo blasts" + }, +/obj/machinery/button/shieldwallgen{ + pixel_x = 11; + pixel_y = 20; + id = "viholo" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/stack/tile/plasteel{ + pixel_x = -11; + pixel_y = 2 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"Ez" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/trooper/rifle/space{ + wander = 0 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"EC" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/deepstorage/canteen) +"EF" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"EG" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"EH" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/ruin/space/deepstorage) +"EL" = ( +/obj/machinery/porta_turret/ruin/nt/light/sniper{ + id = "fuelingpost"; + faction = list("Deathsquad","turret") + }, +/obj/machinery/light/floor, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plating/airless, +/area/ruin/space/deepstorage) +"EO" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 5; + layer = 2.040 + }, +/obj/structure/chair, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"EQ" = ( +/obj/machinery/vending/cola/blue, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"ES" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"EV" = ( +/obj/machinery/porta_turret/ruin/nt/light{ + faction = list("Deathsquad","turret") + }, +/obj/machinery/light/floor, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/cable, +/turf/open/floor/plating/airless, +/area/ruin/space/deepstorage) +"Fi" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ + dir = 1; + piping_layer = 4 + }, +/obj/effect/turf_decal/siding/yellow, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/engineering) +"Fu" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"Fw" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/bordercorner{ + layer = 2.040; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"Fx" = ( +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/engineering) +"FA" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/space/has_grav/deepstorage/security/vault) +"FB" = ( +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"FI" = ( +/obj/structure/grille/broken, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "vigiturret1" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/lobby) +"FK" = ( +/obj/item/stack/cable_coil/cut/red, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg2" + }, +/area/ruin/space/deepstorage) +"FO" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"FP" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"FQ" = ( +/turf/closed/wall, +/area/ruin/space/shuttle1) +"FZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/pen{ + pixel_x = -16; + pixel_y = 6 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"Gb" = ( +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"Gc" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 6; + layer = 2.040 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"Gf" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/overwatch) +"Gh" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"Gi" = ( +/obj/machinery/atmospherics/components/unary/shuttle/heater, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg3" + }, +/area/ruin/space/deepstorage) +"Gq" = ( +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Gs" = ( +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"Gt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"Gu" = ( +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"Gv" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw{ + dir = 10 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"Gx" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"Gy" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security) +"Gz" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/pounder/space, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/shuttle1) +"GA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/fluff/paper/stack{ + dir = 6; + pixel_y = 6; + pixel_x = 7 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"GC" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/obj/structure/chair/bench/red/directional/north, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"GH" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east, +/obj/item/chair, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"GN" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"GO" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle1) +"GU" = ( +/obj/machinery/door/airlock/public{ + name = "Canteen" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"Hf" = ( +/obj/effect/decal/cleanable/glass/plastitanium, +/obj/item/shard/plastitanium, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"Hg" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"Hh" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/bathroom) +"Hi" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on/layer2{ + dir = 1 + }, +/turf/open/floor/engine/air, +/area/ruin/space/has_grav/deepstorage/engineering) +"Hn" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"Ho" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"Hq" = ( +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/lobby) +"Hu" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/freezer{ + name = "Cold Storage" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/security/office) +"Hw" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/machinery/smartfridge/bloodbank/preloaded, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/med) +"Hx" = ( +/obj/effect/mob_spawn/human/corpse/frontier/space, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"Hy" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/vending/cigarette, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby) +"HA" = ( +/obj/structure/chair/sofa/blue/corpo/right/directional/east, +/obj/structure/sign/nanotrasen/vigilitas{ + pixel_x = -30; + pixel_y = 0 + }, +/turf/open/floor/carpet/nanoweave, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"HD" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"HF" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"HG" = ( +/turf/closed/indestructible/titanium/nodiagnonal, +/area/ruin/space/has_grav/deepstorage/lobby) +"HH" = ( +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/structure/closet/crate/bin, +/obj/item/reagent_containers/food/drinks/waterbottle/large/empty, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"HK" = ( +/obj/item/reagent_containers/hypospray/medipen/atropine{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + pixel_x = 0; + pixel_y = 0 + }, +/obj/item/ammo_box/magazine/wt550m9{ + pixel_x = -16; + pixel_y = -5 + }, +/obj/item/gun/ballistic/automatic/smg/resolution/no_mag{ + pixel_x = 3; + pixel_y = -15 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"HO" = ( +/obj/item/stack/ore/salvage/scrapmetal/ten, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ruin/space/has_grav/deepstorage/engineering) +"HQ" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"HR" = ( +/obj/structure/flippedtable{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"HT" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/cargo) +"HW" = ( +/obj/item/storage/bag/tray/cafeteria{ + pixel_x = 14; + pixel_y = -1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"HX" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Director's Office" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"HY" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"Ia" = ( +/obj/structure/rack, +/obj/item/reagent_containers/food/drinks/waterbottle/large{ + pixel_x = 6; + pixel_y = 0 + }, +/obj/item/reagent_containers/food/drinks/waterbottle/large{ + pixel_x = -6; + pixel_y = 0 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"If" = ( +/obj/structure/grille, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"Ih" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"Il" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Director's Office" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"Im" = ( +/obj/structure/chair/sofa/blue/corpo/left, +/turf/open/floor/carpet/nanoweave, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"Ir" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/deepstorage/overwatch) +"Iz" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"IE" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 8; + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"IH" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/item/rack_parts{ + pixel_x = -11; + pixel_y = -5 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"IL" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway) +"IO" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"IR" = ( +/obj/machinery/porta_turret/ruin/nt/light/sniper{ + faction = list("Deathsquad","turret") + }, +/obj/machinery/light/floor, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"IU" = ( +/obj/item/stack/rods/ten, +/turf/open/space/basic, +/area/ruin/space/deepstorage) +"IW" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"IY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/frame/computer{ + dir = 8 + }, +/obj/effect/decal/cleanable/glass, +/obj/item/shard, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"Ja" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Je" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway) +"Jh" = ( +/obj/structure/chair/comfy/shuttle, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/shuttle3) +"Ji" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 8 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Jj" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"Jl" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/med) +"Jn" = ( +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"JB" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/structure/noticeboard{ + pixel_x = 0; + pixel_y = 26 + }, +/obj/item/paper/crumpled/fluff/ruin/space/deepstorage/orders{ + pixel_x = 3; + pixel_y = 25 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"JJ" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/space, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"JK" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/vired/bordercorner{ + layer = 2.04; + dir = 1 + }, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/trooper/smg, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"JL" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"JQ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle2) +"JR" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 0; + pixel_y = 5 + }, +/obj/item/pen{ + pixel_x = 0; + pixel_y = 5 + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security) +"JW" = ( +/obj/structure/sign/poster/contraband/eoehoma{ + pixel_x = 31; + pixel_y = 0 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"JX" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/bordercorner{ + layer = 2.040; + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor5" + }, +/obj/item/ammo_box/magazine/wt550m9{ + pixel_x = 4; + pixel_y = -4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"JZ" = ( +/obj/item/trash/chips{ + pixel_x = 14; + pixel_y = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"Kb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "vigiert1"; + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/security) +"Kd" = ( +/obj/effect/decal/cleanable/glass/plastitanium, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"Kh" = ( +/obj/structure/closet/secure_closet/armorycage{ + req_access = null + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 4 + }, +/obj/item/storage/box/ammo/c46x30mm, +/obj/item/stock_parts/cell/gun/sharplite/plus{ + pixel_y = 9; + pixel_x = 7 + }, +/obj/item/stock_parts/cell/gun/sharplite/plus{ + pixel_y = 3; + pixel_x = 7 + }, +/obj/item/stock_parts/cell/gun{ + pixel_y = 10; + pixel_x = -8 + }, +/obj/item/stock_parts/cell/gun{ + pixel_y = 4; + pixel_x = -8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security) +"Kj" = ( +/obj/structure/table/wood, +/obj/item/clothing/accessory/medal/bronze_heart{ + pixel_y = 3; + pixel_x = 7 + }, +/obj/item/clothing/accessory/medal/silver/security{ + pixel_x = -5; + pixel_y = 3 + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security/bedroom) +"Kk" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security) +"Kl" = ( +/obj/structure/sink/kitchen{ + dir = 1 + }, +/obj/structure/mirror{ + pixel_x = 0; + pixel_y = -26 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/bathroom) +"Km" = ( +/obj/machinery/camera/autoname{ + dir = 8 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/deepstorage/med) +"Kn" = ( +/obj/item/food/burrito{ + pixel_x = 13; + pixel_y = -13 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"Kr" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"Kt" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 5; + layer = 2.040 + }, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/trooper/rifle/space{ + wander = 0 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"Kz" = ( +/obj/effect/gibspawner/human, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/deepstorage) +"KB" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"KC" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle2) +"KF" = ( +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/deepstorage/bathroom) +"KH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/deepstorage) +"KM" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"KN" = ( +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "vigiturret2"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"KR" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/overwatch) +"KS" = ( +/obj/effect/turf_decal/trimline/opaque/vired/end{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + pixel_x = -12; + pixel_y = 22 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/bedroom) +"KT" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/deepstorage/engineering) +"KW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"KY" = ( +/obj/effect/turf_decal/atmos/air, +/turf/open/floor/engine/air, +/area/ruin/space/has_grav/deepstorage/engineering) +"Lb" = ( +/obj/structure/chair/comfy/shuttle, +/obj/effect/mob_spawn/human/corpse/frontier/space, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/deepstorage) +"Ld" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Office" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/engineering) +"Le" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1; + piping_layer = 1 + }, +/turf/open/floor/engine/air, +/area/ruin/space/has_grav/deepstorage/engineering) +"Lh" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"Lj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/bathroom) +"Lk" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 8; + layer = 2.040 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"Ll" = ( +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_x = 0; + pixel_y = -27 + }, +/mob/living/simple_animal/hostile/human/nanotrasen{ + wander = 0 + }, +/turf/open/floor/carpet/nanoweave, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"Ln" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only/closed, +/obj/machinery/door/firedoor/border_only/closed{ + dir = 1 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 1; + name = "Cargo" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/cargo) +"Lo" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"Lt" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"Lu" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"Lw" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/has_grav/deepstorage/engineering) +"Lx" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 1; + layer = 2.040 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"Lz" = ( +/obj/structure/catwalk/over, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"LA" = ( +/obj/structure/window/plasma/reinforced/plastitanium/indestructible, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/security/office) +"LE" = ( +/obj/machinery/smartfridge/food, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/canteen) +"LG" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"LI" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/shuttle3) +"LK" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"LP" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/item/stack/ore/salvage/scrapmetal/ten, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating, +/area/ruin/space/shuttle3) +"LU" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/has_grav/deepstorage/engineering) +"Mc" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/chair/bench/blue/directional/north, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"Mk" = ( +/obj/machinery/porta_turret/ruin/nt{ + dir = 8; + faction = list("Deathsquad","turret") + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"Mp" = ( +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"Mq" = ( +/obj/structure/cable{ + icon_state = "2-9" + }, +/turf/open/floor/plating/asteroid/moon, +/area/ruin/space/deepstorage) +"Mv" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"MB" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"MC" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway) +"ME" = ( +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/hypospray/medipen/rabbit, +/obj/item/reagent_containers/hypospray/medipen/rabbit, +/obj/item/reagent_containers/hypospray/medipen/rabbit, +/obj/item/reagent_containers/hypospray/medipen/rabbit, +/obj/structure/crate_shelf/built{ + capacity = 2 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security/vault) +"MG" = ( +/obj/item/chair, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"MI" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"MJ" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle2) +"ML" = ( +/obj/machinery/computer/helm{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + dir = 1; + pixel_x = 0; + pixel_y = -20; + id = "frontiepod3" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/shuttle3) +"MN" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/shuttle1) +"MO" = ( +/obj/structure/table_frame, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg3" + }, +/area/ruin/space/has_grav/deepstorage/med) +"MV" = ( +/obj/structure/table/reinforced, +/obj/structure/reagent_dispensers/servingdish, +/obj/effect/turf_decal/corner/opaque/white/diagonal, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/canteen) +"MZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"Nb" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"Nc" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"Nk" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/line{ + dir = 10 + }, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/smg{ + wander = 0 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"Nl" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway) +"Nm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/laser/space, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"Nn" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ruin/space/shuttle1) +"Np" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Nr" = ( +/obj/item/ammo_casing/spent/slug/buck, +/obj/machinery/light/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"Ns" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 10 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"Nx" = ( +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/bathroom) +"Nz" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 10 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 10; + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"NB" = ( +/obj/structure/flippedtable, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/canteen) +"NE" = ( +/obj/machinery/power/port_gen/pacman, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"NF" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"NH" = ( +/obj/effect/turf_decal/siding/white, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/canteen) +"NI" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/freezer, +/area/ruin/space/has_grav/deepstorage/security/vault) +"NJ" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"NM" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"NN" = ( +/obj/effect/mob_spawn/human/corpse/vigilitas_private, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor5" + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/overwatch) +"NO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/pounder/space, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"NR" = ( +/obj/structure/frame/computer{ + dir = 4 + }, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg2" + }, +/area/ruin/space/deepstorage) +"NW" = ( +/obj/machinery/camera/autoname, +/turf/open/space/basic, +/area/ruin/space) +"NZ" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"Ol" = ( +/obj/item/stack/tile/plasteel, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"Oq" = ( +/obj/structure/table/reinforced, +/obj/effect/decal/cleanable/blood{ + icon_state = "trails_2" + }, +/obj/item/radio/intercom/wideband/table, +/obj/item/wallframe/intercom/table{ + pixel_x = 19; + pixel_y = 0 + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/overwatch) +"Os" = ( +/obj/machinery/photocopier, +/obj/machinery/camera/autoname, +/obj/machinery/light/directional/north, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security/office) +"Ox" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable, +/obj/machinery/door/firedoor/heavy/closed, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/cargo) +"Oy" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/trooper/shotgun/space{ + wander = 0 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"OF" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"OH" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"OI" = ( +/obj/structure/table, +/obj/item/cigbutt{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/cigbutt{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/cigbutt{ + pixel_x = 0; + pixel_y = 7 + }, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"OK" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/canteen) +"OM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/bathroom) +"OO" = ( +/obj/effect/turf_decal/trimline/opaque/vired/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"OP" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "vigiturret1" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/lobby) +"OW" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"Pe" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/smes/engineering{ + input_level = 25000 + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"Pk" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"Pl" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"Pq" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/shuttle2) +"Pu" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/shuttle2) +"Pv" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/trooper/smg/space{ + wander = 0 + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security) +"Pw" = ( +/obj/structure/filingcabinet/chestdrawer{ + dir = 8; + pixel_x = 10; + pixel_y = 0; + density = 0 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security) +"PG" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden{ + dir = 1 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"PN" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/trash/chips{ + pixel_x = -14; + pixel_y = -13 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"PO" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"PV" = ( +/obj/item/ammo_casing/spent/slug, +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"Qb" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating, +/area/ruin/space/shuttle3) +"Qc" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Qd" = ( +/obj/machinery/light/floor, +/obj/structure/railing/thin{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"Qf" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 9 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"Ql" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"Qm" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"Qp" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = 6; + pixel_y = 32 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north{ + pixel_x = -7; + pixel_y = 28 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"Qt" = ( +/obj/structure/chair/bench/blue/directional/west, +/obj/effect/turf_decal/borderfloorblack/corner, +/obj/effect/turf_decal/corner/transparent/vired/bordercorner{ + layer = 2.04 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"Qu" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"Qx" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/engineering) +"QA" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/item/reagent_containers/hypospray/medipen/rabbit, +/obj/item/reagent_containers/hypospray/medipen/rabbit, +/obj/item/reagent_containers/hypospray/medipen/survival, +/obj/item/reagent_containers/hypospray/medipen/survival, +/obj/item/reagent_containers/hypospray/medipen/cureall, +/obj/item/reagent_containers/hypospray/medipen/cureall, +/obj/item/reagent_containers/hypospray/medipen/bonefixingjuice, +/obj/item/reagent_containers/hypospray/medipen/bonefixingjuice, +/obj/item/reagent_containers/hypospray/medipen/morphine, +/obj/item/reagent_containers/hypospray/medipen/morphine, +/obj/structure/closet/crate/freezer{ + name = "Chemical Storage" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/med) +"QC" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"QF" = ( +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"QG" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 1; + layer = 2.040 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"QI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/ntblue/arrow_cw{ + dir = 8 + }, +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"QJ" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"QM" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"QP" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"QQ" = ( +/obj/machinery/power/rtg, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plating/airless, +/area/ruin/space/deepstorage) +"QR" = ( +/obj/machinery/door/airlock/public{ + name = "Toilet"; + dir = 4; + id_tag = "Vishitter" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/bathroom) +"QS" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/engineering) +"QT" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/space/has_grav/deepstorage/security/vault) +"QW" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"QX" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 8 + }, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg3" + }, +/area/ruin/space/deepstorage) +"QY" = ( +/turf/closed/wall, +/area/ruin/space/shuttle2) +"Rb" = ( +/obj/machinery/holopad/secure, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"Rh" = ( +/obj/effect/turf_decal/borderfloorblack/corner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/vired/bordercorner{ + layer = 2.04; + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"Rm" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"Ru" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only/closed, +/obj/machinery/door/firedoor/border_only/closed{ + dir = 1 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 1; + name = "Cargo" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/cargo) +"Rw" = ( +/turf/template_noop, +/area/template_noop) +"RG" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"RI" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"RM" = ( +/obj/structure/railing/thin, +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/space, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"RP" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + layer = 2.040 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"RR" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"RV" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/stand_clear, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"Sc" = ( +/obj/structure/catwalk/over, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"Se" = ( +/turf/open/floor/plasteel/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"Sm" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"SB" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/has_grav/deepstorage/security) +"SC" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway) +"SM" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/structure/bed/dogbed, +/mob/living/simple_animal/pet/dog/pug, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/office) +"SN" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"SO" = ( +/obj/structure/chair/bench/blue/directional/north, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby) +"SP" = ( +/obj/structure/table/reinforced, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/bathroom) +"SU" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"SY" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"SZ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/closet/crate/large, +/obj/machinery/portable_atmospherics/canister/toxins, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"Ta" = ( +/obj/machinery/firealarm/directional/west, +/turf/open/floor/carpet/blue, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"Tc" = ( +/turf/open/floor/engine/air, +/area/ruin/space/has_grav/deepstorage/engineering) +"Tf" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/deepstorage/bathroom) +"Tg" = ( +/obj/effect/decal/cleanable/glass/plastitanium, +/obj/item/stack/rods, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"Tm" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"Tn" = ( +/obj/structure/catwalk/over, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"To" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/cargo) +"Tv" = ( +/obj/effect/turf_decal/siding/white/corner, +/obj/effect/turf_decal/trimline/opaque/ntblue/corner, +/obj/item/chair, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"Tw" = ( +/obj/machinery/camera/autoname, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/vending/cola/black, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby) +"TA" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/ruin, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security/office) +"TD" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"TJ" = ( +/obj/structure/chair/bench/blue/directional/north, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/lobby) +"TK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/fluff/paper/stack{ + dir = 6; + pixel_y = 12; + pixel_x = -7 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"TO" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/structure/rack, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"TP" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/structure/noticeboard{ + pixel_x = 0; + pixel_y = -24; + dir = 1 + }, +/obj/item/paper/crumpled/fluff/ruin/space/deepstorage/orders{ + pixel_x = 0; + pixel_y = -18 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"TR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"TS" = ( +/obj/machinery/camera/autoname, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"TU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security) +"TW" = ( +/obj/structure/chair/comfy/shuttle, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/shuttle1) +"TY" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Ub" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/ammo_casing/spent/rifle_brass, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway) +"Ue" = ( +/obj/structure/chair/bench/blue/directional/west, +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"Ug" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/techmaint/airless, +/area/ruin/space/shuttle2) +"Uj" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + id = "vigilockdown"; + dir = 4 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/lobby) +"Ul" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/fluff/paper/stack{ + dir = 4; + pixel_y = -2; + pixel_x = -12 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby/med) +"Un" = ( +/obj/structure/lattice, +/obj/effect/gibspawner/human, +/turf/open/space/basic, +/area/ruin/space/deepstorage) +"Uq" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 1; + layer = 2.040 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/laser/space{ + wander = 0 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"Ur" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ + dir = 1; + piping_layer = 4 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/engineering) +"UB" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/item/stack/ore/salvage/scrapmetal/ten{ + pixel_x = -16; + pixel_y = -5 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"UH" = ( +/obj/item/ammo_casing/spent/rifle_brass, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/stack/rods, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"UK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"UM" = ( +/obj/structure/weightmachine/stacklifter, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"UR" = ( +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"Ve" = ( +/obj/machinery/suit_storage_unit/inherit, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security) +"Vf" = ( +/obj/structure/table/reinforced, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/overwatch) +"Vj" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"Vk" = ( +/obj/structure/railing/thin{ + dir = 4 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"Vy" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"VA" = ( +/obj/structure/bed, +/obj/item/bedsheet/hos, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/security/bedroom) +"VB" = ( +/obj/structure/chair/bench/blue/directional/east, +/turf/open/floor/plasteel/mono/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"VI" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"VK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/purple/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/stack/ore/salvage/scrapmetal/ten, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"VO" = ( +/obj/effect/turf_decal/borderfloorblack/corner, +/obj/effect/turf_decal/corner/transparent/ntblue/bordercorner{ + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"VQ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "gibbl2" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/med) +"VR" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"VT" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"VU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"VY" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/medical{ + dir = 4; + name = "Medical" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/med) +"VZ" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/rtg/advanced, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"Wa" = ( +/turf/closed/wall, +/area/ruin/space/deepstorage) +"We" = ( +/obj/structure/chair/bench/blue/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"Wj" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/engineering) +"Wl" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"Wr" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/bathroom) +"Wu" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/light_switch{ + pixel_x = -9; + pixel_y = 22 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/space/has_grav/deepstorage/security/vault) +"Wx" = ( +/obj/structure/dresser{ + dir = 8; + pixel_x = 7; + pixel_y = 0 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"WB" = ( +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"WI" = ( +/obj/item/storage/backpack/duffelbag/syndie/c4, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway) +"WO" = ( +/mob/living/simple_animal/bot/secbot/ed209/rockplanet{ + faction = list("Deathsquad"); + name = "\improper ED-209 Robot" + }, +/obj/machinery/light/floor, +/turf/open/floor/circuit/red, +/area/ruin/space/has_grav/deepstorage/lobby) +"WS" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway) +"WW" = ( +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/hypospray/medipen/mammoth, +/obj/item/reagent_containers/hypospray/medipen/mammoth, +/obj/item/reagent_containers/hypospray/medipen/mammoth, +/obj/item/reagent_containers/hypospray/medipen/mammoth, +/obj/structure/crate_shelf/built{ + capacity = 2 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/security/vault) +"WX" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security) +"WY" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/effect/mob_spawn/human/corpse/frontier/space, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg2" + }, +/area/ruin/space/deepstorage) +"WZ" = ( +/obj/machinery/door/airlock/external/glass, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/engineering) +"Xa" = ( +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/ruin/space/deepstorage) +"Xf" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Xh" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/item/trash/chips{ + pixel_x = -15; + pixel_y = -5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"Xi" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/shuttle3) +"Xl" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Xn" = ( +/turf/closed/wall/r_wall, +/area/ruin/space/deepstorage) +"Xp" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + dir = 4; + layer = 2.040 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"Xq" = ( +/obj/structure/chair/bench/red/directional/south, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/office) +"Xr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer4, +/obj/effect/mob_spawn/human/corpse/vigilitas_private, +/obj/effect/decal/cleanable/blood, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/engineering) +"Xs" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Xv" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/space{ + wander = 0 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Xz" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ruin/space/shuttle3) +"XA" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"XB" = ( +/obj/effect/decal/cleanable/glass/plastitanium, +/obj/item/shard/plastitanium{ + pixel_x = 18; + pixel_y = 9 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ruin/space/has_grav/deepstorage/engineering) +"XE" = ( +/obj/structure/closet/crate/large, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_cw{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"XF" = ( +/obj/item/shard/plastitanium, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ruin/space/has_grav/deepstorage/engineering) +"XG" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = 0; + pixel_y = 6; + on = 1 + }, +/obj/structure/sign/poster/clip/lanchester{ + pixel_x = -29; + pixel_y = 1 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"XJ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/item/chair, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"XL" = ( +/obj/effect/spawner/bunk_bed{ + dir = 4 + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"XO" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/ntblue/border{ + layer = 2.040; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/lobby) +"XP" = ( +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"XY" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/engineering/glass{ + dir = 4; + name = "Engineering" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/space/has_grav/deepstorage/engineering) +"Ya" = ( +/obj/effect/mob_spawn/human/corpse/vigilitas_private, +/obj/structure/lattice, +/turf/open/floor/plating/airless{ + icon_state = "platingdmg1" + }, +/area/ruin/space/deepstorage) +"Yf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/canteen) +"Yh" = ( +/obj/structure/closet/crate/bin, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/plasteel/mono, +/area/ruin/space/has_grav/deepstorage/engineering) +"Yk" = ( +/obj/structure/frame/machine, +/turf/open/space/basic, +/area/ruin/space/deepstorage) +"Ym" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/closet/crate/trashcart, +/turf/open/floor/plasteel/tech/airless, +/area/ruin/space/has_grav/deepstorage/cargo) +"Yo" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plating, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"Yp" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/sign/poster/contraband/lusty_xenomorph{ + pixel_x = 0; + pixel_y = 33 + }, +/turf/open/floor/carpet/red, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"Yt" = ( +/turf/closed/indestructible/titanium/nodiagnonal, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"Yu" = ( +/obj/structure/cable{ + icon_state = "1-6" + }, +/turf/open/floor/plating/asteroid/moon, +/area/ruin/space/deepstorage) +"Yx" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"Yy" = ( +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) +"YD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/space/has_grav/deepstorage/security/vault) +"YE" = ( +/obj/item/ammo_casing/spent/slug/buck, +/obj/machinery/light/directional/north, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/space/has_grav/deepstorage/engineering) +"YF" = ( +/obj/structure/weightmachine/weightlifter, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"YL" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/office) +"YM" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/has_grav/deepstorage/canteen) +"YN" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/security/office) +"YQ" = ( +/turf/closed/indestructible/reinforced, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"YX" = ( +/obj/effect/mob_spawn/human/corpse/frontier/space, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/obj/item/ammo_casing/spent/pistol_brass, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ruin/space/has_grav/deepstorage/engineering) +"Zb" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/space/has_grav/deepstorage/security/lobby) +"Zc" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"Zm" = ( +/obj/effect/turf_decal/trimline/opaque/vired/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/hallway/east) +"Zt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/space/has_grav/deepstorage/med) +"Zx" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/transparent/vired/border{ + layer = 2.04 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/space/has_grav/deepstorage/crewquarters) +"ZE" = ( +/obj/machinery/power/rtg, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plating/airless, +/area/ruin/space/deepstorage) +"ZF" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/space/has_grav/deepstorage/hallway/upper) +"ZH" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"ZK" = ( +/obj/machinery/porta_turret/ruin/nt/light{ + faction = list("Deathsquad","turret"); + dir = 4 + }, +/obj/machinery/light/floor, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/airless, +/area/ruin/space/deepstorage) +"ZM" = ( +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/showroomfloor, +/area/ruin/space/has_grav/deepstorage/med) +"ZO" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/nanotrasen/ranged/trooper/shotgun/space{ + wander = 0 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/space/has_grav/deepstorage/security/vault) +"ZR" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ruin/space/deepstorage) +"ZZ" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/space/has_grav/deepstorage/engineering) + +(1,1,1) = {" +Rw +Rw +Rw +Rw +nn +nn +nn +nn +Rw +Rw +Rw +Rw +nn +nn +Rw +Rw +Rw +Rw +Rw +nn +nn +nn +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +nn +nn +nn +Rw +Rw +nn +nn +nn +Rw +Rw +Rw +nn +Rw +Rw +Rw +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +Rw +nn +nn +nn +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +nn +Rw +Rw +"} +(2,1,1) = {" +Rw +Rw +Rw +Rw +nn +nn +nn +nn +nn +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +nn +Rw +nn +Rw +Rw +Rw +Rw +nn +nn +nn +Rw +Rw +Rw +nn +nn +Rw +Rw +nn +Rw +nn +nn +nn +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +Rw +Rw +Rw +Rw +nn +nn +nn +Rw +"} +(3,1,1) = {" +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(4,1,1) = {" +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +sL +sL +sL +go +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(5,1,1) = {" +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +sL +sL +go +go +wl +go +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(6,1,1) = {" +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +go +go +go +go +go +go +sL +go +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(7,1,1) = {" +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +go +go +go +go +go +go +go +sL +CJ +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(8,1,1) = {" +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +go +go +go +go +go +sL +sL +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +"} +(9,1,1) = {" +Rw +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +go +go +go +sL +sL +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +xh +nn +nn +nn +Rw +Rw +"} +(10,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +tJ +BA +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +go +sL +sL +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(11,1,1) = {" +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +wy +gk +gk +gk +wy +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +nn +nn +nn +nn +nn +nn +nn +nn +iJ +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(12,1,1) = {" +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +wy +wy +iQ +iQ +iQ +wy +wy +wy +Ba +Ba +Ba +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +IU +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +iJ +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(13,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +wy +wy +LA +LA +LA +wy +wy +wy +Ba +Ba +Ba +Ba +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +bL +nn +nn +bL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(14,1,1) = {" +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +wy +wy +kA +rW +nT +nX +Ns +re +vm +ME +in +Ba +Ba +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +bL +bC +nn +bL +nn +nn +bL +bC +By +bL +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(15,1,1) = {" +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +wy +wy +wy +Os +fn +BG +zn +xV +re +NI +QT +FA +is +Ba +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +bL +Gi +By +bL +bL +bL +bL +Gi +pA +bL +nn +CJ +CJ +nn +nn +nn +nn +nn +nn +Rw +"} +(16,1,1) = {" +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +gk +iQ +LA +TA +cG +ll +zn +qI +Hu +fQ +YD +bk +oy +Ba +su +ZR +ZR +ZR +ZR +ZR +ZR +ZR +ZR +Qd +AI +AI +ZR +ZR +ZR +AI +AI +Qd +ZR +ZR +Bv +nn +nn +nn +nn +nn +bL +QX +ku +nn +nn +pA +nn +nn +pA +bL +IU +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(17,1,1) = {" +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +gk +iQ +LA +SM +ps +zn +zn +Lh +re +Wu +ZO +xQ +ea +os +ei +ei +ei +ei +ei +ei +ei +ei +EH +ZR +EH +ZR +EH +EH +EH +ZR +EH +ZR +EH +EH +zx +nn +nn +CJ +nn +nn +bL +nn +rB +FK +EH +Ya +nn +jP +nn +bL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(18,1,1) = {" +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +gk +iQ +LA +Xq +Lo +Rb +IW +mM +re +vm +WW +Ei +Ba +os +Hq +fe +Hq +ei +Hq +fe +Hq +ei +nn +ZR +nn +ZR +nn +nn +nn +ZR +nn +ZR +nn +EH +ZR +nn +nn +nn +nn +nn +bL +nn +nn +ad +nn +pn +Yk +jP +EH +bL +nn +iJ +nn +nn +nn +nn +nn +nn +nn +nn +"} +(19,1,1) = {" +nn +nn +nn +nn +nn +go +sL +sL +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +gk +iQ +LA +Xq +YL +Qu +vc +tO +re +xB +xB +xB +xB +HG +uO +FI +uO +tI +uO +OP +FI +ei +nn +ZR +nn +qw +gY +gY +gY +qw +nn +ZR +nn +EH +ZR +nn +nn +iJ +nn +nn +bL +nn +nn +IU +nn +EH +nn +Un +EH +nn +nn +EH +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(20,1,1) = {" +nn +nn +nn +nn +go +go +go +sL +sL +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +wy +wy +wy +YN +xW +ud +gn +xW +we +ac +if +cr +pN +Hy +nw +nw +nw +iu +iN +nw +zN +ei +qw +ZR +nn +qw +cI +cI +cI +qw +nn +ZR +nn +EH +ZR +nn +nn +nn +nn +nn +bL +bL +wi +pA +Kz +EH +pA +nn +EH +EH +nn +CT +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(21,1,1) = {" +nn +nn +nn +sL +go +go +go +sL +sL +Xn +Xn +Xn +nn +nn +nn +nn +nn +nn +nn +Nc +Nc +YQ +YQ +vU +af +vU +vU +Il +ux +ma +Vy +NM +pN +Em +uu +uu +Lk +uu +uu +uu +uu +ng +qw +qw +qw +qw +To +To +To +qw +qw +qw +qw +EH +ZR +nn +nn +nn +nn +nn +nn +bL +nn +Cv +nn +uQ +nn +iJ +nn +bX +EH +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(22,1,1) = {" +nn +nn +sL +sL +go +go +go +go +sL +Dp +Dp +Xa +nn +nn +nn +nn +nn +nn +Nc +Nc +XL +sN +XL +vU +KS +oj +vU +Qf +tY +JK +We +Ho +pN +mD +ch +ch +ch +WB +ch +ch +ch +BT +HT +oT +mB +mB +mB +mB +mB +mB +mB +Gv +qw +ht +zx +nn +nn +nn +cH +nn +nn +bL +pA +nn +pA +EH +nn +nn +wr +NR +Wa +nn +bL +nn +nn +nn +nn +nn +nn +Rw +"} +(23,1,1) = {" +nn +sL +sL +sL +sL +yi +la +uR +KH +KH +EV +Xa +nn +nn +nn +nn +nn +nn +Nc +XG +uE +zd +uE +vU +nc +ql +vU +Kr +Qm +Vy +Cn +aB +pN +fK +VB +VB +qB +hH +VB +VB +nz +zb +HT +Sm +pU +wX +pU +wX +li +wX +pU +wG +qw +ZR +Bv +nn +nn +nn +EH +nn +nn +bL +nn +bL +pA +nn +nn +pA +ad +WY +Wa +EH +nn +nn +nn +nn +nn +nn +nn +nn +"} +(24,1,1) = {" +nn +sL +sL +sL +sL +sL +jn +go +sL +Dp +Dp +Xa +nn +nn +nn +nn +nn +nn +Nc +XL +uE +bu +vj +vU +zu +ig +vU +vY +Ih +eY +Qt +ik +pN +Kt +xN +Fw +uj +oF +nI +UK +bI +AH +HT +Gx +wX +JJ +AT +wX +wX +ce +wX +TD +qw +nn +nn +nn +nn +nn +EH +EH +nn +iJ +Wa +nn +nn +nn +Wa +mZ +mZ +Wa +Wa +EH +nn +nn +nn +xh +nn +nn +nn +Rw +"} +(25,1,1) = {" +nn +nn +sL +sL +Xn +sL +ev +sL +sL +Xn +Xn +Xn +nn +nn +nn +nn +nn +Nc +Nc +zY +zd +Iz +Wx +vU +VA +Kj +vU +wc +Eq +xZ +yJ +QF +pN +Tw +er +jM +VO +jH +jV +ft +XO +Gc +HT +Sm +li +rt +pU +wX +xX +wX +Bf +wG +qw +nn +nn +nn +nn +nn +nn +nn +nn +nn +Wa +pA +pA +nn +Wa +rL +rL +Wa +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(26,1,1) = {" +nn +nn +nn +sL +Xn +Dp +ev +Dp +Xn +sL +sL +nn +nn +nn +nn +nn +nn +Nc +Nc +Yp +xd +yB +Yt +vU +vU +vU +vU +HX +AP +HX +pN +tI +tI +tI +mi +QG +hu +SO +tI +bf +kI +bf +HT +XE +wX +qC +dg +NF +mS +mS +mS +uV +qw +nn +nn +nn +nn +nn +nn +CJ +nn +nn +Wa +Lb +CB +nn +Wa +ZR +ZR +vb +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(27,1,1) = {" +nn +nn +nn +nn +Xn +Dp +ZK +Dp +Xn +sL +sL +nn +nn +nn +nn +nn +nn +Nc +Nc +Yt +Yt +yY +Yt +ds +HA +jX +fr +OH +Cp +mu +MI +tI +WO +ck +jW +Uq +hU +Dv +wC +Wl +Nl +VI +HT +dX +gm +gm +xL +qw +To +To +To +qw +qw +nn +nn +nn +nn +nn +nn +nn +nn +nn +vb +nn +nn +nn +nn +nn +nn +nn +nn +dP +nn +nn +nn +nn +nn +nn +nn +nn +"} +(28,1,1) = {" +nn +nn +nn +nn +Xn +Xa +Xa +Xa +Xn +sL +nn +nn +nn +nn +nn +nn +nn +Nc +Nc +UM +Pk +Gb +zW +lR +CW +Ll +fr +OH +Cp +mu +KB +tI +tI +tI +jW +oU +eo +TJ +wC +ed +Nl +VI +HT +Qp +Se +uX +DO +qw +ZR +ZR +ZR +zx +nn +nn +nn +nn +nn +nn +IU +nn +nn +nn +Wa +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Ck +nn +nn +nn +Rw +Rw +Rw +"} +(29,1,1) = {" +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Nc +Nc +Ia +Zx +Mp +mQ +Im +vk +lf +fr +ta +nf +Zb +OI +tI +WO +ck +jW +bJ +ld +Dv +wC +VT +IL +MC +Ru +QI +uT +qJ +RV +rb +ZR +ZR +ZR +zx +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +cH +nn +nn +IU +nn +nn +nn +nn +CJ +nn +nn +nn +nn +Rw +Rw +nn +Rw +"} +(30,1,1) = {" +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Nc +Nc +YF +Rh +ey +mO +hM +jx +TP +fr +TS +Cp +mu +EQ +tI +tI +tI +Uj +fF +Uj +tI +wC +ed +Je +jZ +Ox +Ym +AJ +rt +iH +xH +iV +ZR +ZR +RM +nn +nn +nn +nn +nn +nn +nn +Ck +nn +nn +nn +nn +iD +nn +nn +Ck +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(31,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Nc +Nc +hB +JW +Ue +HH +HY +Bk +wK +fr +HX +jC +HX +pN +Fu +aV +Ta +IE +hR +Nz +ax +wC +ru +WS +mJ +Ln +hL +hG +CM +UB +qa +Ol +ZR +ZR +zx +nn +nn +nn +nn +nn +nn +nn +nn +nn +CJ +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(32,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Nc +Nc +fr +fr +fr +fr +fr +yY +fr +fr +iY +lu +wS +VR +qj +ka +yp +FZ +Ul +RP +dQ +wC +Bo +ic +VI +HT +Ex +rt +Se +hk +cS +ZR +ZR +ZR +zx +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +dP +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(33,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +kF +kF +ny +vR +fE +MG +mb +Gu +Nk +NH +iY +Ql +XA +uN +Lx +yz +GA +pQ +TK +tg +Mc +wC +VT +SC +VI +HT +TO +by +SZ +IH +qw +ZR +pP +Tn +pP +pP +pP +pP +pP +Tn +pP +pP +pP +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(34,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +kF +kF +kF +FP +ul +aK +pO +ES +jL +kG +NB +qQ +Zc +Yx +VR +Bg +Jn +Cw +wp +HR +gO +FO +wC +fh +Ub +VI +nG +nG +nG +nG +gV +gV +nn +nn +ZR +nn +nn +nn +nn +nn +ZR +nn +nn +pP +nn +nn +nn +Ck +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +"} +(35,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +EC +kL +OK +Hg +pO +pO +HW +vp +Yf +an +vS +iY +no +fd +GU +bF +xe +ub +tK +nx +gN +tW +wC +Tm +rJ +RR +nG +KF +ov +KF +gV +gV +NW +nn +ZR +nn +nn +nn +nn +nn +ZR +nn +nn +pP +nn +nn +nn +nn +nn +nn +nn +CJ +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +nn +"} +(36,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +EC +kL +OK +Hg +Xh +pO +Kn +PN +cY +dR +ep +rS +ih +QJ +VR +Jl +Jl +Jl +VY +Jl +Jl +Jl +wC +fU +ic +VI +nG +Tf +nG +wH +gV +gV +EH +EH +ZR +FQ +qX +qX +qX +tE +FQ +EH +EH +pP +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(37,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +EC +kL +OK +Hg +sW +JZ +Tv +ph +ix +dI +NH +iY +KM +sl +VR +po +rl +hc +xp +vu +PV +MO +vr +WI +AZ +hn +nG +KF +vP +KF +gV +gV +nn +nn +ZR +FQ +yV +At +nK +MN +FQ +nn +nn +pP +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(38,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +EC +kL +OK +gI +bv +ul +yS +xj +jG +MV +YM +hP +XJ +RI +VR +EO +JX +HK +TR +Zt +BN +jU +vw +xD +Nl +VI +kK +pJ +Wr +yG +gV +nn +nn +nn +ZR +FQ +TW +ao +Gz +wq +FQ +nn +nn +pP +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(39,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +kF +kF +kF +CQ +bv +pO +yS +lv +uy +lv +YM +iY +ZF +Yx +VR +VQ +fm +BO +BI +Xp +xG +zG +gX +wM +Bj +Lt +cP +OM +Lj +SP +gV +ZR +ZR +ZR +ZR +FQ +yV +tH +hy +zC +FQ +ZR +ZR +Tn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(40,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +kF +kF +id +lz +GH +iE +LE +ap +mX +YM +iY +ZF +wS +VR +QA +DQ +it +it +eN +qF +Hw +wC +ed +AZ +VI +nG +Hh +Dg +Kl +gV +nn +EH +nn +ZR +FQ +FQ +GO +GO +FQ +FQ +nn +EH +pP +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(41,1,1) = {" +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +SB +SB +SB +bc +bc +bc +bc +bc +YM +YM +uP +Yo +uP +VR +Jl +kj +Km +bi +ZM +dO +Jl +wC +pf +nN +pf +nG +nG +QR +nG +gV +nn +EH +nn +ZR +nn +FQ +Nn +Nn +FQ +ZR +nn +EH +pP +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(42,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +SB +SB +Kk +bz +ju +il +bc +au +au +Ez +IO +Bq +yN +au +au +au +au +au +au +au +NJ +TY +IO +vL +nG +CP +Nx +tM +gV +nn +EH +nn +ZR +nn +FQ +co +co +FQ +ZR +nn +EH +pP +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +Xn +Xa +Xa +Xa +Xn +nn +nn +nn +"} +(43,1,1) = {" +Rw +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +SB +SB +AC +HF +dh +MB +bc +qk +fC +ek +IO +OO +QP +Xf +Xf +Ji +Xf +Dh +BX +xc +EF +Zm +IO +iL +nG +Ea +nR +gV +gV +ZR +ZR +ZR +ZR +ZR +FQ +fY +fY +FQ +ZR +ZR +ZR +Tn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +Xn +Dp +AN +Dp +Xn +sL +nn +nn +"} +(44,1,1) = {" +Rw +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +SB +io +SY +Nm +GN +bc +IR +fC +ek +Qc +eC +PO +Xs +LG +eV +LK +eV +PO +eC +eV +eV +XP +Er +gV +gV +gV +gV +nn +EH +nn +nn +ZR +nn +nn +nn +nn +nn +ZR +nn +nn +pP +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +Xn +sL +ev +sL +Xn +sL +sL +nn +"} +(45,1,1) = {" +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +SB +AC +xP +EG +ij +bc +qk +fC +Np +JL +QW +Gq +xn +wE +wf +rX +dS +dS +bT +cn +QW +SN +iv +gV +gV +gV +EH +EH +EH +EH +EH +ZR +EH +EH +EH +EH +EH +ZR +EH +EH +pP +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +Xn +sL +jn +sL +Xn +go +sL +go +"} +(46,1,1) = {" +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +SB +bc +bc +eK +Kb +bc +bc +bc +ve +Av +ve +au +An +Ja +iL +au +KN +KN +KN +au +au +iv +iv +nn +nn +nn +nn +nn +EH +nn +nn +ZR +nn +nn +nn +nn +nn +ZR +nn +nn +pP +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +jn +go +go +go +go +go +"} +(47,1,1) = {" +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +SB +SB +Ve +OW +WX +pw +Mv +sP +sk +jw +Lu +au +eB +Ja +iL +au +qk +hC +qk +au +iv +iv +iv +Vk +Vk +Vk +Vk +Vk +pP +pP +pP +Tn +pP +pP +pP +pP +pP +Tn +pP +pP +pP +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +QQ +go +go +sL +sL +sL +"} +(48,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +SB +Ve +fX +Gt +Aw +Aw +jr +cE +Oy +pR +au +be +OF +BM +sC +sC +sC +sC +sC +Ir +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +sL +sL +nn +nn +"} +(49,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +SB +us +Hn +KW +oP +Gy +ty +yC +TU +lS +au +cB +aQ +iL +sC +KR +yd +jd +Ir +Ir +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(50,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +SB +SB +JB +nY +vE +Pv +si +sk +kd +GC +au +sz +Xl +dq +pH +qm +Gf +jv +Ir +AI +fl +AI +AI +fl +AI +AI +uF +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(51,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Mk +nn +nn +nn +nn +nn +SB +SB +gz +Kh +iB +Pw +JR +ra +fH +Gh +au +Xv +wE +gu +sC +DH +NN +Oq +Ir +nn +ZR +nn +nn +ZR +nn +nn +ZR +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(52,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +hf +EH +pP +EH +EH +hf +nn +nn +SB +SB +bc +bc +bc +bc +bc +Ve +Ve +Ve +au +oo +wE +yv +sC +ee +iR +Vf +Ir +nn +ZR +nn +nn +ZR +nn +nn +ZR +ZR +QY +QY +QY +QY +QY +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(53,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +VZ +Sc +rw +Sc +Sc +Sc +Sc +xo +pP +bx +bx +bx +rI +Pe +As +Pe +QS +QS +QS +QS +QS +XY +pd +XY +sC +sC +sC +sC +Ir +Xn +Xn +NW +nn +ZR +nn +nn +nn +ZR +gT +cl +zk +Pq +QY +QY +QY +QY +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(54,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +EH +nn +EH +nn +nn +lD +nn +KT +LU +xf +yW +SU +pZ +Jj +qR +QS +Qx +qo +Nr +rp +Rm +Bx +HQ +Vj +Tc +KY +bx +Dp +If +EH +EH +ZR +EH +EH +EH +ZR +ls +KC +Eh +JQ +dm +ue +pM +BY +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(55,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +rK +ZR +ZR +DC +nn +hA +Sc +Sc +Lz +ZH +Lw +fs +bt +uG +PG +xk +QM +NE +QS +AS +px +Ur +Fi +Xr +kX +dd +QC +Hi +Tc +bx +EL +If +nn +nn +ZR +nn +nn +nn +ZR +ls +MJ +Eh +lU +dm +ue +pM +BY +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(56,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +EH +nn +EH +nn +nn +lD +nn +KT +LU +xf +as +gP +NO +ZZ +QS +QS +YE +ha +zZ +lm +cM +UR +Nb +Ag +Le +KY +bx +Dp +If +nn +nn +ZR +nn +nn +dP +ZR +ls +Pu +Ug +Pu +QY +QY +cO +cO +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(57,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +VZ +Sc +wk +Sc +Sc +Sc +Sc +uK +pP +bx +bx +bx +En +yP +hb +tL +Ld +uH +ef +VK +Pl +UH +pt +uU +VU +bx +bx +bx +bx +Xn +Xn +EH +EH +Hx +EH +EH +EH +ZR +QY +QY +QY +QY +QY +nn +nn +nn +nn +nn +nn +nn +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(58,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +pi +EH +pP +EH +EH +pi +nn +nn +nn +bx +le +Gs +FB +hz +QS +Yh +yI +kc +tQ +IY +Dn +HD +MZ +NZ +vV +mo +Fx +bx +ZR +nn +nn +ZR +nn +nn +nn +zx +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +nn +go +go +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(59,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +zw +nn +nn +nn +nn +nn +nn +bx +bx +bx +bx +bx +bx +xf +xf +Tg +AQ +bx +uh +Yy +MZ +WZ +vV +iM +Fx +Wj +ZR +nn +nn +ZR +nn +nn +nn +zx +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +go +go +go +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(60,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +bx +bx +bx +bx +XF +XB +YX +HO +bx +bx +bx +bx +bx +bx +bx +bx +bx +gl +Vk +ZR +RG +Vk +Vk +Vk +yQ +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +go +go +go +sL +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +"} +(61,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +bx +Kd +dv +wx +Hf +bx +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +go +go +Xn +Xn +Xn +Xn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +Rw +"} +(62,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Ck +nn +nn +AA +dl +jh +zc +sf +AA +nn +nn +nn +nn +nn +Ck +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +ZE +Yu +go +sL +sL +Dp +Xa +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(63,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +AA +BU +LP +Qb +yE +AA +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +sL +go +Mq +KH +KH +EV +Xa +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(64,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +AA +lW +Cy +iI +ML +AA +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +sL +go +go +sL +sL +Dp +Xa +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(65,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +AA +Jh +uW +yF +LI +AA +nn +Ck +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +go +go +go +go +Xn +Xn +Xn +Xn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +"} +(66,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Ck +AA +AA +rf +rf +AA +AA +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +go +go +go +sL +sL +sL +go +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(67,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +AA +cd +cd +AA +nn +nn +nn +nn +nn +nn +Ck +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +go +go +go +sL +sL +sL +go +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +"} +(68,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +nn +nn +nn +nn +nn +nn +nn +nn +AA +Xz +Xz +AA +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +go +go +go +sL +sL +go +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +"} +(69,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +sL +sL +sL +sL +nn +nn +nn +nn +nn +nn +nn +AA +Xi +Xi +AA +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +go +sL +sL +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +nn +"} +(70,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +sL +sL +sL +sL +sL +sL +sL +go +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(71,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +sL +sL +sL +sL +go +go +go +go +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(72,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +go +sL +sL +go +go +go +go +go +go +go +go +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(73,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +go +go +go +go +go +go +go +go +go +go +go +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +"} +(74,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +go +sL +sL +sL +go +sL +sL +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(75,1,1) = {" +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +sL +sL +sL +sL +sL +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +"} +(76,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +"} +(77,1,1) = {" +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +"} +(78,1,1) = {" +Rw +Rw +nn +nn +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +nn +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +nn +nn +nn +nn +Rw +Rw +nn +nn +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +Rw +Rw +"} +(79,1,1) = {" +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +nn +Rw +Rw +Rw +nn +nn +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +nn +Rw +Rw +nn +Rw +Rw +nn +nn +nn +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +nn +Rw +Rw +nn +Rw +Rw +Rw +nn +nn +nn +nn +nn +nn +nn +nn +nn +Rw +Rw +Rw +Rw +Rw +Rw +Rw +"} +(80,1,1) = {" +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +nn +Rw +Rw +Rw +nn +nn +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +nn +nn +nn +nn +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +nn +nn +nn +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +Rw +"} diff --git a/code/__DEFINES/html_assistant.dm b/code/__DEFINES/html_assistant.dm new file mode 100644 index 000000000000..91af96a95c7a --- /dev/null +++ b/code/__DEFINES/html_assistant.dm @@ -0,0 +1,5 @@ +#define HTML_SKELETON_INTERNAL(head, body) \ +"[head][body]" + +#define HTML_SKELETON_TITLE(title, body) HTML_SKELETON_INTERNAL("[title]", body) +#define HTML_SKELETON(body) HTML_SKELETON_INTERNAL("", body) diff --git a/code/__DEFINES/wounds.dm b/code/__DEFINES/wounds.dm index 8ed9aee08762..966e6b9f3ffc 100644 --- a/code/__DEFINES/wounds.dm +++ b/code/__DEFINES/wounds.dm @@ -49,7 +49,7 @@ // ~wound global lists // list in order of highest severity to lowest -GLOBAL_LIST_INIT(global_wound_types, list(WOUND_BLUNT = list(/datum/wound/blunt/critical, /datum/wound/blunt/severe, /datum/wound/blunt/moderate), +GLOBAL_LIST_INIT(global_wound_types, alist(WOUND_BLUNT = list(/datum/wound/blunt/critical, /datum/wound/blunt/severe, /datum/wound/blunt/moderate), WOUND_SLASH = list(/datum/wound/slash/critical, /datum/wound/slash/critical, /datum/wound/slash/moderate), WOUND_PIERCE = list(/datum/wound/pierce/critical, /datum/wound/pierce/severe, /datum/wound/pierce/moderate), WOUND_BURN = list(/datum/wound/burn/critical, /datum/wound/burn/severe, /datum/wound/burn/moderate), diff --git a/code/__DEFINES/~mod_celadon/text.dm b/code/__DEFINES/~mod_celadon/text.dm new file mode 100644 index 000000000000..d8bbafc913aa --- /dev/null +++ b/code/__DEFINES/~mod_celadon/text.dm @@ -0,0 +1,15 @@ +// Для работы (code/__DEFINES/~mod_celadon/_translation.dm) +/proc/pluralize_russian(n, one, two, five) + if(!five) + five = two + n = abs(n) % 100 + if(5 <= n && n <= 20) + return five + n %= 10 + switch(n) + if(1) + return one + if(2 to 4) + return two + else + return five diff --git a/code/__DEFINES/~mod_celadon/translation.dm b/code/__DEFINES/~mod_celadon/translation.dm new file mode 100644 index 000000000000..35d7ed0cb15a --- /dev/null +++ b/code/__DEFINES/~mod_celadon/translation.dm @@ -0,0 +1,159 @@ +//////////////////////////////////////////////// +// Падежи // +//////////////////////////////////////////////// + +#define NOMINATIVE_CASE 1 //delete when names get translated... or dont. +#define GENITIVE_CASE 2 +#define DATIVE_CASE 3 +#define ACCUSATIVE_CASE 4 +#define ABLATIVE_CASE 5 +#define PREPOSITIONAL_CASE 6 + +// Пример определения CASEs у объекта: +// /datum +// cases = list("атом", "атома", "атому", "атом", "атомом", "атоме") +// +// Пример использования: +// "... [CASE(datum, DATIVE_CASE)] ..." +// Если у объекта не определены cases, будет взят дефолтный name, который скорее всего на английском. + +#define CASE(datum, case) (datum.cases && datum.cases[case] ? datum.cases[case] : datum.name) + +//////////////////////////////////////////////// +// Местоимения(ENG) // +//////////////////////////////////////////////// + +// В английском большинство ситуаций покрывается дефолтными бьендовскими макросами: +// https://www.byond.com/docs/ref/info.html#/DM/text/macros +// но дефолтные макросы контекстно зависимы от положения в строке и их не всегда достаточно + +#define P_THEY(atom) atom.gender == MALE && "he" \ + || atom.gender == FEMALE && "she" \ + || atom.gender == NEUTER && "it" \ + || "they" + +#define P_THEM(atom) atom.gender == MALE && "him" \ + || atom.gender == FEMALE && "her" \ + || "them" + +#define P_THEIR(atom) atom.gender == MALE && "his" \ + || atom.gender == FEMALE && "her" \ + || "their" + +//////////////////////////////////////////////// +// Местоимения(RU) // +//////////////////////////////////////////////// + +// По большей части аналоги дефолтных бьендовских макросов, но для русского языка + +// И Кто/что +// "Неудачно пошутив, [THEY_RU(src)] падает без признаков жизни" +#define THEY_RU(atom) atom.gender == MALE && "он" \ + || atom.gender == FEMALE && "она" \ + || atom.gender == NEUTER && "оно" \ + || "они" +// Р Кого/чего +// "У вас больше нет [THEIR_RU(src)]" +#define THEIR_RU(atom) atom.gender == MALE && "его" \ + || atom.gender == FEMALE && "её" \ + || atom.gender == NEUTER && "этого" \ + || "их" +// Д Кому/чему +// "Вы передали [TO_RU(src)] предмет" +#define TO_RU(atom) atom.gender == MALE && "ему" \ + || atom.gender == FEMALE && "ей" \ + || atom.gender == NEUTER && "этому" \ + || "им" +// Д К кому/к чему +// "По [TO2_RU(src)] сразу видно" +#define TO2_RU(atom) atom.gender == MALE && "нему" \ + || atom.gender == FEMALE && "ней" \ + || atom.gender == NEUTER && "этому" \ + || "ним" +// В Кого/что +// "Вы больше не видите [THEM_RU(src)]" +#define THEM_RU(atom) atom.gender == MALE && "его" \ + || atom.gender == FEMALE && "её" \ + || atom.gender == NEUTER && "это" \ + || "их" +// Т Кем/чем +// "Вы пытаетесь ударить [BY_RU(src)]" +#define BY_RU(atom) atom.gender == MALE && "им" \ + || atom.gender == FEMALE && "ею" \ + || atom.gender == NEUTER && "этим" \ + || "ими" +// П (В) ком/чём +// "Вы полностью уверены в [IN_RU(src)]" +#define IN_RU(atom) atom.gender == MALE && "нём" \ + || atom.gender == FEMALE && "ней" \ + || atom.gender == NEUTER && "этом" \ + || "них" +// П О ком/о чём +// "Вы всё время думаете [ABOUT_RU(src)]" +#define ABOUT_RU(atom) atom.gender == MALE && "о нём" \ + || atom.gender == FEMALE && "о ней" \ + || atom.gender == NEUTER && "об этом" \ + || "о них" +// Чьё +// "По неизвестной причине [MY_RU(src)] зрение ухудшается" // todo: имеется в виду [MY_RU(зрение)], тут и ниже - так себе примеры +#define MY_RU(atom) atom.gender == MALE && "мой" \ + || atom.gender == FEMALE && "моя" \ + || atom.gender == NEUTER && "моё" \ + || "мои" +// Чьё +// "Вы пытаетесь встать, но [YOURS_RU(src)] ноги не шевелятся" +#define YOURS_RU(atom) atom.gender == MALE && "ваш" \ + || atom.gender == FEMALE && "ваша" \ + || atom.gender == NEUTER && "ваше" \ + || "ваши" +// Который +// "К сожалению, [WHICH_RU(src)] органическое лезвие нельзя положить в сумку" +#define WHICH_RU(atom) atom.gender == MALE && "этот" \ + || atom.gender == FEMALE && "эта" \ + || atom.gender == NEUTER && "это" \ + || "эти" + +//////////////////////////////////////////////// +// Глагол // +//////////////////////////////////////////////// + +// Прошедшее время глагола +// "делал[VERB_RU(src)]" +#define VERB_RU(atom) atom.gender == FEMALE && "а" \ + || atom.gender == NEUTER && "о" \ + || atom.gender == PLURAL && "и" \ + || "" +// Прошедшее время возвратного глагола +// "отказал[VERB2_RU(src)] взять предмет" +#define VERB2_RU(atom) atom.gender == MALE && "ся" \ + || atom.gender == FEMALE && "ась" \ + || atom.gender == NEUTER && "ось" \ + || "ись" + +//////////////////////////////////////////////// +// Прочее // +//////////////////////////////////////////////// + +// Произвольное слово в вариации по родам +// "[vessel] [ANYMORPH(vessel, "полон", "полна", "полно", "полны")]" +#define ANYMORPH(atom, w_male, w_female, w_neuter, w_plural) atom.gender == MALE && w_male \ + || atom.gender == FEMALE && w_female \ + || atom.gender == NEUTER && w_neuter \ + || w_plural + +// Capitalize Case: тоже самое, что и CASE, только превращает первую букву в заглавную +#define C_CASE(atom, case) capitalize(CASE(atom, case)) + +// Выводит отформатированное оригинальное name объекта на английском, и в скобках перевод, если он существует +#define CASEPLUS(datum, case) (datum.cases && datum.cases[case] ? "\the [datum.name] ([capitalize(datum.cases[case])])" : datum.name) + +// Часто встречаемые pluralize_russian(). Не забывайте про существование нецелых чисел и округления - они тоже влияют. +#define PLUR_UNITS(units) pluralize_russian(units, "юнит", "юнита", "юнитов") + +#define PLUR_SECONDS_LEFT(seconds) pluralize_russian(seconds, "секунда", "секунды", "секунд") // "Осталась 1 секунда". Не путайте с нижним. +#define PLUR_SECONDS_IN(seconds) pluralize_russian(seconds, "секунду", "секунды", "секунд") // "Через 1 секунду". Не путайте с верхним. + +#define PLUR_MINUTES_LEFT(minutes) pluralize_russian(minutes, "минута", "минуты", "минут") // "Осталась 1 минута". Не путайте с нижним. +#define PLUR_MINUTES_IN(minutes) pluralize_russian(minutes, "минуту", "минуты", "минут") // "Через 1 минуту". Не путайте с верхним. + +#define PLURALIZE_RUSSIAN_POINTS(points) pluralize_russian(points, "очко", "очка", "очков") // "20 очков" diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 9c4dae49e0e8..a53e9af52995 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -270,7 +270,6 @@ block( \ if(I.imp_in) . |= I.imp_in -#define SIGNV(X) ((X<0)?-1:1) /proc/inLineOfSight(X1,Y1,X2,Y2,Z=1,PX1=16.5,PY1=16.5,PX2=16.5,PY2=16.5) var/turf/T @@ -301,7 +300,6 @@ block( \ if(IS_OPAQUE_TURF(T)) return 0 return 1 -#undef SIGNV /proc/isInSight(atom/A, atom/B) diff --git a/code/__HELPERS/stat_tracking.dm b/code/__HELPERS/stat_tracking.dm index 007cd2695d0a..2f55ea0455df 100644 --- a/code/__HELPERS/stat_tracking.dm +++ b/code/__HELPERS/stat_tracking.dm @@ -8,6 +8,6 @@ lines += "[entry] => [num2text(data[STAT_ENTRY_TIME], 10)]ms ([data[STAT_ENTRY_COUNT]]) (avg:[num2text(data[STAT_ENTRY_TIME]/(data[STAT_ENTRY_COUNT] || 1), 99)])" if (user) - user << browse("
  1. [lines.Join("
  2. ")]
", "window=[url_encode("stats:[REF(stats)]")]") + user << browse(HTML_SKELETON("
  1. [lines.Join("
  2. ")]
"), "window=[url_encode("stats:[REF(stats)]")]") . = lines.Join("\n") diff --git a/code/_onclick/hud/map_popups.dm b/code/_onclick/hud/map_popups.dm index 539d5f551055..e93200a52ad1 100644 --- a/code/_onclick/hud/map_popups.dm +++ b/code/_onclick/hud/map_popups.dm @@ -52,6 +52,17 @@ /atom/movable/screen/proc/set_position(x, y, px = 0, py = 0) if(assigned_map) screen_loc = "[assigned_map]:[x]:[px],[y]:[py]" + ASYNC + // HACK: This fixes the character creator in 516 being small and relying on other byondui things (like cameras) to open in order to update and refresh. + // This also will fix the camera console screen being offset, Gateway, and admin pod panel. + // Adding 100 then setting it back seemed to do the trick! + // Why the fuck does this work? This is some byond bug and I honestly have no fucking clue why this works. + // I don't think plane master will be affected, I hope. + // We're stuck in the belly of this awful machine. + sleep(0.2 SECONDS) // If it's too fast, it has a chance to fail? Idk. This seems like a good number. + screen_loc = "[assigned_map]:[x+100]:[px],[y+100]:[py]" + sleep(0.2 SECONDS) + screen_loc = "[assigned_map]:[x]:[px],[y]:[py]" else screen_loc = "[x]:[px],[y]:[py]" diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index 408c506ef3dc..6ff69d0ed9ac 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -526,3 +526,10 @@ /datum/config_entry/string/elasticsearch_metrics_endpoint /datum/config_entry/string/elasticsearch_metrics_apikey + +/** + * Tgui ui_act payloads larger than 2kb are split into chunks a maximum of 1kb in size. + * This flag represents the maximum chunk count the server is willing to receive. + */ +/datum/config_entry/number/tgui_max_chunk_count + default = 32 diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index c07390d1f57c..b3d1fa36902b 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -39,6 +39,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks) species_blacklist = list( "Blood Deficiency" = list(SPECIES_IPC, SPECIES_JELLYPERSON, SPECIES_PLASMAMAN, SPECIES_VAMPIRE), + "Dwarfism" = list(SPECIES_IPC, SPECIES_KEPORI, SPECIES_VOX, SPECIES_RACHNID), // [CELADON-ADD] - NO_FUN_ALLOWED_SPECIES "Alcohol Tolerance" = list(SPECIES_IPC, SPECIES_PLASMAMAN), "Light Drinker" = list(SPECIES_IPC, SPECIES_PLASMAMAN), "Smoker" = list(SPECIES_IPC, SPECIES_PLASMAMAN), diff --git a/code/datums/datum.dm b/code/datums/datum.dm index 3a54f441db3f..c62fee21e73c 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -46,6 +46,12 @@ /// List for handling persistent filters. var/list/filter_data + /// [CELADONE-ADD] + /// russian case forms of atom name in format + /// list(NOMINATIVE_CASE, GENITIVE_CASE, DATIVE_CASE, ACCUSATIVE_CASE, ABLATIVE_CASE, PREPOSITIONAL_CASE) + /// for usage with CASE macros (code/__DEFINES/~mod_celadon/_translation.dm) + var/list/cases = null + #ifdef REFERENCE_TRACKING /// When was this datum last touched by a reftracker? /// If this value doesn't match with the start of the search diff --git a/code/datums/hud.dm b/code/datums/hud.dm index db71dfe61395..f605e28045f8 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -3,7 +3,7 @@ GLOBAL_LIST_EMPTY(all_huds) //GLOBAL HUD LIST -GLOBAL_LIST_INIT(huds, list( +GLOBAL_LIST_INIT(huds, alist( DATA_HUD_SECURITY_BASIC = new/datum/atom_hud/data/human/security/basic(), DATA_HUD_SECURITY_ADVANCED = new/datum/atom_hud/data/human/security/advanced(), DATA_HUD_MEDICAL_BASIC = new/datum/atom_hud/data/human/medical/basic(), diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm index 078eb605fcb3..8536ebfd1c27 100644 --- a/code/datums/looping_sounds/machinery_sounds.dm +++ b/code/datums/looping_sounds/machinery_sounds.dm @@ -30,8 +30,6 @@ end_sound = 'sound/machines/generator/generator_end.ogg' volume = 40 -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // [CELADON-ADD] - CELADON_GRAVGEN /datum/looping_sound/gravity_generator mid_sounds = list('mod_celadon/_storage_sounds/sound/effects/beam.ogg') @@ -40,7 +38,6 @@ falloff_distance = 3 // [/CELADON-ADD] -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /datum/looping_sound/oven start_sound = 'sound/machines/oven/oven_loop_start.ogg' start_length = 12 diff --git a/code/datums/profiling.dm b/code/datums/profiling.dm index 49a80d0eded6..3e8505b8db47 100644 --- a/code/datums/profiling.dm +++ b/code/datums/profiling.dm @@ -15,4 +15,6 @@ GLOBAL_REAL_VAR(PROFILE_TIME) var/list/data = PROFILE_STORE[entry] lines += "[entry] => [num2text(data[PROFILE_ITEM_TIME], 10)]ms ([data[PROFILE_ITEM_COUNT]]) (avg:[num2text(data[PROFILE_ITEM_TIME]/(data[PROFILE_ITEM_COUNT] || 1), 99)])" - user << browse("
  1. [lines.Join("
  2. ")]
", "window=[url_encode(GUID())]") + var/datum/browser/browser = new(user, "[url_encode(GUID())]", null, 500, 500) + browser.set_content("
  1. [lines.Join("
  2. ")]
") + browser.open() diff --git a/code/datums/wounds/_wounds.dm b/code/datums/wounds/_wounds.dm index 88480101f5c0..b57b1a518c0f 100644 --- a/code/datums/wounds/_wounds.dm +++ b/code/datums/wounds/_wounds.dm @@ -400,4 +400,4 @@ /// Gets the name of the wound with any interactable topic if possible /datum/wound/proc/get_topic_name(mob/user) - return show_wound_topic(user) ? "[lowertext(name)]" : lowertext(name) + return show_wound_topic(user) ? "[lowertext(name)]" : lowertext(name) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index d5da5fa63f9d..3d04fbd5e576 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -459,7 +459,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod/retro, 17) to_chat(target, span_boldnotice("If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.")) name = "[name] ([occupant.name])" log_admin(span_notice("[key_name(target)] entered a stasis pod.")) - message_admins("[key_name_admin(target)] entered a stasis pod. (JMP)") + message_admins("[key_name_admin(target)] entered a stasis pod. (JMP)") add_fingerprint(target) /obj/machinery/cryopod/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock, idnum, override) diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm index 0a09a5aa98d5..8d2f0c3d717e 100644 --- a/code/game/machinery/telecomms/machines/message_server.dm +++ b/code/game/machinery/telecomms/machines/message_server.dm @@ -210,7 +210,7 @@ M << browse_rsc(picture.picture_image, "pda_photo.png") M << browse("PDA Photo" \ + "" \ - + "" \ + + "" \ + "", "window=pdaphoto;size=[picture.psize_x]x[picture.psize_y];can-close=true") onclose(M, "pdaphoto") diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index f9970929959e..e2be1ce0ba34 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -26,7 +26,7 @@ max_integrity = 300 //max_integrity is base health var/deflect_chance = 10 //chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act. armor = list("melee" = 20, "bullet" = 10, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) - var/list/facing_modifiers = list(MECHA_FRONT_ARMOUR = 1.5, MECHA_SIDE_ARMOUR = 1, MECHA_BACK_ARMOUR = 0.5) + var/list/facing_modifiers = alist(MECHA_FRONT_ARMOUR = 1.5, MECHA_SIDE_ARMOUR = 1, MECHA_BACK_ARMOUR = 0.5) var/equipment_disabled = 0 //disabled due to EMP var/obj/item/stock_parts/cell/cell ///Keeps track of the mech's cell var/obj/item/stock_parts/scanning_module/scanmod ///Keeps track of the mech's scanning module diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index ead0bedb8722..196350a179eb 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -365,11 +365,11 @@ update_label() /obj/item/card/id/syndicate/attack_self(mob/living/carbon/user) //[CELADON-EDIT] mob/user -> mob/living/carbon/user if(isliving(user) && user.mind) var/first_use = registered_name ? FALSE : TRUE - // [CELADON-FIX] Fixes agent card's mind check from special_role to faction + adds fingerprint check + // [CELADON-FIXES] Fixes agent card's mind check from special_role to faction + adds fingerprint check var/list/user_faction_list = user.faction if(!(user_faction_list.Find("[FACTION_PLAYER_SYNDICATE]")) && (!fingerprint || fingerprint != user.dna.uni_identity)) //if(!(user.mind.special_role || anyone)) //Unless anyone is allowed, only syndies can use the card, to stop metagaming. - // [/CELADON-FIX] + // [CELADON-FIXES] if(first_use) //If a non-syndie is the first to forge an unassigned agent ID, then anyone can forge it. anyone = TRUE else diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm index 6379c3ac7197..67de48ac8912 100644 --- a/code/game/objects/items/charter.dm +++ b/code/game/objects/items/charter.dm @@ -58,7 +58,7 @@ to_chat(user, span_notice("Your name has been sent to your employers for approval.")) // Autoapproves after a certain time response_timer_id = addtimer(CALLBACK(src, PROC_REF(rename_station), new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE) - to_chat(GLOB.admins, span_adminnotice("CUSTOM STATION RENAME:[ADMIN_LOOKUPFLW(user)] proposes to rename the [name_type] to [new_name] (will autoapprove in [DisplayTimeText(approval_time)]). [ADMIN_SMITE(user)] (REJECT) [ADMIN_CENTCOM_REPLY(user)]")) + to_chat(GLOB.admins, span_adminnotice("CUSTOM STATION RENAME:[ADMIN_LOOKUPFLW(user)] proposes to rename the [name_type] to [new_name] (will autoapprove in [DisplayTimeText(approval_time)]). [ADMIN_SMITE(user)] (REJECT) [ADMIN_CENTCOM_REPLY(user)]")) /obj/item/sector_charter/proc/reject_proposed(user) if(!user) diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index 8f24d81754df..f5c0b8921a55 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -57,10 +57,12 @@ dat += "\[Wipe current pAI personality\]
" else dat += "No personality installed.
" - dat += "Searching for a personality... Press view available personalities to notify potential candidates." + dat += "Searching for a personality... Press view available personalities to notify potential candidates.
" dat += "\[View available personalities\]
" - user << browse(dat, "window=paicard") - onclose(user, "paicard") + + var/datum/browser/popup = new(user, "Personal AI Device", name, 500, 430) + popup.set_content(dat) + popup.open() return /obj/item/paicard/Topic(href, href_list) diff --git a/code/game/objects/items/devices/spyglasses.dm b/code/game/objects/items/devices/spyglasses.dm index a958ac4f8de3..d465c2ada11c 100644 --- a/code/game/objects/items/devices/spyglasses.dm +++ b/code/game/objects/items/devices/spyglasses.dm @@ -21,10 +21,10 @@ . = ..() if(slot != ITEM_SLOT_EYES) user.client.close_popup("spypopup") - // [CELADON-FIX] Some QoL fixes. This one is extra funny + // [CELADON-FIXES] Some QoL fixes. This one is extra funny return activate_remote_view() - // [/CELADON-FIX] + // [CELADON-FIXES] /obj/item/clothing/glasses/regular/spy/dropped(mob/user) . = ..() diff --git a/code/game/objects/items/storage/secure.dm b/code/game/objects/items/storage/secure.dm index 3d6c0895247d..5a10d787bb93 100644 --- a/code/game/objects/items/storage/secure.dm +++ b/code/game/objects/items/storage/secure.dm @@ -76,7 +76,9 @@ if (!locked) message = "*****" dat += text("
\n>[]
\n1-2-3
\n4-5-6
\n7-8-9
\nR-0-E
\n", message) - user << browse(dat, "window=caselock;size=300x280") + var/datum/browser/popup = new(user, "Passcode Interface", name, 300, 280) + popup.set_content(dat) + popup.open() /obj/item/storage/secure/Topic(href, href_list) ..() diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index 164740237bb7..55d2d790deb0 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -202,4 +202,4 @@ /obj/item/storage/wallet/random/PopulateContents() new /obj/effect/spawner/random/entertainment/wallet_storage(src) - icon_state = "wallet" + icon_state = "wallet_closed" diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 39d053f6d4dc..5511779be387 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -444,8 +444,8 @@ dat += "
" if(SSticker.IsRoundInProgress()) dat += "(Game Mode Panel)
" + dat += "
" dat += {" -
Create Object
Quick Create Object
Create Turf
@@ -460,7 +460,6 @@ var/datum/browser/popup = new(usr, "admin2", null, 240, 280) popup.set_content(dat) popup.open() -// usr << browse(dat, "window=admin2;size=240x280") return /////////////////////////////////////////////////////////////////////////////////////////////////admins2.dm merge @@ -868,10 +867,7 @@ to_chat(usr, "No AIs located" , confidential = TRUE) /datum/admins/proc/dynamic_mode_options(mob/user) - var/dat = {" -

Dynamic Mode Options


-
-

Common options

+ var/dat = {"

Common options

All these options can be changed midround.

Force extended: - Option is [GLOB.dynamic_forced_extended ? "ON" : "OFF"]. @@ -901,9 +897,11 @@ Midround injection delay:
Minimum: -> [GLOB.dynamic_midround_delay_min / 60 / 10] <- Minutes
Maximum: -> [GLOB.dynamic_midround_delay_max / 60 / 10] <- Minutes
- "} + "} - user << browse(dat, "window=dyn_mode_options;size=900x650") + var/datum/browser/browser = new(user, "dyn_mode_options", "Dynamic Mode Options", 900, 650) + browser.set_content(dat) + browser.open() /datum/admins/proc/create_or_modify_area() set category = "Debug" diff --git a/code/modules/admin/permissionedit.dm b/code/modules/admin/permissionedit.dm index 8ecfad437a1c..3bf786adb43d 100644 --- a/code/modules/admin/permissionedit.dm +++ b/code/modules/admin/permissionedit.dm @@ -121,9 +121,9 @@ deadminlink = " \[DA\]" var/verify_link = "" if (D.blocked_by_2fa) - verify_link += " | \[2FA VERIFY\]" + verify_link += " | \[2FA VERIFY\]" output += "" - output += "[adm_ckey]
[deadminlink]\[-\]\[SYNC TGDB\][verify_link]" + output += "[adm_ckey]
[deadminlink]\[-\]\[SYNC TGDB\][verify_link]" output += "[D.rank.name]" output += "[rights2text(D.rank.include_rights," ")]" output += "[rights2text(D.rank.exclude_rights," ", "-")]" diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 367e4f57c8b8..9231e8b5059c 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1879,8 +1879,6 @@ var/list/dat = list() dat += thing_to_check -// usr << browse(dat.Join("
"), "window=related_[C];size=420x300") - var/datum/browser/popup = new(usr, "related_[C]", "Related accounts by [uppertext(href_list["showrelatedacc"])]:", 425, 300) popup.set_content(dat.Join("
")) popup.open() diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index bd221a45f18e..6c0549fa122f 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -541,7 +541,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null if(length(select_text)) var/text = islist(select_text)? select_text.Join() : select_text var/static/result_offset = 0 - showmob << browse(text, "window=SDQL-result-[result_offset++]") + showmob << browse(HTML_SKELETON(text), "window=SDQL-result-[result_offset++]") show_next_to_key = null if(qdel_on_finish) qdel(src) diff --git a/code/modules/admin/verbs/getlogs.dm b/code/modules/admin/verbs/getlogs.dm index 1f706091c6b4..69841500facc 100644 --- a/code/modules/admin/verbs/getlogs.dm +++ b/code/modules/admin/verbs/getlogs.dm @@ -24,7 +24,7 @@ message_admins("[key_name_admin(src)] accessed file: [path]") switch(alert("View (in game), Open (in your system's text editor), or Download?", path, "View", "Open", "Download")) if ("View") - src << browse("
[html_encode(file2text(file(path)))]
", list2params(list("window" = "viewfile.[path]"))) + src << browse(HTML_SKELETON("
[html_encode(file2text(file(path)))]
"), list2params(list("window" = "viewfile.[path]"))) if ("Open") src << run(file(path)) if ("Download") diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 0b45809d9013..863db4a3939f 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -90,7 +90,7 @@ GLOBAL_PROTECT(admin_verbs_debug_extra) for(var/turf/T in seen) T.maptext = "[seen[T]]" BLACKBOX_LOG_ADMIN_VERB("Show Camera Range") - BLACKBOX_LOG_ADMIN_VERB("Show Camera Range") + //BLACKBOX_LOG_ADMIN_VERB("Show Camera Range") // what the fuck? Why? #ifdef TESTING GLOBAL_LIST_EMPTY(dirty_vars) @@ -146,7 +146,7 @@ GLOBAL_LIST_EMPTY(dirty_vars) output += "
  • Camera not connected to wall at [ADMIN_VERBOSEJMP(C1)] Network: [json_encode(C1.network)]
  • " output += "" - usr << browse(output,"window=airreport;size=1000x500") + usr << browse(HTML_SKELETON(output),"window=airreport;size=1000x500") BLACKBOX_LOG_ADMIN_VERB("Show Camera Report") /client/proc/intercom_view() @@ -180,7 +180,7 @@ GLOBAL_LIST_EMPTY(dirty_vars) dat += "[ADMIN_VERBOSEJMP(T)]\n" dat += "
    " - usr << browse(dat, "window=at_list") + usr << browse(HTML_SKELETON(dat), "window=at_list") BLACKBOX_LOG_ADMIN_VERB("Show Roundstart Active Turfs") diff --git a/code/modules/admin/verbs/secrets.dm b/code/modules/admin/verbs/secrets.dm index c147e3a092fe..337b9794b115 100644 --- a/code/modules/admin/verbs/secrets.dm +++ b/code/modules/admin/verbs/secrets.dm @@ -55,15 +55,14 @@ switch(action) //Generic Buttons anyone can use. if("admin_log") - var/dat = "Admin Log
    " + var/dat for(var/l in GLOB.admin_log) dat += "
  • [l]
  • " if(!GLOB.admin_log.len) dat += "No-one has done anything this round!" - //holder << browse(dat, "window=admin_log") WS edit - var/datum/browser/popup = new(holder, "admin_log", null, 300, 430) - popup.set_content(dat) - popup.open() + var/datum/browser/browser = new(holder, "admin_log", "Admin Logs", 600, 500) + browser.set_content(dat) + browser.open() //WS Begin - Mentors if("mentor_log") @@ -78,15 +77,15 @@ //WS end if("show_admins") - var/dat = "Current admins:
    " + var/dat if(GLOB.admin_datums) for(var/ckey in GLOB.admin_datums) var/datum/admins/D = GLOB.admin_datums[ckey] dat += "[ckey] - [D.rank.name]
    " //holder << browse(dat, "window=showadmins;size=600x500") WS edit - var/datum/browser/popup = new(holder, "showadmins", null, 600, 500) - popup.set_content(dat) - popup.open() + var/datum/browser/browser = new(holder, "showadmins", "Current admins", 600, 500) + browser.set_content(dat) + browser.open() //Buttons for debug. if("maint_access_engiebrig") diff --git a/code/modules/admin/verbs/selectequipment.dm b/code/modules/admin/verbs/selectequipment.dm index eb9209afaee1..8610aed6c7cf 100644 --- a/code/modules/admin/verbs/selectequipment.dm +++ b/code/modules/admin/verbs/selectequipment.dm @@ -141,7 +141,8 @@ cached_outfits = list() cached_outfits += list(outfit_entry("General", /datum/outfit, "Naked", priority=TRUE)) cached_outfits += make_outfit_entries("General", subtypesof(/datum/outfit) - typesof(/datum/outfit/job) - typesof(/datum/outfit/plasmaman)) - cached_outfits += make_outfit_entries("Jobs", typesof(/datum/outfit/job)) + cached_outfits += make_outfit_entries("Ship Outfits", typesof(/datum/outfit/job/cel)) // [CELADON-EDIT] - SHIP_JOBS + cached_outfits += make_outfit_entries("Jobs", typesof(/datum/outfit/job) - typesof(/datum/outfit/job/cel)) // [/CELADON-EDIT] cached_outfits += make_outfit_entries("Plasmamen Outfits", typesof(/datum/outfit/plasmaman)) data["outfits"] = cached_outfits diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 800d7aecb06b..e4df6687148d 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -386,7 +386,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( msg += "Your version: [byond_version]
    " msg += "Required version to remove this message: [cwv] or later
    " msg += "Visit BYOND's website to get the latest version of BYOND.
    " - src << browse(msg, "window=warning_popup") + src << browse(HTML_SKELETON(msg), "window=warning_popup") else to_chat(src, span_danger("Your version of byond may be getting out of date:")) to_chat(src, CONFIG_GET(string/client_warn_message)) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 6ef2b74a5641..3b4aa1cf5fb5 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -487,7 +487,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

    Height

    " - dat += "[height_filter]
    " + dat += "[height_filter]
    " // Everyone gets mutant colors now. dat += "

    Mutant Colors

    " @@ -713,7 +713,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "[features["ipc_hair"]]
    " - dat += "    Change
    " + dat += "    Change
    " mutant_category++ if(mutant_category >= MAX_MUTANT_ROWS) @@ -941,7 +941,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

    Ears markings

    " dat += "[features["tajara_ears_markings"]]
    " - dat += "    Change" + dat += "    Change" mutant_category++ if(mutant_category >= MAX_MUTANT_ROWS) @@ -954,7 +954,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

    Head markings

    " dat += "[features["tajara_head_markings"]]
    " - dat += "    Change" + dat += "    Change" mutant_category++ if(mutant_category >= MAX_MUTANT_ROWS) @@ -967,7 +967,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

    Nose markings

    " dat += "[features["tajara_nose_markings"]]
    " - dat += "    Change" + dat += "    Change" //dat += "

    Skin Tone nose

    " //dat += "[skin_tone_nose]" @@ -984,7 +984,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

    Chest markings

    " dat += "[features["tajara_chest_markings"]]
    " - dat += "    Change" + dat += "    Change" mutant_category++ if(mutant_category >= MAX_MUTANT_ROWS) @@ -997,7 +997,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

    Body markings

    " dat += "[features["tajara_body_markings"]]
    " - dat += "    Change" + dat += "    Change" mutant_category++ if(mutant_category >= MAX_MUTANT_ROWS) @@ -1035,7 +1035,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

    Ears markings

    " dat += "[features["riol_ears_markings"]]
    " - dat += "    Change" + dat += "    Change" mutant_category++ if(mutant_category >= MAX_MUTANT_ROWS) @@ -1048,7 +1048,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

    Head markings

    " dat += "[features["riol_head_markings"]]
    " - dat += "    Change" + dat += "    Change" mutant_category++ if(mutant_category >= MAX_MUTANT_ROWS) @@ -1061,7 +1061,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

    Nose markings

    " dat += "[features["riol_nose_markings"]]
    " - dat += "    Change" + dat += "    Change" mutant_category++ if(mutant_category >= MAX_MUTANT_ROWS) @@ -1074,7 +1074,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

    Chest markings

    " dat += "[features["riol_chest_markings"]]
    " - dat += "    Change" + dat += "    Change" mutant_category++ if(mutant_category >= MAX_MUTANT_ROWS) @@ -1087,7 +1087,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

    Body markings

    " dat += "[features["riol_body_markings"]]
    " - dat += "    Change" + dat += "    Change" mutant_category++ if(mutant_category >= MAX_MUTANT_ROWS) @@ -1100,7 +1100,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) // dat += "

    Tail markings

    " // dat += "[features["riol_tail_markings"]]
    " - // dat += "    Change" + // dat += "    Change" // mutant_category++ // if(mutant_category >= MAX_MUTANT_ROWS) @@ -1125,7 +1125,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

    Tail

    " dat += "[features["riol_tail"]]
    " - dat += "    Change" + dat += "    Change" mutant_category++ if(mutant_category >= MAX_MUTANT_ROWS) @@ -1206,7 +1206,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) //for(var/index in prosthetic_limbs) //var/bodypart_name = parse_zone(index) //dat += "[bodypart_name]:" - //dat += "[prosthetic_limbs[index]]" + //dat += "[prosthetic_limbs[index]]" //dat += "
    " [/CELADON-EDIT] - ORIGINAL END if(!istype(pref_species, /datum/species/lanius)) dat += "

    Prosthetic Limbs

    " @@ -1218,7 +1218,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) for(var/index in prosthetic_limbs) var/bodypart_name = parse_zone(index) dat += "[bodypart_name]:" - dat += "[prosthetic_limbs[index]]" + dat += "[prosthetic_limbs[index]]" dat += "
    " //[/CELADON - EDIT] if(2) //Loadout diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm index 703a2b4d63ee..82e67a8445e5 100644 --- a/code/modules/client/verbs/ooc.dm +++ b/code/modules/client/verbs/ooc.dm @@ -392,7 +392,7 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") //Collect keywords var/list/keywords = mob.get_policy_keywords() var/header = get_policy(POLICY_VERB_HEADER) - var/list/policytext = list(header,"
    ") + var/list/policytext = list(header) var/anything = FALSE for(var/keyword in keywords) var/p = get_policy(keyword) @@ -403,7 +403,9 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") if(!anything) policytext += "No related rules found." - usr << browse(policytext.Join(""),"window=policy") + var/datum/browser/browser = new(usr, "policy", "Server Policy", 600, 500) + browser.set_content(policytext.Join("")) + browser.open() /client/verb/fix_stat_panel() set name = "Fix Stat Panel" diff --git a/code/modules/mapping/verify.dm b/code/modules/mapping/verify.dm index 1f071aaec720..fe68afefcc5d 100644 --- a/code/modules/mapping/verify.dm +++ b/code/modules/mapping/verify.dm @@ -15,7 +15,6 @@ /// Show a rendered version of this report to a client. /datum/map_report/proc/show_to(client/C) var/list/html = list() - html += "

    Report for map file [original_path]

    " if(crashed) html += "

    Validation crashed: check the runtime logs.

    " if(!loadable) @@ -39,7 +38,9 @@ html += "" html += "" html += "

    " - C << browse(html.Join(), "window=[tag];size=600x400") + var/datum/browser/browser = new(C.mob, "[tag]", "Report for map file [original_path]", 600, 400) + browser.set_content(html.Join()) + browser.open() /datum/map_report/Topic(href, href_list) . = ..() diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 8b11b6e5645c..2d5987542263 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -224,12 +224,11 @@ var/less_input_message if(SSlag_switch.measures[DISABLE_DEAD_KEYLOOP]) less_input_message = " - Notice: Observer freelook is currently disabled." - var/this_is_like_playing_right = tgui_alert(src, "Are you sure you wish to observe? You will [CONFIG_GET(flag/norespawn) ? "not " : "" ]be able to respawn later.[less_input_message]", "Player Setup", list("Yes","No")) + // Don't convert this to tgui please, it's way too important + var/this_is_like_playing_right = alert(usr, "Are you sure you wish to observe? You will not be able to play this round![less_input_message]", "Observe", "Yes", "No") if(QDELETED(src) || !src.client || this_is_like_playing_right != "Yes") ready = PLAYER_NOT_READY - src << browse(null, "window=playersetup") //closes the player setup window - new_player_panel() return FALSE var/mob/dead/observer/observer = new() diff --git a/code/modules/mob/dead/new_player/poll.dm b/code/modules/mob/dead/new_player/poll.dm index efff1afef14d..b90c7a30c539 100644 --- a/code/modules/mob/dead/new_player/poll.dm +++ b/code/modules/mob/dead/new_player/poll.dm @@ -11,7 +11,7 @@ continue output += "[poll.question]" output += "" - src << browse(jointext(output, ""),"window=playerpolllist;size=500x300") + src << browse(HTML_SKELETON(jointext(output, "")),"window=playerpolllist;size=500x300") /** * Redirects a player to the correct poll window based on poll type. @@ -77,7 +77,7 @@ if(!voted_option_id || poll.allow_revoting) output += "

    " output += "" - src << browse(jointext(output, ""),"window=playerpoll;size=500x250") + src << browse(HTML_SKELETON(jointext(output, "")),"window=playerpoll;size=500x250") /** * Shows voting window for a text response type poll, listing its relevant details. @@ -113,8 +113,8 @@ "} else output += "[reply_text]" - output += "" - src << browse(jointext(output, ""),"window=playerpoll;size=500x500") + output += "" + src << browse(HTML_SKELETON(jointext(output, "")),"window=playerpoll;size=500x500") /** * Shows voting window for a rating type poll, listing its options and relevant details. @@ -169,7 +169,7 @@ if(!length(voted_ratings) || poll.allow_revoting) output += "

    " output += "" - src << browse(jointext(output, ""),"window=playerpoll;size=500x500") + src << browse(HTML_SKELETON(jointext(output, "")),"window=playerpoll;size=500x500") /** * Shows voting window for a multiple choice type poll, listing its options and relevant details. @@ -213,7 +213,7 @@ if(!length(voted_for) || poll.allow_revoting) output += "

    " output += "" - src << browse(jointext(output, ""),"window=playerpoll;size=500x300") + src << browse(HTML_SKELETON(jointext(output, "")),"window=playerpoll;size=500x300") /** * Shows voting window for an IRV type poll, listing its options and relevant details. @@ -300,8 +300,8 @@ output += "

    Least Preferred

    " if(!length(voted_for) || poll.allow_revoting) output += "

    " - output += "" - src << browse(jointext(output, ""),"window=playerpoll;size=500x500") + output += "" + src << browse(HTML_SKELETON(jointext(output, "")),"window=playerpoll;size=500x500") /** * Runs some poll validation before a vote is processed. diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm index b4bc85375763..9723b799ff19 100644 --- a/code/modules/mob/living/carbon/examine.dm +++ b/code/modules/mob/living/carbon/examine.dm @@ -205,10 +205,10 @@ msg += "\t[t_His] [limb.name] is suffering [W.a_or_from] [W.get_topic_name(user)]!!" if(limb.current_gauze) var/datum/bodypart_aid/current_gauze = limb.current_gauze - msg += "\t[t_His] [limb.name] is [current_gauze.desc_prefix] with [current_gauze.get_description()]." + msg += "\t[t_His] [limb.name] is [current_gauze.desc_prefix] with [current_gauze.get_description()]." if(limb.current_splint) var/datum/bodypart_aid/current_splint = limb.current_splint - msg += "\t[t_His] [limb.name] is [current_splint.desc_prefix] with [current_splint.get_description()]." + msg += "\t[t_His] [limb.name] is [current_splint.desc_prefix] with [current_splint.get_description()]." if(!any_bodypart_damage) msg += "\t[t_He] [t_Has] no significantly damaged bodyparts." diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index c1df99934cae..528778dccc22 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -846,10 +846,10 @@ if(body_part.current_gauze) var/datum/bodypart_aid/current_gauze = body_part.current_gauze - combined_msg += "\t Your [body_part.name] is [current_gauze.desc_prefix] with [current_gauze.get_description()]." + combined_msg += "\t Your [body_part.name] is [current_gauze.desc_prefix] with [current_gauze.get_description()]." if(body_part.current_splint) var/datum/bodypart_aid/current_splint = body_part.current_splint - combined_msg += "\t Your [body_part.name] is [current_splint.desc_prefix] with [current_splint.get_description()]." + combined_msg += "\t Your [body_part.name] is [current_splint.desc_prefix] with [current_splint.get_description()]." for(var/obj/item/I in body_part.embedded_objects) if(I.isEmbedHarmless()) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 49a550d45622..33d6aa382c60 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -276,11 +276,11 @@ if (C && istype(C, /list)) var/dat2 = "" for (var/obj/machinery/camera/I in C) - dat2 += text("[][]", (dat2=="") ? "" : " | ", I.c_tag) + dat2 += text("[][])", A.name, Ctmp.c_tag) else dat += text("-- [] (No Camera)", A.name) if (sources.len > 1) @@ -494,12 +494,12 @@ if (cameras) if (cam?.can_use()) - queueAlarm("--- [class] alarm detected in [home.name]! ([cam.c_tag])", class) + queueAlarm("--- [class] alarm detected in [home.name]! ( BS_JUMP_CALLED) diff --git a/code/modules/overmap/ships/controlled_ship_datum.dm b/code/modules/overmap/ships/controlled_ship_datum.dm index afc11e4feb09..5668151d2b1b 100644 --- a/code/modules/overmap/ships/controlled_ship_datum.dm +++ b/code/modules/overmap/ships/controlled_ship_datum.dm @@ -8,7 +8,8 @@ /datum/overmap/ship/controlled token_type = /obj/overmap/rendered dock_time = 10 SECONDS - interaction_options = list(INTERACTION_OVERMAP_DOCK, INTERACTION_OVERMAP_QUICKDOCK, INTERACTION_OVERMAP_HAIL, INTERACTION_OVERMAP_INTERDICTION) + interaction_options = list(INTERACTION_OVERMAP_DOCK, INTERACTION_OVERMAP_QUICKDOCK, INTERACTION_OVERMAP_INTERDICTION) + interaction_hail = list(INTERACTION_OVERMAP_HAIL) // [CELADON-ADD] - OVERMAP SENSORS var/default_sensor_range = 4 diff --git a/code/modules/overmap/ships/ship_datum.dm b/code/modules/overmap/ships/ship_datum.dm index 8e7ecd4b0e17..e707ef6f55f9 100644 --- a/code/modules/overmap/ships/ship_datum.dm +++ b/code/modules/overmap/ships/ship_datum.dm @@ -135,9 +135,15 @@ var/skiptickfortrail = 0 // [CELADON-EDIT] - Убираем предупреждение валидатора; [CELADON-EDIT] - Добавлены ковычки для запуска на 516 - var/list/obj/shiptrail/trails = list("1" = null, - "2" = null, - "3" = null) +#if DM_VERSION >= 516 + var/list/obj/shiptrail/trails = alist(1 = null, + 2 = null, + 3 = null) +#else + var/list/obj/shiptrail/trails = list(1 = null, + 2 = null, + 3 = null) +#endif // [/CELADON-EDIT] /datum/overmap/ship/proc/check_proximity() diff --git a/code/modules/photography/photos/photo.dm b/code/modules/photography/photos/photo.dm index a1afa45fc893..f4e74dee70a3 100644 --- a/code/modules/photography/photos/photo.dm +++ b/code/modules/photography/photos/photo.dm @@ -71,7 +71,7 @@ user << browse_rsc(picture.picture_image, "tmp_photo.png") user << browse("[name]" \ + "" \ - + "" \ + + "" \ + "[scribble ? "
    Written on the back:
    [scribble]" : ""]"\ + "", "window=photo_showing;size=480x608") onclose(user, "[name]") diff --git a/code/modules/tgui/tgui_window.dm b/code/modules/tgui/tgui_window.dm index 844ba6239a0f..ecbb5ab6ee36 100644 --- a/code/modules/tgui/tgui_window.dm +++ b/code/modules/tgui/tgui_window.dm @@ -26,6 +26,8 @@ var/initial_inline_css var/mouse_event_macro_set = FALSE + var/list/oversized_payloads = list() + /** * public * @@ -361,6 +363,17 @@ // Resend the assets for(var/asset in sent_assets) send_asset(asset) + if("oversizedPayloadRequest") + var/payload_id = payload["id"] + var/chunk_count = payload["chunkCount"] + var/permit_payload = chunk_count <= CONFIG_GET(number/tgui_max_chunk_count) + if(permit_payload) + create_oversized_payload(payload_id, payload["type"], chunk_count) + send_message("oversizePayloadResponse", list("allow" = permit_payload, "id" = payload_id)) + if("payloadChunk") + var/payload_id = payload["id"] + append_payload_chunk(payload_id, payload["chunk"]) + send_message("acknowlegePayloadChunk", list("id" = payload_id)) /datum/tgui_window/proc/set_mouse_macro() if(mouse_event_macro_set) @@ -398,3 +411,36 @@ for(var/mouseMacro in byondToTguiEventMap) winset(client, null, "[mouseMacro]Window[id]Macro.parent=null") mouse_event_macro_set = FALSE + +/datum/tgui_window/vv_edit_var(var_name, var_value) + return var_name != NAMEOF(src, id) && ..() + +/datum/tgui_window/proc/create_oversized_payload(payload_id, message_type, chunk_count) + if(oversized_payloads[payload_id]) + stack_trace("Attempted to create oversized tgui payload with duplicate ID.") + return + oversized_payloads[payload_id] = list( + "type" = message_type, + "count" = chunk_count, + "chunks" = list(), + "timeout" = addtimer(CALLBACK(src, PROC_REF(remove_oversized_payload), payload_id), 1 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) + ) + +/datum/tgui_window/proc/append_payload_chunk(payload_id, chunk) + var/list/payload = oversized_payloads[payload_id] + if(!payload) + return + var/list/chunks = payload["chunks"] + chunks += chunk + if(length(chunks) >= payload["count"]) + deltimer(payload["timeout"]) + var/message_type = payload["type"] + var/final_payload = chunks.Join() + remove_oversized_payload(payload_id) + if(final_payload != "") + on_message(message_type, json_decode(final_payload), list("type" = message_type, "payload" = final_payload, "tgui" = TRUE, "window_id" = id)) + else + payload["timeout"] = addtimer(CALLBACK(src, PROC_REF(remove_oversized_payload), payload_id), 1 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) + +/datum/tgui_window/proc/remove_oversized_payload(payload_id) + oversized_payloads -= payload_id diff --git a/code/modules/tgui_panel/external.dm b/code/modules/tgui_panel/external.dm index c37f289585a9..9faf1ed80de5 100644 --- a/code/modules/tgui_panel/external.dm +++ b/code/modules/tgui_panel/external.dm @@ -31,8 +31,7 @@ tgui_panel = new(src) tgui_panel.initialize(force = TRUE) // Force show the panel to see if there are any errors - winset(src, "output", "is-disabled=1&is-visible=0") - winset(src, "browseroutput", "is-disabled=0;is-visible=1") + winset(src, "legacy_output_selector", "left=output_browser") action = alert(src, "Method: Reinitializing the panel.\nWait a bit and tell me if it's fixed", "", "Fixed", "Nope") if(action == "Fixed") log_tgui(src, "Fixed by calling 'initialize'", @@ -41,7 +40,6 @@ // Failed to fix action = alert(src, "Welp, I'm all out of ideas. Try closing BYOND and reconnecting.\nWe could also disable tgui_panel and re-enable the old UI", "", "Thanks anyways", "Switch to old UI") if (action == "Switch to old UI") - winset(src, "output", "on-show=&is-disabled=0&is-visible=1") - winset(src, "browseroutput", "is-disabled=1;is-visible=0") + winset(src, "legacy_output_selector", "left=output_legacy") log_tgui(src, "Failed to fix.", context = "verb/fix_tgui_panel") diff --git a/config/config.txt b/config/config.txt index 08058efb44c7..ad78a9e9240d 100644 --- a/config/config.txt +++ b/config/config.txt @@ -577,3 +577,7 @@ ELASTICSEARCH_METRICS_ENDPOINT http://10.0.0.40:9201/ss13-metrics-stream/_doc ## ElasticSearch API key. This is formatted into the headers. Look at the ElasticSearch doc for how to make this ELASTICSEARCH_METRICS_APIKEY thisIsSomethingThatsBased64Encoded== + +## Tgui payloads larger than the 2kb limit for BYOND topic requests are split into roughly 1kb chunks and sent in sequence. +## This config option limits the maximum chunk count for which the server will accept a payload, default is 32 +TGUI_MAX_CHUNK_COUNT 32 diff --git a/dependencies.sh b/dependencies.sh index 671c39390775..c7c96fef39ee 100755 --- a/dependencies.sh +++ b/dependencies.sh @@ -4,8 +4,8 @@ #Final authority on what's required to fully build the project # byond version -export BYOND_MAJOR=515 -export BYOND_MINOR=1647 +export BYOND_MAJOR=516 +export BYOND_MINOR=1659 #rust version export RUST_VERSION=1.81.0 diff --git a/html/admin/search.js b/html/admin/search.js index 8c3bccba2c38..ade5d2de10c9 100644 --- a/html/admin/search.js +++ b/html/admin/search.js @@ -23,7 +23,7 @@ function updateSearch() { } if (found == 0) row.style.display = "none"; else { - row.style.display = "block"; + row.style.display='table-row'; /* DON'T make tables with block property */ row.className = alt_style; if (alt_style == "alt") alt_style = "norm"; else alt_style = "alt"; diff --git a/html/statbrowser.css b/html/statbrowser.css index dc693f42f756..7bd88fe4f297 100644 --- a/html/statbrowser.css +++ b/html/statbrowser.css @@ -1,3 +1,13 @@ +.light:root { + --scrollbar-base: #f2f2f2; + --scrollbar-thumb: #a7a7a7; +} + +html, +body { + scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-base); +} + body { font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: 12px !important; @@ -7,8 +17,16 @@ body { overflow-y: scroll; } +/** + * MARK: Dark theme colors + */ +.dark:root { + --scrollbar-base: #151515; + --scrollbar-thumb: #363636; +} + body.dark { - background-color: #131313; + background-color: #151515; color: #b2c4dd; scrollbar-base-color: #1c1c1c; scrollbar-face-color: #3b3b3b; diff --git a/html/statbrowser.js b/html/statbrowser.js index be49d24cdc92..1ae3337be52e 100644 --- a/html/statbrowser.js +++ b/html/statbrowser.js @@ -6,11 +6,11 @@ if (!Array.prototype.includes) { if (this[i] == thing) return true; } return false; - } + }; } if (!String.prototype.trim) { String.prototype.trim = function () { - return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); + return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); }; } @@ -31,9 +31,9 @@ var turfcontents = []; var turfname = ""; var imageRetryDelay = 500; var imageRetryLimit = 50; -var menu = document.getElementById('menu'); -var under_menu = document.getElementById('under_menu'); -var statcontentdiv = document.getElementById('statcontent'); +var menu = document.getElementById("menu"); +var under_menu = document.getElementById("under_menu"); +var statcontentdiv = document.getElementById("statcontent"); var storedimages = []; var split_admin_tabs = false; @@ -47,10 +47,8 @@ function run_after_focus(callback) { function createStatusTab(name) { if (name.indexOf(".") != -1) { var splitName = name.split("."); - if (split_admin_tabs && splitName[0] === "Admin") - name = splitName[1]; - else - name = splitName[0]; + if (split_admin_tabs && splitName[0] === "Admin") name = splitName[1]; + else name = splitName[0]; } if (document.getElementById(name) || name.trim() == "") { return; @@ -74,7 +72,7 @@ function createStatusTab(name) { //END ORDERING menu.appendChild(B); SendTabToByond(name); - under_menu.style.height = menu.clientHeight + 'px'; + under_menu.style.height = menu.clientHeight + "px"; } function removeStatusTab(name) { @@ -88,7 +86,7 @@ function removeStatusTab(name) { } menu.removeChild(document.getElementById(name)); TakeTabFromByond(name); - under_menu.style.height = menu.clientHeight + 'px'; + under_menu.style.height = menu.clientHeight + "px"; } function sortVerbs() { @@ -96,17 +94,16 @@ function sortVerbs() { var selector = a[0] == b[0] ? 1 : 0; if (a[selector].toUpperCase() < b[selector].toUpperCase()) { return 1; - } - else if (a[selector].toUpperCase() > b[selector].toUpperCase()) { + } else if (a[selector].toUpperCase() > b[selector].toUpperCase()) { return -1; } return 0; - }) + }); } window.onresize = function () { - under_menu.style.height = menu.clientHeight + 'px'; -} + under_menu.style.height = menu.clientHeight + "px"; +}; function addPermanentTab(name) { if (!permanent_tabs.includes(name)) { @@ -126,7 +123,10 @@ function removePermanentTab(name) { function checkStatusTab() { for (var i = 0; i < menu.children.length; i++) { - if (!verb_tabs.includes(menu.children[i].id) && !permanent_tabs.includes(menu.children[i].id)) { + if ( + !verb_tabs.includes(menu.children[i].id) && + !permanent_tabs.includes(menu.children[i].id) + ) { menu.removeChild(menu.children[i]); } } @@ -137,7 +137,7 @@ function remove_verb(v) { for (var i = verbs.length - 1; i >= 0; i--) { var part_to_remove = verbs[i]; if (part_to_remove[1] == verb_to_remove[1]) { - verbs.splice(i, 1) + verbs.splice(i, 1); } } } @@ -152,10 +152,8 @@ function verbs_cat_check(cat) { var tabCat = cat; if (cat.indexOf(".") != -1) { var splitName = cat.split("."); - if (split_admin_tabs && splitName[0] === "Admin") - tabCat = splitName[1]; - else - tabCat = splitName[0]; + if (split_admin_tabs && splitName[0] === "Admin") tabCat = splitName[1]; + else tabCat = splitName[0]; } var verbs_in_cat = 0; var verbcat = ""; @@ -170,29 +168,25 @@ function verbs_cat_check(cat) { var splitName = verbcat.split("."); if (split_admin_tabs && splitName[0] === "Admin") verbcat = splitName[1]; - else - verbcat = splitName[0]; + else verbcat = splitName[0]; } if (verbcat != tabCat || verbcat.trim() == "") { continue; - } - else { + } else { verbs_in_cat = 1; break; // we only need one } } if (verbs_in_cat != 1) { removeStatusTab(tabCat); - if (current_tab == tabCat) - tab_change("Status"); + if (current_tab == tabCat) tab_change("Status"); } } function findVerbindex(name, verblist) { for (var i = 0; i < verblist.length; i++) { var part = verblist[i]; - if (part[1] == name) - return i; + if (part[1] == name) return i; } } function wipe_verbs() { @@ -215,12 +209,12 @@ function SendTabsToByond() { } function SendTabToByond(tab) { - Byond.sendMessage("Send-Tabs", {tab: tab}); + Byond.sendMessage("Send-Tabs", { tab: tab }); } //Byond can't have this tab anymore since we're removing it function TakeTabFromByond(tab) { - Byond.sendMessage("Remove-Tabs", {tab: tab}); + Byond.sendMessage("Remove-Tabs", { tab: tab }); } function spell_cat_check(cat) { @@ -246,8 +240,8 @@ function tab_change(tab) { set_byond_tab(tab); if (document.getElementById(tab)) document.getElementById(tab).className = "button active"; // make current button active - var spell_tabs_thingy = (spell_tabs.includes(tab)); - var verb_tabs_thingy = (verb_tabs.includes(tab)); + var spell_tabs_thingy = spell_tabs.includes(tab); + var verb_tabs_thingy = verb_tabs.includes(tab); if (tab == "Status") { draw_status(); } else if (tab == "MC") { @@ -269,25 +263,29 @@ function tab_change(tab) { statcontentdiv.textContext = "Loading..."; } Byond.winset(Byond.windowId, { - 'is-visible': true, + "is-visible": true, }); } function set_byond_tab(tab) { - Byond.sendMessage("Set-Tab", {tab: tab}); + Byond.sendMessage("Set-Tab", { tab: tab }); } function draw_debug() { statcontentdiv.textContent = ""; var wipeverbstabs = document.createElement("div"); var link = document.createElement("a"); - link.onclick = function () { wipe_verbs() }; + link.onclick = function () { + wipe_verbs(); + }; link.textContent = "Wipe All Verbs"; wipeverbstabs.appendChild(link); document.getElementById("statcontent").appendChild(wipeverbstabs); var wipeUpdateVerbsTabs = document.createElement("div"); var updateLink = document.createElement("a"); - updateLink.onclick = function () { update_verbs() }; + updateLink.onclick = function () { + update_verbs(); + }; updateLink.textContent = "Wipe and Update All Verbs"; wipeUpdateVerbsTabs.appendChild(updateLink); document.getElementById("statcontent").appendChild(wipeUpdateVerbsTabs); @@ -302,16 +300,17 @@ function draw_debug() { var splitName = verb_tabs[i].split("."); if (split_admin_tabs && splitName[0] === "Admin") part = splitName[1]; - else - continue; + else continue; } var tr = document.createElement("tr"); var td1 = document.createElement("td"); td1.textContent = part; var a = document.createElement("a"); - a.onclick = function (part) { - return function () { removeStatusTab(part) }; - }(part); + a.onclick = (function (part) { + return function () { + removeStatusTab(part); + }; + })(part); a.textContent = " Delete Tab " + part; td1.appendChild(a); tr.appendChild(td1); @@ -347,17 +346,18 @@ function draw_debug() { table3.appendChild(trrr); } document.getElementById("statcontent").appendChild(table3); - } function draw_status() { if (!document.getElementById("Status")) { createStatusTab("Status"); current_tab = "Status"; } - statcontentdiv.textContent = ''; + statcontentdiv.textContent = ""; for (var i = 0; i < status_tab_parts.length; i++) { if (status_tab_parts[i].trim() == "") { - document.getElementById("statcontent").appendChild(document.createElement("br")); + document + .getElementById("statcontent") + .appendChild(document.createElement("br")); } else { var div = document.createElement("div"); div.textContent = status_tab_parts[i]; @@ -380,7 +380,8 @@ function draw_mc() { var td2 = document.createElement("td"); if (part[2]) { var a = document.createElement("a"); - a.href = "?_src_=vars;admin_token=" + href_token + ";Vars=" + part[2]; + a.href = + "?_src_=vars;admin_token=" + href_token + ";Vars=" + part[2]; a.textContent = part[1]; td2.appendChild(a); } else { @@ -397,8 +398,7 @@ function remove_tickets() { if (tickets) { tickets = []; removePermanentTab("Tickets"); - if (current_tab == "Tickets") - tab_change("Status"); + if (current_tab == "Tickets") tab_change("Status"); } checkStatusTab(); } @@ -407,8 +407,7 @@ function remove_sdql2() { if (sdql2) { sdql2 = []; removePermanentTab("SDQL2"); - if (current_tab == "SDQL2") - tab_change("Status"); + if (current_tab == "SDQL2") tab_change("Status"); } checkStatusTab(); } @@ -421,19 +420,19 @@ function remove_interviews() { } function iconError(e) { - if(current_tab != turfname) { + if (current_tab != turfname) { return; } setTimeout(function () { var node = e.target; - var current_attempts = Number(node.getAttribute("data-attempts")) || 0 + var current_attempts = Number(node.getAttribute("data-attempts")) || 0; if (current_attempts > imageRetryLimit) { return; } var src = node.src; node.src = null; - node.src = src + '#' + current_attempts; - node.setAttribute("data-attempts", current_attempts + 1) + node.src = src + "#" + current_attempts; + node.setAttribute("data-attempts", current_attempts + 1); draw_listedturf(); }, imageRetryDelay); } @@ -460,7 +459,7 @@ function draw_listedturf() { var b = document.createElement("div"); var clickcatcher = ""; b.className = "link"; - b.onmousedown = function (part) { + b.onmousedown = (function (part) { // The outer function is used to close over a fresh "part" variable, // rather than every onmousedown getting the "part" of the last entry. return function (e) { @@ -468,13 +467,13 @@ function draw_listedturf() { clickcatcher = "?src=" + part[1]; switch (e.button) { case 1: - clickcatcher += ";statpanel_item_click=middle" + clickcatcher += ";statpanel_item_click=middle"; break; case 2: - clickcatcher += ";statpanel_item_click=right" + clickcatcher += ";statpanel_item_click=right"; break; default: - clickcatcher += ";statpanel_item_click=left" + clickcatcher += ";statpanel_item_click=left"; } if (e.shiftKey) { clickcatcher += ";statpanel_item_shiftclick=1"; @@ -486,8 +485,8 @@ function draw_listedturf() { clickcatcher += ";statpanel_item_altclick=1"; } window.location.href = clickcatcher; - } - }(part); + }; + })(part); b.textContent = part[0]; table.appendChild(b); table.appendChild(document.createElement("br")); @@ -508,7 +507,7 @@ function remove_mc() { if (current_tab == "MC") { tab_change("Status"); } -}; +} function draw_sdql2() { statcontentdiv.textContent = ""; @@ -548,7 +547,12 @@ function draw_tickets() { var td2 = document.createElement("td"); if (part[2]) { var a = document.createElement("a"); - a.href = "?_src_=holder;admin_token=" + href_token + ";ahelp=" + part[2] + ";ahelp_action=ticket;statpanel_item_click=left;action=ticket"; + a.href = + "?_src_=holder;admin_token=" + + href_token + + ";ahelp=" + + part[2] + + ";ahelp_action=ticket;statpanel_item_click=left;action=ticket"; a.textContent = part[1]; td2.appendChild(a); } else if (part[3]) { @@ -572,10 +576,13 @@ function draw_interviews() { header.textContent = "Interviews"; body.appendChild(header); var manDiv = document.createElement("div"); - manDiv.className = "interview_panel_controls" + manDiv.className = "interview_panel_controls"; var manLink = document.createElement("a"); manLink.textContent = "Open Interview Manager Panel"; - manLink.href = "?_src_=holder;admin_token=" + href_token + ";interview_man=1;statpanel_item_click=left"; + manLink.href = + "?_src_=holder;admin_token=" + + href_token + + ";interview_man=1;statpanel_item_click=left"; manDiv.appendChild(manLink); body.appendChild(manDiv); @@ -608,7 +615,12 @@ function draw_interviews() { var td = document.createElement("td"); var a = document.createElement("a"); a.textContent = part["status"]; - a.href = "?_src_=holder;admin_token=" + href_token + ";interview=" + part["ref"] + ";statpanel_item_click=left"; + a.href = + "?_src_=holder;admin_token=" + + href_token + + ";interview=" + + part["ref"] + + ";statpanel_item_click=left"; td.appendChild(a); tr.appendChild(td); table.appendChild(tr); @@ -657,8 +669,7 @@ function draw_verbs(cat) { sortVerbs(); if (split_admin_tabs && cat.lastIndexOf(".") != -1) { var splitName = cat.split("."); - if (splitName[0] === "Admin") - cat = splitName[1]; + if (splitName[0] === "Admin") cat = splitName[1]; } verbs.reverse(); // sort verbs backwards before we draw for (var i = 0; i < verbs.length; ++i) { @@ -666,13 +677,17 @@ function draw_verbs(cat) { var name = part[0]; if (split_admin_tabs && name.lastIndexOf(".") != -1) { var splitName = name.split("."); - if (splitName[0] === "Admin") - name = splitName[1]; + if (splitName[0] === "Admin") name = splitName[1]; } var command = part[1]; - if (command && name.lastIndexOf(cat, 0) != -1 && (name.length == cat.length || name.charAt(cat.length) == ".")) { - var subCat = name.lastIndexOf(".") != -1 ? name.split(".")[1] : null; + if ( + command && + name.lastIndexOf(cat, 0) != -1 && + (name.length == cat.length || name.charAt(cat.length) == ".") + ) { + var subCat = + name.lastIndexOf(".") != -1 ? name.split(".")[1] : null; if (subCat && !additions[subCat]) { var newTable = document.createElement("div"); newTable.className = "grid-container"; @@ -710,9 +725,11 @@ function draw_verbs(cat) { function set_theme(which) { if (which == "light") { document.body.className = ""; + document.documentElement.className = "light"; set_style_sheet("browserOutput_white"); } else if (which == "dark") { document.body.className = "dark"; + document.documentElement.className = "dark"; set_style_sheet("browserOutput"); } } @@ -722,35 +739,35 @@ function set_style_sheet(sheet) { var currentSheet = document.getElementById("goonStyle"); currentSheet.parentElement.removeChild(currentSheet); } - var head = document.getElementsByTagName('head')[0]; + var head = document.getElementsByTagName("head")[0]; var sheetElement = document.createElement("link"); sheetElement.id = "goonStyle"; sheetElement.rel = "stylesheet"; sheetElement.type = "text/css"; sheetElement.href = sheet + ".css"; - sheetElement.media = 'all'; + sheetElement.media = "all"; head.appendChild(sheetElement); } function restoreFocus() { run_after_focus(function () { - Byond.winset('map', { + Byond.winset("map", { focus: true, }); }); } function getCookie(cname) { - var name = cname + '='; - var ca = document.cookie.split(';'); + var name = cname + "="; + var ca = document.cookie.split(";"); for (var i = 0; i < ca.length; i++) { var c = ca[i]; - while (c.charAt(0) == ' ') c = c.substring(1); + while (c.charAt(0) == " ") c = c.substring(1); if (c.indexOf(name) === 0) { return decoder(c.substring(name.length, c.length)); } } - return ''; + return ""; } function add_verb_list(payload) { @@ -758,18 +775,15 @@ function add_verb_list(payload) { to_add.sort(); // sort what we're adding for (var i = 0; i < to_add.length; i++) { var part = to_add[i]; - if (!part[0]) - continue; + if (!part[0]) continue; var category = part[0]; if (category.indexOf(".") != -1) { var splitName = category.split("."); if (split_admin_tabs && splitName[0] === "Admin") category = splitName[1]; - else - category = splitName[0]; + else category = splitName[0]; } - if (findVerbindex(part[1], verbs)) - continue; + if (findVerbindex(part[1], verbs)) continue; if (verb_tabs.includes(category)) { verbs.push(part); if (current_tab == category) { @@ -781,7 +795,7 @@ function add_verb_list(payload) { createStatusTab(category); } } -}; +} function init_spells() { var cat = ""; @@ -806,7 +820,7 @@ window.onload = function () { Byond.sendMessage("Update-Verbs"); }; -Byond.subscribeTo('update_spells', function (payload) { +Byond.subscribeTo("update_spells", function (payload) { spell_tabs = payload.spell_tabs; var do_update = false; if (spell_tabs.includes(current_tab)) { @@ -823,20 +837,19 @@ Byond.subscribeTo('update_spells', function (payload) { } }); -Byond.subscribeTo('remove_verb_list', function (v) { +Byond.subscribeTo("remove_verb_list", function (v) { var to_remove = v; for (var i = 0; i < to_remove.length; i++) { remove_verb(to_remove[i]); } check_verbs(); sortVerbs(); - if (verb_tabs.includes(current_tab)) - draw_verbs(current_tab); + if (verb_tabs.includes(current_tab)) draw_verbs(current_tab); }); // passes a 2D list of (verbcategory, verbname) creates tabs and adds verbs to respective list // example (IC, Say) -Byond.subscribeTo('init_verbs', function (payload) { +Byond.subscribeTo("init_verbs", function (payload) { wipe_verbs(); // remove all verb categories so we can replace them checkStatusTab(); // remove all status tabs verb_tabs = payload.panel_tabs; @@ -860,15 +873,17 @@ Byond.subscribeTo('init_verbs', function (payload) { SendTabsToByond(); }); -Byond.subscribeTo('update_stat', function (payload) { +Byond.subscribeTo("update_stat", function (payload) { status_tab_parts = [payload.ping_str]; var parsed = payload.global_data; - for (var i = 0; i < parsed.length; i++) if (parsed[i] != null) status_tab_parts.push(parsed[i]); + for (var i = 0; i < parsed.length; i++) + if (parsed[i] != null) status_tab_parts.push(parsed[i]); parsed = payload.other_str; - for (var i = 0; i < parsed.length; i++) if (parsed[i] != null) status_tab_parts.push(parsed[i]); + for (var i = 0; i < parsed.length; i++) + if (parsed[i] != null) status_tab_parts.push(parsed[i]); if (current_tab == "Status") { draw_status(); @@ -877,7 +892,7 @@ Byond.subscribeTo('update_stat', function (payload) { } }); -Byond.subscribeTo('update_mc', function (payload) { +Byond.subscribeTo("update_mc", function (payload) { mc_tab_parts = payload.mc_data; mc_tab_parts.splice(0, 0, ["Location:", payload.coord_entry]); @@ -892,13 +907,13 @@ Byond.subscribeTo('update_mc', function (payload) { } }); -Byond.subscribeTo('remove_spells', function () { +Byond.subscribeTo("remove_spells", function () { for (var s = 0; s < spell_tabs.length; s++) { removeStatusTab(spell_tabs[s]); } }); -Byond.subscribeTo('init_spells', function () { +Byond.subscribeTo("init_spells", function () { var cat = ""; for (var i = 0; i < spell_tabs.length; i++) { cat = spell_tabs[i]; @@ -909,13 +924,13 @@ Byond.subscribeTo('init_spells', function () { } }); -Byond.subscribeTo('check_spells', function () { +Byond.subscribeTo("check_spells", function () { for (var v = 0; v < spell_tabs.length; v++) { spell_cat_check(spell_tabs[v]); } }); -Byond.subscribeTo('create_debug', function () { +Byond.subscribeTo("create_debug", function () { if (!document.getElementById("Debug Stat Panel")) { addPermanentTab("Debug Stat Panel"); } else { @@ -923,14 +938,14 @@ Byond.subscribeTo('create_debug', function () { } }); -Byond.subscribeTo('create_listedturf', function (TN) { +Byond.subscribeTo("create_listedturf", function (TN) { remove_listedturf(); // remove the last one if we had one turfname = TN; addPermanentTab(turfname); tab_change(turfname); }); -Byond.subscribeTo('remove_admin_tabs', function () { +Byond.subscribeTo("remove_admin_tabs", function () { href_token = null; remove_mc(); remove_tickets(); @@ -938,22 +953,22 @@ Byond.subscribeTo('remove_admin_tabs', function () { remove_interviews(); }); -Byond.subscribeTo('update_listedturf', function (TC) { +Byond.subscribeTo("update_listedturf", function (TC) { turfcontents = TC; if (current_tab == turfname) { draw_listedturf(); } }); -Byond.subscribeTo('update_interviews', function (I) { +Byond.subscribeTo("update_interviews", function (I) { interviewManager = I; if (current_tab == "Tickets") { draw_interviews(); } }); -Byond.subscribeTo('update_split_admin_tabs', function (status) { - status = (status == true); +Byond.subscribeTo("update_split_admin_tabs", function (status) { + status = status == true; if (split_admin_tabs !== status) { if (split_admin_tabs === true) { @@ -966,13 +981,13 @@ Byond.subscribeTo('update_split_admin_tabs', function (status) { split_admin_tabs = status; }); -Byond.subscribeTo('add_admin_tabs', function (ht) { +Byond.subscribeTo("add_admin_tabs", function (ht) { href_token = ht; addPermanentTab("MC"); addPermanentTab("Tickets"); }); -Byond.subscribeTo('update_sdql2', function (S) { +Byond.subscribeTo("update_sdql2", function (S) { sdql2 = S; if (sdql2.length > 0 && !verb_tabs.includes("SDQL2")) { verb_tabs.push("SDQL2"); @@ -983,7 +998,7 @@ Byond.subscribeTo('update_sdql2', function (S) { } }); -Byond.subscribeTo('update_tickets', function (T) { +Byond.subscribeTo("update_tickets", function (T) { tickets = T; if (!verb_tabs.includes("Tickets")) { verb_tabs.push("Tickets"); @@ -994,10 +1009,10 @@ Byond.subscribeTo('update_tickets', function (T) { } }); -Byond.subscribeTo('remove_listedturf', remove_listedturf); +Byond.subscribeTo("remove_listedturf", remove_listedturf); -Byond.subscribeTo('remove_sdql2', remove_sdql2); +Byond.subscribeTo("remove_sdql2", remove_sdql2); -Byond.subscribeTo('remove_mc', remove_mc); +Byond.subscribeTo("remove_mc", remove_mc); -Byond.subscribeTo('add_verb_list', add_verb_list); +Byond.subscribeTo("add_verb_list", add_verb_list); diff --git a/interface/skin.dmf b/interface/skin.dmf index 40292d8ee5e3..e48bcce58e10 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -286,16 +286,25 @@ window "outputwindow" text = "Me" command = ".winset \"mebutton.is-checked=true ? input.command=\"!me \\\"\" : input.command=\"\"mebutton.is-checked=true ? saybutton.is-checked=false\"\"mebutton.is-checked=true ? oocbutton.is-checked=false\"" button-type = pushbox - elem "browseroutput" - type = BROWSER + elem "legacy_output_selector" + type = CHILD pos = 0,0 size = 640x456 anchor1 = 0,0 anchor2 = 100,100 - background-color = #ffffff - is-visible = false - is-disabled = true - saved-params = "" + saved-params = "splitter" + left = "output_legacy" + is-vert = false + +window "output_legacy" + elem "output_legacy" + type = MAIN + pos = 0,0 + size = 640x456 + anchor1 = -1,-1 + anchor2 = -1,-1 + saved-params = "pos;size;is-minimized;is-maximized" + is-pane = true elem "output" type = OUTPUT pos = 0,0 @@ -305,6 +314,23 @@ window "outputwindow" is-default = true saved-params = "" +window "output_browser" + elem "output_browser" + type = MAIN + pos = 0,0 + size = 640x456 + anchor1 = -1,-1 + anchor2 = -1,-1 + saved-params = "pos;size;is-minimized;is-maximized" + is-pane = true + elem "browseroutput" + type = BROWSER + pos = 0,0 + size = 640x456 + anchor1 = 0,0 + anchor2 = 100,100 + saved-params = "" + window "popupwindow" elem "popupwindow" type = MAIN diff --git a/mod_celadon/fixes/README.md b/mod_celadon/fixes/README.md index 84c6b63ab2a1..c22cb3664991 100644 --- a/mod_celadon/fixes/README.md +++ b/mod_celadon/fixes/README.md @@ -115,6 +115,8 @@ Weebstick (Красная катана) теперь нельзя сломать - EDIT: `code\modules\hydroponics\grown\replicapod.dm` - Исправление отобрежения ДНК на сканере +- EDIT `code\game\objects\items\storage\wallets.dm` -> Чиним работу random кошельков + MECH_WEAPON ### Исправление бага перезарядки мех-оружия (SOB-3, BRM-6, SGL-6) **Проблема:** Оружие с `disabledreload = TRUE` (SOB-3 Clusterbang, BRM-6 Missile Rack, SGL-6 Flashbang) не могло быть перезаряжено из-за отсутствия переменной `projectiles`, что приводило к `projectiles_max = 0` и неправильной работе логики `ammo_resupply()`. diff --git a/mod_celadon/fixes/code/newscaster.dm b/mod_celadon/fixes/code/newscaster.dm index 232102f8e536..288aec40425b 100644 --- a/mod_celadon/fixes/code/newscaster.dm +++ b/mod_celadon/fixes/code/newscaster.dm @@ -275,21 +275,21 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) dat += "Добро пожаловать в новостной монитор #[unit_no].
    Системы успешно загружены и доступны." dat += "
    Разработано корпорацией: Griffon Inc" if(GLOB.news_network.wanted_issue.active) - dat+= "


    Межсекторный розыск" - dat+= "

    Создать новостной канал" - dat+= "
    Ознакомиться с лентой каналов" - dat+= "
    > Создать новый пост" - dat+= "
    > Напечатать газету" - dat+= "
    Обновить пользователя" - dat+= "

    Выйти" + dat+= "
    Межсекторный розыск" + dat+= "

    Создать новостной канал" + dat+= "
    Ознакомиться с лентой каналов" + dat+= "
    > Создать новый пост" + dat+= "
    > Напечатать газету" + dat+= "
    Обновить пользователя" + dat+= "

    Выйти" if(securityCaster) var/wanted_already = 0 if(GLOB.news_network.wanted_issue.active) wanted_already = 1 dat+="
    Модуль безопасности системы Griffon:
    " - dat+="
    [(wanted_already) ? ("Настроить") : ("Объявить")] \"Розыск\"" - dat+="
    Цензура новостей" - dat+="
    Установить метку D-Notice" + dat+="
    [(wanted_already) ? ("Настроить") : ("Объявить")] \"Розыск\"" + dat+="
    Цензура новостей" + dat+="
    Установить метку D-Notice" dat+="

    Вы были успешно зарегистрированы под именем:
    [scanned_user]" if(1) dat+= "Доступные каналы в вашем секторе:
    " @@ -298,31 +298,31 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) else for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) if(CHANNEL.is_admin_channel) - dat+="[CHANNEL.channel_name]
    " + dat+="[CHANNEL.channel_name]
    " else - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ""]
    " - dat+="

    Обновить" - dat+="
    Вернуться" + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ""]
    " + dat+="

    Обновить" + dat+="
    Вернуться" if(2) dat+="Регистрация нового канала:" - dat+="
    Название канала: [channel_name]
    " + dat+="
    Название канала: [channel_name]
    " dat+="Автор канала: [scanned_user]
    " - dat+="Будет ли канал являться публичным?: [(c_locked) ? ("Нет") : ("Да")]

    " - dat+="
    Подтвердить

    Отмена
    " + dat+="Будет ли канал являться публичным?: [(c_locked) ? ("Нет") : ("Да")]

    " + dat+="
    Подтвердить

    Отмена
    " if(3) dat+="Публикация нового поста:" - dat+="
    Выбранный канал: [channel_name]
    " + dat+="
    Выбранный канал: [channel_name]
    " dat+="Автор сообщения: [scanned_user]
    " - dat+="Сообщение:
    [parsemarkdown(msg, user)]
    " - dat+="Прикреплённые сообщения: [(picture ? "Фото прикреплено" : "Фото отсутствует")]
    " - dat+="Комментарии [allow_comments ? "разрешены" : "отключены"]
    " - dat+="
    Подтвердить

    Отмена
    " + dat+="Сообщение:
    [parsemarkdown(msg, user)]
    " + dat+="Прикреплённые сообщения: [(picture ? "Фото прикреплено" : "Фото отсутствует")]
    " + dat+="Комментарии [allow_comments ? "разрешены" : "отключены"]
    " + dat+="
    Подтвердить

    Отмена
    " if(4) dat+="Новый пост успешно загружен ​​на канал '[channel_name]'.

    " - dat+="
    Вернуться
    " + dat+="
    Вернуться
    " if(5) dat+="Канал '[channel_name]' успешно создан.

    " - dat+="
    Вернуться
    " + dat+="
    Вернуться
    " if(6) dat+="ОШИБКА: Не удалось отправить новый пост в сеть.

    " if(channel_name=="") @@ -331,7 +331,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) dat+="Автор канала не определён.
    " if(msg == "" || msg == "\[REDACTED\]") dat+="Недопустимое сообщение.
    " - dat+="
    Return
    " + dat+="
    Return
    " if(7) dat+="ОШИБКА: Не удалось создать канал в сети Griffon.

    " var/list/existing_authors = list() @@ -353,7 +353,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) dat+="Название канала уже используется.
    " if(scanned_user=="Unknown") dat+="Автор канала не определён.
    " - dat+="
    Вернуться
    " + dat+="
    Вернуться
    " if(8) var/total_num=length(GLOB.news_network.network_channels) var/active_num=total_num @@ -365,8 +365,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) active_num-- dat+="В настоящее время сеть обслуживает в общей сложности [total_num] новостных каналов, [active_num] из них активны, и всего [message_num] постов." dat+="

    Остаток жидкой бумаги: [(paper_remaining) *100 ] cm^3" - dat+="

    Распечатать газету" - dat+="
    Отмена" + dat+="

    Распечатать газету" + dat+="
    Отмена" if(9) dat+="[viewing_channel.channel_name]:
    \[Автор: [viewing_channel.returnAuthor(-1)]\]
    " if(viewing_channel.censored) @@ -393,9 +393,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) if(MESSAGE.locked) dat+="Комментарии заблокированы
    " else - dat+="Прокомментировать
    " - dat+="

    Обновить" - dat+="
    Вернуться" + dat+="Прокомментировать
    " + dat+="

    Обновить" + dat+="
    Вернуться" if(10) dat+="Инструмент цензуры каналов сети Griffon
    " dat+="ПРИМЕЧАНИЕ: Из-за технических работ полное удаление каналов невозможно.
    " @@ -405,8 +405,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) dat+="Активные каналы не найдены...
    " else for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ""]
    " - dat+="
    Отмена" + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ""]
    " + dat+="
    Отмена" if(11) dat+="Модуль D-Notice:
    " dat+="Метка D-Notice должна быть прикреплена к каналу, если администрация сочтет его запрещённым для сектора. " @@ -416,24 +416,24 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) dat+="Активные каналы не найдены...
    " else for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels) - dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ""]
    " - dat+="
    Вернуться" + dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("***") : ""]
    " + dat+="
    Вернуться" if(12) dat+="[viewing_channel.channel_name]:
    \[ Автор: [viewing_channel.returnAuthor(-1)] \]
    " - dat+="[(viewing_channel.authorCensor) ? ("Отменить цензуру автора") : ("Скрыть имя автора")]
    " + dat+="[(viewing_channel.authorCensor) ? ("Отменить цензуру автора") : ("Скрыть имя автора")]
    " if(!length(viewing_channel.messages)) dat+="В канале не найдено постов...
    " else for(var/datum/newscaster/feed_message/MESSAGE in viewing_channel.messages) dat+="-[MESSAGE.returnBody(-1)]
    \[Автор [MESSAGE.returnAuthor(-1)]\]
    " - dat+="[(MESSAGE.bodyCensor) ? ("Отменить цензуру сообщения") : ("Заблокировать сообщение")] - [(MESSAGE.authorCensor) ? ("Отменить цензуру имени автора") : ("Скрыть имя автора")]
    " - dat+="[MESSAGE.comments.len] comment[MESSAGE.comments.len > 1 ? "s" : ""]: [MESSAGE.locked ? "Разблокированы" : "Заблокированы"]
    " + dat+="[(MESSAGE.bodyCensor) ? ("Отменить цензуру сообщения") : ("Заблокировать сообщение")] - [(MESSAGE.authorCensor) ? ("Отменить цензуру имени автора") : ("Скрыть имя автора")]
    " + dat+="[MESSAGE.comments.len] comment[MESSAGE.comments.len > 1 ? "s" : ""]: [MESSAGE.locked ? "Разблокированы" : "Заблокированы"]
    " for(var/datum/newscaster/feed_comment/comment in MESSAGE.comments) - dat+="[comment.body] X
    [comment.author] [comment.time_stamp]
    " - dat+="
    Вернуться" + dat+="[comment.body] X
    [comment.author] [comment.time_stamp]
    " + dat+="
    Вернуться" if(13) dat+="[viewing_channel.channel_name]:
    \[ Автор: [viewing_channel.returnAuthor(-1)] \]
    " - dat+="Если вы считаете cообщения канала, что перечислены ниже, опасными для сектора, вы можете редактировать метку D-Notice для этого канала.
    " + dat+="Если вы считаете cообщения канала, что перечислены ниже, опасными для сектора, вы можете редактировать метку D-Notice для этого канала.
    " if(viewing_channel.censored) dat+="ВНИМАНИЕ: Этот канал был признан угрожающим благополучию сектора и отмечен меткой D-Notice администрацией Griffon.
    " dat+="Под действием метки D-Notice дальнейшее добавление новых постов запрещено.


    " @@ -443,7 +443,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) else for(var/datum/newscaster/feed_message/MESSAGE in viewing_channel.messages) dat+="[MESSAGE.returnBody(-1)]
    \[Автор [MESSAGE.returnAuthor(-1)]\]
    " - dat+="
    Вернуться" + dat+="
    Вернуться" if(14) dat+="Модуль безопасности:" var/wanted_already = 0 @@ -454,20 +454,20 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) if(wanted_already) dat+="
    Преступник уже объявлен в новостных каналах. Вы можете отредактировать или отменить ориентировку ниже.
    " dat+="
    " - dat+="Имя цели: [channel_name]
    " - dat+="Описание: [msg]
    " - dat+="Прикреплённые материалы: [(picture ? "Фото прикрепленно" : "Фото отсутствует")]
    " + dat+="Имя цели: [channel_name]
    " + dat+="Описание: [msg]
    " + dat+="Прикреплённые материалы: [(picture ? "Фото прикрепленно" : "Фото отсутствует")]
    " if(wanted_already) dat+="Розыск был объявлен пользователем: [GLOB.news_network.wanted_issue.scannedUser]
    " else dat+="Розыск будет объявлен пользователем:[scanned_user]
    " - dat+="
    [(wanted_already) ? ("Редактировать цель") : ("Подтвердить")]" + dat+="
    [(wanted_already) ? ("Редактировать цель") : ("Подтвердить")]" if(wanted_already) - dat+="
    Отменить розыск" - dat+="
    Отмена" + dat+="
    Отменить розыск" + dat+="
    Отмена" if(15) dat+="Розыск на '[channel_name]' был успешно опубликован на первых строчках сети Griffon.

    " - dat+="
    Вернуться
    " + dat+="
    Вернуться
    " if(16) dat+="ERROR: Розыск был отменён сетью Griffon.

    " if(channel_name=="" || channel_name == "\[REDACTED\]") @@ -476,10 +476,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) dat+="Автор не идентифицирован.
    " if(msg == "" || msg == "\[REDACTED\]") dat+="Неверное описание.
    " - dat+="
    Вернуться
    " + dat+="
    Вернуться
    " if(17) dat+="Розыск успешно был удалён с сети Griffon
    " - dat+="
    Вернуться
    " + dat+="
    Вернуться
    " if(18) if(GLOB.news_network.wanted_issue.active) dat+="-- ОБЪЯВЛЕН РОЗЫСК --
    \[Подтверждено: [GLOB.news_network.wanted_issue.scannedUser]\]
    " @@ -493,16 +493,16 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) dat+="Отсутствуют" else dat+="Объявленных розысков не найдено

    " - dat+="

    Вернуться
    " + dat+="

    Вернуться
    " if(19) dat+="Розыск для '[channel_name]' успешно отредактирован

    " - dat+="
    Вернуться
    " + dat+="
    Вернуться
    " if(20) dat+="Файл успешно был распечатан. Пожалуйста, возьмите газету из нижней части машины.

    " - dat+="Вернуться" + dat+="Вернуться" if(21) dat+="Невозможно напечатать газету. Недостаточно бумаги. Пожалуйста, сообщите обслуживающему персоналу о необходимости пополнить запасы машины.

    " - dat+="Вернуться" + dat+="Вернуться" var/datum/browser/popup = new(human_or_robot_user, "newscaster_main", "Новостной монитор #[unit_no]", 400, 600) popup.set_content(dat) popup.open() @@ -917,7 +917,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) dat+="" if(scribble_page==curr_page) dat+="
    В конце этой страницы есть небольшие каракули... \"[scribble]\"" - dat+= "
    Next Page
    Close
    " + dat+= "
    Next Page
    Close
    " if(1) // X channel pages inbetween. for(var/datum/newscaster/feed_channel/NP in news_content) pages++ @@ -946,7 +946,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) dat+="" if(scribble_page==curr_page) dat+="
    В конце этой страницы есть небольшая каракуля... \"[scribble]\"" - dat+= "

    Previous Page
    Next Page
    " + dat+= "

    Previous Page
    Next Page
    " if(2) //Last page for(var/datum/newscaster/feed_channel/NP in news_content) pages++ @@ -964,7 +964,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) dat+="Кроме неинтересных объявлений на этой странице ничего нет..." if(scribble_page==curr_page) dat+="
    В конце этой страницы есть небольшая каракуля... \"[scribble]\"" - dat+= "
    Previous Page
    " + dat+= "
    Previous Page
    " dat+="

    [curr_page+1]
    " human_user << browse(dat, "window=newspaper_main;size=300x400") onclose(human_user, "newspaper_main") diff --git a/mod_celadon/maps/code/ruins/ruin.dm b/mod_celadon/maps/code/ruins/ruin.dm index 7ffb2b9935f0..2e766d8673b2 100644 --- a/mod_celadon/maps/code/ruins/ruin.dm +++ b/mod_celadon/maps/code/ruins/ruin.dm @@ -725,6 +725,20 @@ name = "Ramzi Scrapping Station" description = "A Syndicate FOB dating back to the ICW, now home to the Ramzi Clique and their latest haul." +/datum/map_template/ruin/space/onehalftwo + name = "Nanotrasen Refueling Station" + id = "onehald_two" + description = "An abandoned Nanotrasen refueling post evacuated after an attempted ACLF plasmaflood. Since then, hivebots and a small Ramzi Clique salvage team have attempted to claim the station." + suffix = "onehalftwo.dmm" + cost = 3 + +/datum/map_template/ruin/space/videepstorage + name = "Vigilitas Deepstorage" + id = "vi_deepstorage" + description = "A Vigilitas blacksite for holding important and suspicious cargo." + suffix = "vi_deepstorage.dmm" + cost = 3 + // /// // MARK: WastePlanet // /// diff --git a/mod_celadon/mobs/code/pets/rouge.dm b/mod_celadon/mobs/code/pets/rouge.dm index fbba7766fb9c..520ec5548a3e 100644 --- a/mod_celadon/mobs/code/pets/rouge.dm +++ b/mod_celadon/mobs/code/pets/rouge.dm @@ -236,8 +236,8 @@ // user.set_machine(src) // var/dat = {"
    Inventory of [name]

    "} -// dat += "
    Head: [inventory_head]" : "add_inv=head'>Nothing"]" -// // dat += "
    Collar: [pcollar]" : "add_inv=collar'>Nothing"]" +// dat += "
    Head: [inventory_head]" : "add_inv=head'>Nothing"]" +// // dat += "
    Collar: [pcollar]" : "add_inv=collar'>Nothing"]" // var/datum/browser/popup = new(user, "mob[UID()]", "[src]", 440, 250) // popup.set_content(dat) diff --git a/mod_celadon/mod_defines.dme b/mod_celadon/mod_defines.dme index 662b0cd168a1..e53aa28b6145 100644 --- a/mod_celadon/mod_defines.dme +++ b/mod_celadon/mod_defines.dme @@ -20,8 +20,10 @@ #include "..\code\__DEFINES\~mod_celadon\structures.dm" #include "..\code\__DEFINES\~mod_celadon\ship.dm" #include "..\code\__DEFINES\~mod_celadon\tajara.dm" +#include "..\code\__DEFINES\~mod_celadon\text.dm" #include "..\code\__DEFINES\~mod_celadon\time.dm" #include "..\code\__DEFINES\~mod_celadon\traits.dm" +#include "..\code\__DEFINES\~mod_celadon\translation.dm" #include "..\code\__DEFINES\~mod_celadon\emote.dm" #include "..\code\__DEFINES\~mod_celadon\flags.dm" diff --git a/mod_celadon/qol/README.md b/mod_celadon/qol/README.md index c450d0951e0c..5dba3bcbe454 100644 --- a/mod_celadon/qol/README.md +++ b/mod_celadon/qol/README.md @@ -62,6 +62,7 @@ CELADON_QOL_LOADOUT - EDIT `code/modules/mob/living/silicon/silicon.dm`: `/mob/living/silicon/proc/checklaws()` - EDIT `code/game/objects/items/AI_modules.dm`: `/obj/item/aiModule/core/full/asimov/attack_self(mob/user as mob)` - EDIT `code/modules/ruins/spaceruin_code/forgottenship.dm`: `/datum/ai_laws/cybersun` +- ADD `code/datums/datum.dm` - добавлены переменные для работы падежей Законы ИИ - EDIT `code/datums/ai_laws.dm`: `/datum/ai_laws/default/asimov` - EDIT `code/datums/ai_laws.dm`: `/datum/ai_laws/default/paladin` diff --git a/mod_celadon/quirks/code/neutral.dm b/mod_celadon/quirks/code/neutral.dm index 3d4a7ef01396..3fcd742a909d 100644 --- a/mod_celadon/quirks/code/neutral.dm +++ b/mod_celadon/quirks/code/neutral.dm @@ -1,7 +1,7 @@ /datum/quirk/dwarfism name = "Dwarfism" desc = "A mutation believed to be the cause of dwarfism." - value = 0 + value = 4 // [CELADON-ADD] - NO_FUN_ALLOWED_SPECIES mob_traits = list(TRAIT_DWARF) gain_text = span_notice("Everything around you seems to grow..") lose_text = span_danger("Everything around you seems to shrink..") diff --git a/mod_celadon/resprite/code/wallet.dm b/mod_celadon/resprite/code/wallet.dm index cd214120ca34..77503c337eda 100644 --- a/mod_celadon/resprite/code/wallet.dm +++ b/mod_celadon/resprite/code/wallet.dm @@ -1,4 +1,5 @@ /obj/item/storage/wallet + icon_state = "wallet_closed" icon = 'mod_celadon/_storage_icons/icons/resprite/wallet.dmi' /obj/item/storage/wallet/proc/get_wallet_overlay_state() diff --git a/mod_celadon/return_content_clowns/code/honkbot.dm b/mod_celadon/return_content_clowns/code/honkbot.dm index 76c48dea1207..4ec8fdd8990d 100644 --- a/mod_celadon/return_content_clowns/code/honkbot.dm +++ b/mod_celadon/return_content_clowns/code/honkbot.dm @@ -87,12 +87,12 @@ Status: []
    Behaviour controls are [locked ? "locked" : "unlocked"]
    Maintenance panel panel is [open ? "opened" : "closed"]"}, -"[on ? "On" : "Off"]" ) +"[on ? "On" : "Off"]" ) if(!locked || issilicon(user) || isAdminGhostAI(user)) dat += text({"
    Auto Patrol: []"}, -"[auto_patrol ? "On" : "Off"]" ) +"[auto_patrol ? "On" : "Off"]" ) return dat /mob/living/simple_animal/bot/honkbot/proc/judgement_criteria() diff --git a/shiptest.dme b/shiptest.dme index f8ebeb94630e..521e47fba0a5 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -73,6 +73,7 @@ #include "code\__DEFINES\fov.dm" #include "code\__DEFINES\generators.dm" #include "code\__DEFINES\guns.dm" +#include "code\__DEFINES\html_assistant.dm" #include "code\__DEFINES\hud.dm" #include "code\__DEFINES\icon_smoothing.dm" #include "code\__DEFINES\important_recursive_contents.dm" diff --git a/tgui/global.d.ts b/tgui/global.d.ts index 9cb8e37c2e8c..f54583294073 100644 --- a/tgui/global.d.ts +++ b/tgui/global.d.ts @@ -41,6 +41,21 @@ type ByondType = { */ windowId: string; + /** + * True if javascript is running in BYOND. + */ + IS_BYOND: boolean; + + /** + * Version of Trident engine of Internet Explorer. Null if N/A. + */ + TRIDENT: number | null; + + /** + * Version of Blink engine of WebView2. Null if N/A. + */ + BLINK: number | null; + /** * If `true`, unhandled errors and common mistakes result in a blue screen * of death, which stops this window from handling incoming messages and @@ -132,6 +147,11 @@ type ByondType = { */ parseJson(text: string): any; + /** + * Downloads a blob, platform-agnostic + */ + saveBlob(blob: Blob, filename: string, ext: string): void; + /** * Sends a message to `/datum/tgui_window` which hosts this window instance. */ @@ -158,6 +178,16 @@ type ByondType = { * Loads a script into the document. */ loadJs(url: string): void; + + /** + * Maps icons to their ref + */ + iconRefMap: Record; + + /** + * Downloads a blob, platform-agnostic + */ + saveBlob(blob: Blob, filename: string, ext: string): void; }; /** @@ -170,4 +200,13 @@ interface Window { Byond: ByondType; __store__: Store; __augmentStack__: (store: Store) => StackAugmentor; + + // IE IndexedDB stuff. + msIndexedDB: IDBFactory; + msIDBTransaction: IDBTransaction; + + // 516 byondstorage API. + hubStorage: Storage; + domainStorage: Storage; + serverStorage: Storage; } diff --git a/tgui/packages/common/storage.js b/tgui/packages/common/storage.ts similarity index 54% rename from tgui/packages/common/storage.js rename to tgui/packages/common/storage.ts index acf842f64083..a1c20effa2df 100644 --- a/tgui/packages/common/storage.js +++ b/tgui/packages/common/storage.ts @@ -7,9 +7,14 @@ */ export const IMPL_MEMORY = 0; -export const IMPL_LOCAL_STORAGE = 1; +export const IMPL_HUB_STORAGE = 1; export const IMPL_INDEXED_DB = 2; +type StorageImplementation = + | typeof IMPL_MEMORY + | typeof IMPL_HUB_STORAGE + | typeof IMPL_INDEXED_DB; + const INDEXED_DB_VERSION = 1; const INDEXED_DB_NAME = 'tgui'; const INDEXED_DB_STORE_NAME = 'storage-v1'; @@ -17,6 +22,14 @@ const INDEXED_DB_STORE_NAME = 'storage-v1'; const READ_ONLY = 'readonly'; const READ_WRITE = 'readwrite'; +type StorageBackend = { + impl: StorageImplementation, + get(key: string): Promise, + set(key: string, value: any): Promise, + remove(key: string): Promise, + clear(): Promise, +}; + const testGeneric = (testFn) => () => { try { return Boolean(testFn()); @@ -25,69 +38,72 @@ const testGeneric = (testFn) => () => { } }; -// Localstorage can sometimes throw an error, even if DOM storage is not -// disabled in IE11 settings. -// See: https://superuser.com/questions/1080011 -// prettier-ignore -const testLocalStorage = testGeneric(() => ( - window.localStorage && window.localStorage.getItem -)); +const testHubStorage = testGeneric( + () => window.hubStorage && !!window.hubStorage.getItem +); // prettier-ignore const testIndexedDb = testGeneric(() => ( (window.indexedDB || window.msIndexedDB) - && (window.IDBTransaction || window.msIDBTransaction) + && !!(window.IDBTransaction || window.msIDBTransaction) )); -class MemoryBackend { +class MemoryBackend implements StorageBackend { + private store: Record; + public impl: StorageImplementation; constructor() { this.impl = IMPL_MEMORY; this.store = {}; } - get(key) { + async get(key: string): Promise { return this.store[key]; } - set(key, value) { + async set(key: string, value: any): Promise { this.store[key] = value; } - remove(key) { + async remove(key: string): Promise { this.store[key] = undefined; } - clear() { + async clear(): Promise { this.store = {}; } } -class LocalStorageBackend { +class HubStorageBackend implements StorageBackend { + public impl: StorageImplementation; constructor() { - this.impl = IMPL_LOCAL_STORAGE; + this.impl = IMPL_HUB_STORAGE; } - get(key) { - const value = localStorage.getItem(key); + async get(key: string): Promise { + const value = await window.hubStorage.getItem(key); if (typeof value === 'string') { return JSON.parse(value); } + return undefined; } - set(key, value) { - localStorage.setItem(key, JSON.stringify(value)); + async set(key: string, value: any): Promise { + window.hubStorage.setItem(key, JSON.stringify(value)); } - remove(key) { - localStorage.removeItem(key); + async remove(key: string): Promise { + window.hubStorage.removeItem(key); } - clear() { - localStorage.clear(); + async clear(): Promise { + window.hubStorage.clear(); } } -class IndexedDbBackend { +class IndexedDbBackend implements StorageBackend { + public impl: StorageImplementation; + public dbPromise: Promise; + constructor() { this.impl = IMPL_INDEXED_DB; /** @type {Promise} */ @@ -98,7 +114,12 @@ class IndexedDbBackend { try { req.result.createObjectStore(INDEXED_DB_STORE_NAME); } catch (err) { - reject(new Error('Failed to upgrade IDB: ' + req.error)); + reject( + new Error( + 'Failed to upgrade IDB: ' + + (err instanceof Error ? err.message : String(err)), + ), + ); } }; req.onsuccess = () => resolve(req.result); @@ -108,14 +129,14 @@ class IndexedDbBackend { }); } - getStore(mode) { - // prettier-ignore - return this.dbPromise.then((db) => db + private async getStore(mode: IDBTransactionMode): Promise { + const db = await this.dbPromise; + return db .transaction(INDEXED_DB_STORE_NAME, mode) - .objectStore(INDEXED_DB_STORE_NAME)); + .objectStore(INDEXED_DB_STORE_NAME); } - async get(key) { + async get(key: string): Promise { const store = await this.getStore(READ_ONLY); return new Promise((resolve, reject) => { const req = store.get(key); @@ -124,26 +145,19 @@ class IndexedDbBackend { }); } - async set(key, value) { - // The reason we don't _save_ null is because IE 10 does - // not support saving the `null` type in IndexedDB. How - // ironic, given the bug below! - // See: https://github.com/mozilla/localForage/issues/161 - if (value === null) { - value = undefined; - } + async set(key: string, value: any): Promise { // NOTE: We deliberately make this operation transactionless const store = await this.getStore(READ_WRITE); store.put(value, key); } - async remove(key) { + async remove(key: string): Promise { // NOTE: We deliberately make this operation transactionless const store = await this.getStore(READ_WRITE); store.delete(key); } - async clear() { + async clear(): Promise { // NOTE: We deliberately make this operation transactionless const store = await this.getStore(READ_WRITE); store.clear(); @@ -154,9 +168,16 @@ class IndexedDbBackend { * Web Storage Proxy object, which selects the best backend available * depending on the environment. */ -class StorageProxy { +class StorageProxy implements StorageBackend { + private backendPromise: Promise; + public impl: StorageImplementation = IMPL_MEMORY; + constructor() { this.backendPromise = (async () => { + if (!Byond.TRIDENT && testHubStorage()) { + return new HubStorageBackend(); + } + // TODO: Remove with 516 if (testIndexedDb()) { try { const backend = new IndexedDbBackend(); @@ -164,29 +185,29 @@ class StorageProxy { return backend; } catch {} } - if (testLocalStorage()) { - return new LocalStorageBackend(); - } + console.warn( + 'No supported storage backend found. Using in-memory storage.', + ); return new MemoryBackend(); })(); } - async get(key) { + async get(key: string): Promise { const backend = await this.backendPromise; return backend.get(key); } - async set(key, value) { + async set(key: string, value: any): Promise { const backend = await this.backendPromise; return backend.set(key, value); } - async remove(key) { + async remove(key: string): Promise { const backend = await this.backendPromise; return backend.remove(key); } - async clear() { + async clear(): Promise { const backend = await this.backendPromise; return backend.clear(); } diff --git a/tgui/packages/tgui-panel/chat/renderer.js b/tgui/packages/tgui-panel/chat/renderer.js index 1f595bffc7a9..d5bbc6562744 100644 --- a/tgui/packages/tgui-panel/chat/renderer.js +++ b/tgui/packages/tgui-panel/chat/renderer.js @@ -603,7 +603,7 @@ class ChatRenderer { + '\n' + '\n'; // Create and send a nice blob - const blob = new Blob([pageHtml]); + const blob = new Blob([pageHtml], { type: 'text/plain' }); const timestamp = new Date() .toISOString() .substring(0, 19) diff --git a/tgui/packages/tgui-panel/chat/renderer.jsx b/tgui/packages/tgui-panel/chat/renderer.jsx new file mode 100644 index 000000000000..f588cac84ac0 --- /dev/null +++ b/tgui/packages/tgui-panel/chat/renderer.jsx @@ -0,0 +1,643 @@ +/** + * @file + * @copyright 2020 Aleksej Komarov + * @license MIT + */ + +import { EventEmitter } from 'common/events'; +import { classes } from 'common/react'; +import { createRoot } from 'react-dom/client'; +import { Tooltip } from 'tgui/components'; +import { createLogger } from 'tgui/logging'; + +import { + COMBINE_MAX_MESSAGES, + COMBINE_MAX_TIME_WINDOW, + IMAGE_RETRY_DELAY, + IMAGE_RETRY_LIMIT, + IMAGE_RETRY_MESSAGE_AGE, + MAX_PERSISTED_MESSAGES, + MAX_VISIBLE_MESSAGES, + MESSAGE_PRUNE_INTERVAL, + MESSAGE_TYPE_INTERNAL, + MESSAGE_TYPE_UNKNOWN, + MESSAGE_TYPES, +} from './constants'; +import { canPageAcceptType, createMessage, isSameMessage } from './model'; +import { highlightNode, linkifyNode } from './replaceInTextNode'; + +const logger = createLogger('chatRenderer'); + +// We consider this as the smallest possible scroll offset +// that is still trackable. +const SCROLL_TRACKING_TOLERANCE = 24; + +// List of injectable component names to the actual type +export const TGUI_CHAT_COMPONENTS = { + Tooltip, +}; + +// List of injectable attibute names mapped to their proper prop +// We need this because attibutes don't support lowercase names +export const TGUI_CHAT_ATTRIBUTES_TO_PROPS = { + position: 'position', + content: 'content', +}; + +const findNearestScrollableParent = (startingNode) => { + const body = document.body; + let node = startingNode; + while (node && node !== body) { + // This definitely has a vertical scrollbar, because it reduces + // scrollWidth of the element. Might not work if element uses + // overflow: hidden. + if (node.scrollWidth < node.offsetWidth) { + return node; + } + node = node.parentNode; + } + return window; +}; + +const createHighlightNode = (text, color) => { + const node = document.createElement('span'); + node.className = 'Chat__highlight'; + node.setAttribute('style', 'background-color:' + color); + node.textContent = text; + return node; +}; + +const createMessageNode = () => { + const node = document.createElement('div'); + node.className = 'ChatMessage'; + return node; +}; + +const createReconnectedNode = () => { + const node = document.createElement('div'); + node.className = 'Chat__reconnected'; + return node; +}; + +const handleImageError = (e) => { + setTimeout(() => { + /** @type {HTMLImageElement} */ + const node = e.target; + if (!node) { + return; + } + const attempts = parseInt(node.getAttribute('data-reload-n'), 10) || 0; + if (attempts >= IMAGE_RETRY_LIMIT) { + logger.error(`failed to load an image after ${attempts} attempts`); + return; + } + const src = node.src; + node.src = null; + node.src = src + '#' + attempts; + node.setAttribute('data-reload-n', attempts + 1); + }, IMAGE_RETRY_DELAY); +}; + +/** + * Assigns a "times-repeated" badge to the message. + */ +const updateMessageBadge = (message) => { + const { node, times } = message; + if (!node || !times) { + // Nothing to update + return; + } + const foundBadge = node.querySelector('.Chat__badge'); + const badge = foundBadge || document.createElement('div'); + badge.textContent = times; + badge.className = classes(['Chat__badge', 'Chat__badge--animate']); + requestAnimationFrame(() => { + badge.className = 'Chat__badge'; + }); + if (!foundBadge) { + node.appendChild(badge); + } +}; + +class ChatRenderer { + constructor() { + /** @type {HTMLElement} */ + this.loaded = false; + /** @type {HTMLElement} */ + this.rootNode = null; + this.queue = []; + this.messages = []; + this.visibleMessages = []; + this.page = null; + this.events = new EventEmitter(); + // Scroll handler + /** @type {HTMLElement} */ + this.scrollNode = null; + this.scrollTracking = true; + this.handleScroll = (type) => { + const node = this.scrollNode; + const height = node.scrollHeight; + const bottom = node.scrollTop + node.offsetHeight; + const scrollTracking = + Math.abs(height - bottom) < SCROLL_TRACKING_TOLERANCE; + if (scrollTracking !== this.scrollTracking) { + this.scrollTracking = scrollTracking; + this.events.emit('scrollTrackingChanged', scrollTracking); + logger.debug('tracking', this.scrollTracking); + } + }; + this.ensureScrollTracking = () => { + if (this.scrollTracking) { + this.scrollToBottom(); + } + }; + // Periodic message pruning + setInterval(() => this.pruneMessages(), MESSAGE_PRUNE_INTERVAL); + } + + isReady() { + return this.loaded && this.rootNode && this.page; + } + + mount(node) { + // Mount existing root node on top of the new node + if (this.rootNode) { + node.appendChild(this.rootNode); + } + // Initialize the root node + else { + this.rootNode = node; + } + // Find scrollable parent + this.scrollNode = findNearestScrollableParent(this.rootNode); + this.scrollNode.addEventListener('scroll', this.handleScroll); + setTimeout(() => { + this.scrollToBottom(); + }); + // Flush the queue + this.tryFlushQueue(); + } + + onStateLoaded() { + this.loaded = true; + this.tryFlushQueue(); + } + + tryFlushQueue() { + if (this.isReady() && this.queue.length > 0) { + this.processBatch(this.queue); + this.queue = []; + } + } + + assignStyle(style = {}) { + for (let key of Object.keys(style)) { + this.rootNode.style.setProperty(key, style[key]); + } + } + + setHighlight(highlightSettings, highlightSettingById) { + this.highlightParsers = null; + if (!highlightSettings) { + return; + } + highlightSettings.map((id) => { + const setting = highlightSettingById[id]; + const text = setting.highlightText; + const highlightColor = setting.highlightColor; + const highlightWholeMessage = setting.highlightWholeMessage; + const matchWord = setting.matchWord; + const matchCase = setting.matchCase; + const allowedRegex = /^[a-zа-яё0-9_\-$/^[\s\]\\]+$/gi; + const regexEscapeCharacters = /[!#$%^&*)(+=.<>{}[\]:;'"|~`_\-\\/]/g; + const lines = String(text) + .split(',') + .map((str) => str.trim()) + .filter( + (str) => + // Must be longer than one character + str && + str.length > 1 && + // Must be alphanumeric (with some punctuation) + allowedRegex.test(str) && + // Reset lastIndex so it does not mess up the next word + ((allowedRegex.lastIndex = 0) || true), + ); + let highlightWords; + let highlightRegex; + // Nothing to match, reset highlighting + if (lines.length === 0) { + return; + } + let regexExpressions = []; + // Organize each highlight entry into regex expressions and words + for (let line of lines) { + // Regex expression syntax is /[exp]/ + if (line.charAt(0) === '/' && line.charAt(line.length - 1) === '/') { + const expr = line.substring(1, line.length - 1); + // Check if this is more than one character + if (/^(\[.*\]|\\.|.)$/.test(expr)) { + continue; + } + regexExpressions.push(expr); + } else { + // Lazy init + if (!highlightWords) { + highlightWords = []; + } + // We're not going to let regex characters fuck up our RegEx operation. + line = line.replace(regexEscapeCharacters, '\\$&'); + + highlightWords.push(line); + } + } + const regexStr = regexExpressions.join('|'); + const flags = 'g' + (matchCase ? '' : 'i'); + // We wrap this in a try-catch to ensure that broken regex doesn't break + // the entire chat. + try { + // setting regex overrides matchword + if (regexStr) { + highlightRegex = new RegExp('(' + regexStr + ')', flags); + } else { + const pattern = `${matchWord ? '\\b' : ''}(${highlightWords.join( + '|', + )})${matchWord ? '\\b' : ''}`; + highlightRegex = new RegExp(pattern, flags); + } + } catch { + // We just reset it if it's invalid. + highlightRegex = null; + } + // Lazy init + if (!this.highlightParsers) { + this.highlightParsers = []; + } + this.highlightParsers.push({ + highlightWords, + highlightRegex, + highlightColor, + highlightWholeMessage, + }); + }); + } + + scrollToBottom() { + // scrollHeight is always bigger than scrollTop and is + // automatically clamped to the valid range. + this.scrollNode.scrollTop = this.scrollNode.scrollHeight; + } + + changePage(page) { + if (!this.isReady()) { + this.page = page; + this.tryFlushQueue(); + return; + } + this.page = page; + // Fast clear of the root node + this.rootNode.textContent = ''; + this.visibleMessages = []; + // Re-add message nodes + const fragment = document.createDocumentFragment(); + let node; + for (let message of this.messages) { + if (canPageAcceptType(page, message.type)) { + node = message.node; + fragment.appendChild(node); + this.visibleMessages.push(message); + } + } + if (node) { + this.rootNode.appendChild(fragment); + node.scrollIntoView(); + } + } + + getCombinableMessage(predicate) { + const now = Date.now(); + const len = this.visibleMessages.length; + const from = len - 1; + const to = Math.max(0, len - COMBINE_MAX_MESSAGES); + for (let i = from; i >= to; i--) { + const message = this.visibleMessages[i]; + + const matches = + // Is not an internal message + !message.type.startsWith(MESSAGE_TYPE_INTERNAL) && + // Text payload must fully match + isSameMessage(message, predicate) && + // Must land within the specified time window + now < message.createdAt + COMBINE_MAX_TIME_WINDOW; + if (matches) { + return message; + } + } + return null; + } + + processBatch(batch, options = {}) { + const { prepend, notifyListeners = true } = options; + const now = Date.now(); + // Queue up messages until chat is ready + if (!this.isReady()) { + if (prepend) { + this.queue = [...batch, ...this.queue]; + } else { + this.queue = [...this.queue, ...batch]; + } + return; + } + // Insert messages + const fragment = document.createDocumentFragment(); + const countByType = {}; + let node; + for (let payload of batch) { + const message = createMessage(payload); + // Combine messages + const combinable = this.getCombinableMessage(message); + if (combinable) { + combinable.times = (combinable.times || 1) + 1; + updateMessageBadge(combinable); + continue; + } + // Reuse message node + if (message.node) { + node = message.node; + } + // Reconnected + else if (message.type === 'internal/reconnected') { + node = createReconnectedNode(); + } + // Create message node + else { + node = createMessageNode(); + // Payload is plain text + if (message.text) { + node.textContent = message.text; + } + // Payload is HTML + else if (message.html) { + node.innerHTML = message.html; + } else { + logger.error('Error: message is missing text payload', message); + } + // Get all nodes in this message that want to be rendered like jsx + const nodes = node.querySelectorAll('[data-component]'); + for (let i = 0; i < nodes.length; i++) { + const childNode = nodes[i]; + const targetName = childNode.getAttribute('data-component'); + // Let's pull out the attibute info we need + let outputProps = {}; + for (let j = 0; j < childNode.attributes.length; j++) { + const attribute = childNode.attributes[j]; + + let working_value = attribute.nodeValue; + // We can't do the "if it has no value it's truthy" trick + // Because getAttribute returns "", not null. Hate IE + if (working_value === '$true') { + working_value = true; + } else if (working_value === '$false') { + working_value = false; + } else if (!isNaN(working_value)) { + const parsed_float = parseFloat(working_value); + if (!isNaN(parsed_float)) { + working_value = parsed_float; + } + } + + let canon_name = attribute.nodeName.replace('data-', ''); + // html attributes don't support upper case chars, so we need to map + canon_name = TGUI_CHAT_ATTRIBUTES_TO_PROPS[canon_name]; + outputProps[canon_name] = working_value; + } + const oldHtml = { __html: childNode.innerHTML }; + while (childNode.firstChild) { + childNode.removeChild(childNode.firstChild); + } + const Element = TGUI_CHAT_COMPONENTS[targetName]; + + const reactRoot = createRoot(childNode); + + /* eslint-disable react/no-danger */ + reactRoot.render( + + + , + childNode, + ); + } + + // Highlight text + if (!message.avoidHighlighting && this.highlightParsers) { + this.highlightParsers.map((parser) => { + const highlighted = highlightNode( + node, + parser.highlightRegex, + parser.highlightWords, + (text) => createHighlightNode(text, parser.highlightColor), + ); + if (highlighted && parser.highlightWholeMessage) { + node.className += ' ChatMessage--highlighted'; + } + }); + } + // Linkify text + const linkifyNodes = node.querySelectorAll('.linkify'); + for (let i = 0; i < linkifyNodes.length; ++i) { + linkifyNode(linkifyNodes[i]); + } + // Assign an image error handler + if (now < message.createdAt + IMAGE_RETRY_MESSAGE_AGE) { + const imgNodes = node.querySelectorAll('img'); + for (let i = 0; i < imgNodes.length; i++) { + const imgNode = imgNodes[i]; + imgNode.addEventListener('error', handleImageError); + } + } + } + // Store the node in the message + message.node = node; + // Query all possible selectors to find out the message type + if (!message.type) { + const typeDef = MESSAGE_TYPES.find( + (typeDef) => typeDef.selector && node.querySelector(typeDef.selector), + ); + message.type = typeDef?.type || MESSAGE_TYPE_UNKNOWN; + } + updateMessageBadge(message); + if (!countByType[message.type]) { + countByType[message.type] = 0; + } + countByType[message.type] += 1; + // TODO: Detect duplicates + this.messages.push(message); + if (canPageAcceptType(this.page, message.type)) { + fragment.appendChild(node); + this.visibleMessages.push(message); + } + } + if (node) { + const firstChild = this.rootNode.childNodes[0]; + if (prepend && firstChild) { + this.rootNode.insertBefore(fragment, firstChild); + } else { + this.rootNode.appendChild(fragment); + } + if (this.scrollTracking) { + setTimeout(() => this.scrollToBottom()); + } + } + // Notify listeners that we have processed the batch + if (notifyListeners) { + this.events.emit('batchProcessed', countByType); + } + } + + pruneMessages() { + if (!this.isReady()) { + return; + } + // Delay pruning because user is currently interacting + // with chat history + if (!this.scrollTracking) { + logger.debug('pruning delayed'); + return; + } + // Visible messages + { + const messages = this.visibleMessages; + const fromIndex = Math.max(0, messages.length - MAX_VISIBLE_MESSAGES); + if (fromIndex > 0) { + this.visibleMessages = messages.slice(fromIndex); + for (let i = 0; i < fromIndex; i++) { + const message = messages[i]; + this.rootNode.removeChild(message.node); + // Mark this message as pruned + message.node = 'pruned'; + } + // Remove pruned messages from the message array + + this.messages = this.messages.filter( + (message) => message.node !== 'pruned', + ); + logger.log(`pruned ${fromIndex} visible messages`); + } + } + // All messages + { + const fromIndex = Math.max( + 0, + this.messages.length - MAX_PERSISTED_MESSAGES, + ); + if (fromIndex > 0) { + this.messages = this.messages.slice(fromIndex); + logger.log(`pruned ${fromIndex} stored messages`); + } + } + } + + rebuildChat() { + if (!this.isReady()) { + return; + } + // Make a copy of messages + const fromIndex = Math.max( + 0, + this.messages.length - MAX_PERSISTED_MESSAGES, + ); + const messages = this.messages.slice(fromIndex); + // Remove existing nodes + for (let message of messages) { + message.node = undefined; + } + // Fast clear of the root node + this.rootNode.textContent = ''; + this.messages = []; + this.visibleMessages = []; + // Repopulate the chat log + this.processBatch(messages, { + notifyListeners: false, + }); + } + + /** + * @clearChat + * @copyright 2023 + * @author Cheffie + * @link https://github.com/CheffieGithub + * @license MIT + */ + clearChat() { + const messages = this.visibleMessages; + this.visibleMessages = []; + for (let i = 0; i < messages.length; i++) { + const message = messages[i]; + this.rootNode.removeChild(message.node); + // Mark this message as pruned + message.node = 'pruned'; + } + // Remove pruned messages from the message array + this.messages = this.messages.filter( + (message) => message.node !== 'pruned', + ); + logger.log(`Cleared chat`); + } + + saveToDisk() { + // Compile currently loaded stylesheets as CSS text + let cssText = ''; + const styleSheets = document.styleSheets; + for (let i = 0; i < styleSheets.length; i++) { + const cssRules = styleSheets[i].cssRules; + for (let i = 0; i < cssRules.length; i++) { + const rule = cssRules[i]; + if (rule && typeof rule.cssText === 'string') { + cssText += rule.cssText + '\n'; + } + } + } + cssText += 'body, html { background-color: #141414 }\n'; + // Compile chat log as HTML text + let messagesHtml = ''; + for (let message of this.visibleMessages) { + if (message.node) { + messagesHtml += message.node.outerHTML + '\n'; + } + } + // Create a page + + const pageHtml = + '\n' + + '\n' + + '\n' + + 'SS13 Chat Log\n' + + '\n' + + '\n' + + '\n' + + '

    \n' + + messagesHtml + + '
    \n' + + '\n' + + '\n'; + // Create and send a nice blob + const blob = new Blob([pageHtml], { type: 'text/plain' }); + const timestamp = new Date() + .toISOString() + .substring(0, 19) + .replace(/[-:]/g, '') + .replace('T', '-'); + Byond.saveBlob(blob, `ss13-chatlog-${timestamp}.html`, '.html'); + } +} + +// Make chat renderer global so that we can continue using the same +// instance after hot code replacement. +if (!window.__chatRenderer__) { + window.__chatRenderer__ = new ChatRenderer(); +} + +/** @type {ChatRenderer} */ +export const chatRenderer = window.__chatRenderer__; diff --git a/tgui/packages/tgui-panel/index.js b/tgui/packages/tgui-panel/index.js index 6bc6b32c4622..297ecd85852c 100644 --- a/tgui/packages/tgui-panel/index.js +++ b/tgui/packages/tgui-panel/index.js @@ -75,14 +75,8 @@ const setupApp = () => { Byond.subscribe((type, payload) => store.dispatch({ type, payload })); // Unhide the panel - Byond.winset('output', { - 'is-visible': false, - }); - Byond.winset('browseroutput', { - 'is-visible': true, - 'is-disabled': false, - 'pos': '0x0', - 'size': '0x0', + Byond.winset('legacy_output_selector', { + left: 'output_browser', }); // Resize the panel to match the non-browser output diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss index d463b780a028..dc5cd0d34894 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss @@ -19,6 +19,7 @@ img { img.icon { height: 1em; min-height: 16px; + min-width: 16px; width: auto; vertical-align: bottom; } diff --git a/tgui/packages/tgui-say/index.tsx b/tgui/packages/tgui-say/index.tsx index ed512b525ff5..f7b65f610668 100644 --- a/tgui/packages/tgui-say/index.tsx +++ b/tgui/packages/tgui-say/index.tsx @@ -1,19 +1,15 @@ -import './styles/main.scss'; import { createRenderer } from 'tgui/renderer'; import { TguiSay } from './TguiSay'; -const renderApp = createRenderer(() => { - return ; -}); +let reactRoot: Root | null = null; -const setupApp = () => { - // Delay setup - if (document.readyState === 'loading') { - document.addEventListener('DOMContentLoaded', setupApp); - return; +document.onreadystatechange = function () { + if (document.readyState !== 'complete') return; + + if (!reactRoot) { + const root = document.getElementById('react-root'); + reactRoot = createRoot(root!); } - renderApp(); + reactRoot.render(); }; - -setupApp(); diff --git a/tgui/packages/tgui-say/package.json b/tgui/packages/tgui-say/package.json index 5ee9e432606f..31ef0a759c82 100644 --- a/tgui/packages/tgui-say/package.json +++ b/tgui/packages/tgui-say/package.json @@ -3,8 +3,10 @@ "name": "tgui-say", "version": "1.0.0", "dependencies": { + "@types/react-dom": "^18.2.24", "common": "workspace:*", "inferno": "^7.4.8", + "react-dom": "^18.2.0", "tgui": "workspace:*", "tgui-polyfill": "workspace:*" } diff --git a/tgui/packages/tgui/backend.ts b/tgui/packages/tgui/backend.ts index 79dc7dd6ac8f..5535198233f1 100644 --- a/tgui/packages/tgui/backend.ts +++ b/tgui/packages/tgui/backend.ts @@ -21,9 +21,25 @@ import { resumeRenderer, suspendRenderer } from './renderer'; const logger = createLogger('backend'); +export let globalStore; + +export const setGlobalStore = (store) => { + globalStore = store; +}; + export const backendUpdate = createAction('backend/update'); export const backendSetSharedState = createAction('backend/setSharedState'); export const backendSuspendStart = createAction('backend/suspendStart'); +export const backendCreatePayloadQueue = createAction( + 'backend/createPayloadQueue' +); +export const backendDequeuePayloadQueue = createAction( + 'backend/dequeuePayloadQueue' +); +export const backendRemovePayloadQueue = createAction( + 'backend/removePayloadQueue' +); +export const nextPayloadChunk = createAction('nextPayloadChunk'); export const backendSuspendSuccess = () => ({ type: 'backend/suspendSuccess', @@ -36,6 +52,7 @@ const initialState = { config: {}, data: {}, shared: {}, + outgoingPayloadQueues: {} as Record, // Start as suspended suspended: Date.now(), suspending: false, @@ -112,6 +129,44 @@ export const backendReducer = (state = initialState, action) => { }; } + if (type === 'backend/createPayloadQueue') { + const { id, chunks } = payload; + const { outgoingPayloadQueues } = state; + return { + ...state, + outgoingPayloadQueues: { + ...outgoingPayloadQueues, + [id]: chunks, + }, + }; + } + + if (type === 'backend/dequeuePayloadQueue') { + const { id } = payload; + const { outgoingPayloadQueues } = state; + const { [id]: targetQueue, ...otherQueues } = outgoingPayloadQueues; + const [_, ...rest] = targetQueue; + return { + ...state, + outgoingPayloadQueues: rest.length + ? { + ...otherQueues, + [id]: rest, + } + : otherQueues, + }; + } + + if (type === 'backend/removePayloadQueue') { + const { id } = payload; + const { outgoingPayloadQueues } = state; + const { [id]: _, ...otherQueues } = outgoingPayloadQueues; + return { + ...state, + outgoingPayloadQueues: otherQueues, + }; + } + return state; }; @@ -120,7 +175,9 @@ export const backendMiddleware = (store) => { let suspendInterval; return (next) => (action) => { - const { suspended } = selectBackend(store.getState()); + const { suspended, outgoingPayloadQueues } = selectBackend( + store.getState() + ); const { type, payload } = action; if (type === 'update') { @@ -195,10 +252,9 @@ export const backendMiddleware = (store) => { setTimeout(() => { perf.mark('resume/start'); // Doublecheck if we are not re-suspended. - const { suspended } = selectBackend(store.getState()); - if (suspended) { - return; - } + const { suspended, outgoingPayloadQueues } = selectBackend( + store.getState() + ); Byond.winset(Byond.windowId, { 'is-visible': true, }); @@ -212,10 +268,86 @@ export const backendMiddleware = (store) => { }); } + if (type === 'oversizePayloadResponse') { + const { allow } = payload; + if (allow) { + store.dispatch(nextPayloadChunk(payload)); + } else { + store.dispatch(backendRemovePayloadQueue(payload)); + } + } + + if (type === 'acknowlegePayloadChunk') { + store.dispatch(backendDequeuePayloadQueue(payload)); + store.dispatch(nextPayloadChunk(payload)); + } + + if (type === 'nextPayloadChunk') { + const { id } = payload; + const chunk = outgoingPayloadQueues[id][0]; + Byond.sendMessage('payloadChunk', { + id, + chunk, + }); + } + return next(action); }; }; +const encodedLengthBinarySearch = (haystack: string[], length: number) => { + const haystackLength = haystack.length; + let high = haystackLength - 1; + let low = 0; + let mid = 0; + while (low < high) { + mid = Math.round((low + high) / 2); + const substringLength = encodeURIComponent( + haystack.slice(0, mid).join('') + ).length; + if (substringLength === length) { + break; + } + if (substringLength < length) { + low = mid + 1; + } else { + high = mid - 1; + } + } + return mid; +}; + +const chunkSplitter = { + [Symbol.split]: (string: string) => { + const charSeq = string[Symbol.iterator]().toArray(); + const length = charSeq.length; + let chunks: string[] = []; + let startIndex = 0; + let endIndex = 1024; + while (startIndex < length) { + const cut = charSeq.slice( + startIndex, + endIndex < length ? endIndex : undefined + ); + const cutString = cut.join(''); + if (encodeURIComponent(cutString).length > 1024) { + const splitIndex = startIndex + encodedLengthBinarySearch(cut, 1024); + chunks.push( + charSeq + .slice(startIndex, splitIndex < length ? splitIndex : undefined) + .join('') + ); + startIndex = splitIndex; + } else { + chunks.push(cutString); + startIndex = endIndex; + } + endIndex = startIndex + 1024; + } + return chunks; + }, +}; + /** * Sends an action to `ui_act` on `src_object` that this tgui window * is associated with. @@ -230,6 +362,33 @@ export const sendAct = (action: string, payload: object = {}) => { logger.error(`Payload for act() must be an object, got this:`, payload); return; } + if (!Byond.TRIDENT) { + const stringifiedPayload = JSON.stringify(payload); + const urlSize = Object.entries({ + type: 'act/' + action, + payload: stringifiedPayload, + tgui: 1, + windowId: Byond.windowId, + }).reduce( + (url, [key, value], i) => + url + + `${i > 0 ? '&' : '?'}${encodeURIComponent(key)}=${encodeURIComponent( + value + )}`, + '' + ).length; + if (urlSize > 2048) { + let chunks: string[] = stringifiedPayload.split(chunkSplitter); + const id = `${Date.now()}`; + globalStore?.dispatch(backendCreatePayloadQueue({ id, chunks })); + Byond.sendMessage('oversizedPayloadRequest', { + type: 'act/' + action, + id, + chunkCount: chunks.length, + }); + return; + } + } Byond.sendMessage('act/' + action, payload); }; @@ -257,6 +416,7 @@ type BackendState = { }; data: TData; shared: Record; + outgoingPayloadQueues: Record; suspending: boolean; suspended: boolean; }; diff --git a/tgui/packages/tgui/interfaces/HelmConsole.js b/tgui/packages/tgui/interfaces/HelmConsole.js index a8f540099916..e3595f662465 100644 --- a/tgui/packages/tgui/interfaces/HelmConsole.js +++ b/tgui/packages/tgui/interfaces/HelmConsole.js @@ -1,3 +1,7 @@ +/** + * @changes 2026 KOCMOHABT (https://github.com/CeladonSS13/Shiptest/pull/2647) + * @TDLR From anything changes, see History in GIT and PR. + */ import { useBackend } from '../backend'; import { Button, @@ -10,6 +14,8 @@ import { LabeledControls, NumberInput, Divider, + Stack, + NoticeBox, } from '../components'; import { Window } from '../layouts'; import { Table } from '../components/Table'; @@ -19,92 +25,44 @@ export const HelmConsole = (_props, context) => { const { data } = useBackend(context); const { mapRef, isViewer } = data; return ( - -
    - - {!isViewer && } - - - -
    -
    -
    - {!!data.docked && ( -
    Ship docked to: {data.docked}
    - )} -
    - -
    + + + + + {!!data.docked && ( + Ship docked to: {data.docked} + )} + {!isViewer && } + + + + + + + {!!data.docked && ( + Ship docked to: {data.docked} + )} + + + + ); }; const SharedContent = (_props, context) => { const { act, data } = useBackend(context); - const { isViewer, canRename, shipInfo = [], otherInfo = [] } = data; + const { isViewer, canRename, shipInfo = [], otherInfo = [], arpa_ships = [], calibrating } = data; + let flyable = !data.docking && !data.docked; return ( <> -
    - - - Name - {!isViewer && Act} - {!isViewer && Dock} - - {otherInfo.map((ship) => ( - - {ship.name} - {!isViewer && ( - -
    -
    { disabled={isViewer} onClick={() => act('reload_ship')} /> -
    +
    +
    +
    + {arpa_ships.map((ship) => ( + + {ship.name} + + ))} +
    ); }; @@ -194,7 +251,6 @@ const ShipContent = (_props, context) => { eta, x, y, - arpa_ships = [], } = data; return ( <> @@ -240,17 +296,6 @@ const ShipContent = (_props, context) => { -
    - {arpa_ships.map((ship) => ( - - {ship.name} - - ))} - -
    { const ShipControlContent = (_props, context) => { const { act, data } = useBackend(context); const { - calibrating, aiControls, aiUser, burnDirection, @@ -368,9 +412,11 @@ const ShipControlContent = (_props, context) => { tooltip="Undock" tooltipPosition="left" icon="sign-out-alt" - // [CELADON-EDIT] - subshuttles fix - disabled={!data.docked || data.docking || data.motheroutpost != null} - // [/CELADON-EDIT] - subshuttles fix + // [CELADON-EDIT] - subshuttles fix + disabled={ + !data.docked || data.docking || data.motheroutpost != null + } + // [/CELADON-EDIT] - subshuttles fix onClick={() => act('undock')} />