diff --git a/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm b/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm
new file mode 100644
index 0000000000..75c0434771
--- /dev/null
+++ b/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm
@@ -0,0 +1,7550 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"al" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"ap" = (
+/obj/structure/ore_box,
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"at" = (
+/obj/structure/gulag_beacon,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"au" = (
+/obj/machinery/door/airlock/mining/glass{
+ name = "Mining Station EVA";
+ req_access_txt = "54"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"av" = (
+/obj/machinery/door/airlock{
+ name = "Closet"
+ },
+/turf/open/floor/plating,
+/area/mine/production)
+"aG" = (
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"aJ" = (
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"aK" = (
+/obj/machinery/atmospherics/components/unary/tank/air{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"aN" = (
+/turf/open/floor/plasteel/white,
+/area/mine/laborcamp)
+"aW" = (
+/obj/effect/turf_decal/tile/purple,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"aX" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/machinery/door/airlock{
+ name = "Labor Camp External Access"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"bg" = (
+/turf/closed/wall,
+/area/mine/eva)
+"bH" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{
+ dir = 4;
+ piping_layer = 3
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/mine/living_quarters)
+"bI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"bX" = (
+/obj/machinery/door/window/southleft,
+/obj/machinery/shower{
+ pixel_y = 22
+ },
+/turf/open/floor/plasteel/freezer,
+/area/mine/living_quarters)
+"cd" = (
+/turf/closed/wall,
+/area/mine/laborcamp)
+"cf" = (
+/obj/machinery/mineral/equipment_vendor,
+/obj/effect/turf_decal/tile/purple,
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"ci" = (
+/obj/machinery/door/airlock{
+ name = "Vending"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"cn" = (
+/obj/machinery/door/airlock{
+ id_tag = "miningdorm3";
+ name = "Room 3"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"cr" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"cz" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "labor";
+ name = "labor camp blast door"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"cA" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/mine/eva)
+"cD" = (
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"cX" = (
+/obj/structure/statue{
+ desc = "A lifelike statue of a horrifying monster.";
+ dir = 8;
+ icon = 'icons/mob/lavaland/lavaland_monsters.dmi';
+ icon_state = "goliath";
+ name = "goliath"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"di" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"dk" = (
+/obj/structure/table,
+/obj/item/stack/packageWrap,
+/obj/item/stack/packageWrap,
+/obj/item/stack/packageWrap,
+/obj/item/hand_labeler,
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"dC" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"dL" = (
+/obj/machinery/atmospherics/components/binary/pump/on,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"dP" = (
+/obj/machinery/airalarm{
+ pixel_y = 23
+ },
+/obj/machinery/computer/shuttle/mining{
+ req_access = null
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"dZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass{
+ name = "Mining Station Bridge"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"eh" = (
+/obj/structure/table,
+/obj/item/storage/firstaid/regular,
+/turf/open/floor/plasteel/white,
+/area/mine/laborcamp)
+"es" = (
+/turf/open/floor/plasteel,
+/area/mine/production)
+"ez" = (
+/obj/effect/turf_decal/loading_area{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"eE" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/machinery/button/door{
+ id = "labor";
+ name = "Labor Camp Lockdown";
+ pixel_y = 28;
+ req_access_txt = "2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"eL" = (
+/obj/structure/reagent_dispensers/watertank,
+/obj/effect/turf_decal/tile/purple,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"eP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass{
+ name = "Mining Station Bridge"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"eS" = (
+/obj/structure/table,
+/obj/item/gps/mining,
+/obj/item/gps/mining,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"fm" = (
+/obj/structure/sign/warning/docking,
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/mine/production)
+"fs" = (
+/obj/item/radio/intercom{
+ desc = "Talk through this. It looks like it has been modified to not broadcast.";
+ name = "Prison Intercom (General)";
+ pixel_y = 24;
+ prison_radio = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"fN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"fO" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Shuttle Docking Foyer";
+ dir = 8;
+ network = list("mine")
+ },
+/obj/machinery/newscaster{
+ pixel_x = 30;
+ pixel_y = 1
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"fU" = (
+/obj/item/radio/intercom{
+ dir = 8;
+ name = "Station Intercom (General)";
+ pixel_x = -28
+ },
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"gk" = (
+/obj/structure/closet/crate{
+ icon_state = "crateopen"
+ },
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"gs" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"gP" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Mining Station Communications";
+ req_access_txt = "48"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/maintenance)
+"gT" = (
+/obj/structure/bed,
+/obj/item/bedsheet/medical,
+/obj/machinery/camera{
+ c_tag = "Labor Camp Medical";
+ dir = 8;
+ network = list("labor")
+ },
+/turf/open/floor/plasteel/white,
+/area/mine/laborcamp)
+"hf" = (
+/obj/item/twohanded/required/kirbyplants/random,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"hm" = (
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"hv" = (
+/obj/machinery/camera{
+ c_tag = "Crew Area Hallway West";
+ dir = 1;
+ network = list("mine")
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"hy" = (
+/obj/machinery/camera{
+ c_tag = "Labor Camp External";
+ dir = 4;
+ network = list("labor")
+ },
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
+"hH" = (
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/structure/displaycase,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"hP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"hQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"ia" = (
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"ig" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/red,
+/obj/item/paper_bin,
+/obj/item/pen,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"ik" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"iv" = (
+/obj/machinery/camera{
+ c_tag = "Dormitories";
+ dir = 4;
+ network = list("mine")
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"iG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"iQ" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"jf" = (
+/obj/structure/table,
+/obj/item/storage/firstaid/regular,
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/mine/living_quarters)
+"jn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"jD" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/structure/table,
+/obj/item/restraints/handcuffs,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"jJ" = (
+/turf/closed/mineral/random/labormineral/volcanic,
+/area/lavaland/surface/outdoors/explored)
+"kb" = (
+/obj/machinery/mineral/processing_unit_console,
+/turf/closed/wall,
+/area/mine/laborcamp)
+"kj" = (
+/obj/machinery/conveyor{
+ id = "gulag"
+ },
+/turf/open/floor/plating,
+/area/mine/laborcamp)
+"kz" = (
+/obj/machinery/light/small,
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"kB" = (
+/obj/machinery/computer/security/labor,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"kE" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/machinery/door/airlock/external{
+ glass = 1;
+ name = "Mining External Airlock";
+ opacity = 0;
+ req_access_txt = "54"
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"kF" = (
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"kH" = (
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"kR" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"kS" = (
+/obj/structure/table,
+/obj/item/storage/firstaid/toxin{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/mine/living_quarters)
+"lj" = (
+/turf/open/floor/mech_bay_recharge_floor,
+/area/mine/eva)
+"lr" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/turf/open/floor/plasteel/white,
+/area/mine/living_quarters)
+"lu" = (
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/obj/machinery/computer/mech_bay_power_console{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"ly" = (
+/obj/machinery/camera{
+ c_tag = "Labor Camp Central";
+ network = list("labor")
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"lI" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"lS" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"me" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"mg" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -5;
+ pixel_y = 30
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"mi" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"mp" = (
+/obj/docking_port/stationary{
+ dir = 8;
+ dwidth = 2;
+ height = 5;
+ id = "laborcamp_away";
+ name = "labor camp";
+ width = 9
+ },
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/explored)
+"mv" = (
+/obj/machinery/door/window/southright,
+/obj/machinery/shower{
+ pixel_y = 22
+ },
+/turf/open/floor/plasteel/freezer,
+/area/mine/living_quarters)
+"mw" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/effect/turf_decal/loading_area{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"my" = (
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/explored)
+"mI" = (
+/obj/machinery/space_heater,
+/turf/open/floor/plating,
+/area/mine/production)
+"mL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"mN" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating,
+/area/mine/production)
+"nm" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"nv" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable{
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"ny" = (
+/obj/machinery/computer/prisoner,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"nH" = (
+/obj/structure/displaycase,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"nI" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"nJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"nK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"nN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer,
+/area/mine/living_quarters)
+"nR" = (
+/obj/structure/ore_box,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"oo" = (
+/obj/machinery/conveyor{
+ id = "mining_internal"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/mine/production)
+"ow" = (
+/obj/machinery/door/airlock/medical/glass{
+ name = "Infirmary"
+ },
+/turf/open/floor/plasteel/white,
+/area/mine/laborcamp)
+"oy" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"oG" = (
+/obj/machinery/mineral/equipment_vendor,
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"oM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"oY" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"pi" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"pr" = (
+/obj/structure/table,
+/obj/item/pickaxe,
+/obj/item/gps/mining,
+/obj/item/gps/mining,
+/obj/item/gps/mining,
+/obj/item/gps/mining,
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"pK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"qb" = (
+/obj/structure/tank_dispenser/oxygen,
+/obj/effect/turf_decal/tile/purple,
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"qc" = (
+/obj/machinery/shower{
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 30
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"qg" = (
+/obj/structure/toilet{
+ dir = 8
+ },
+/turf/open/floor/plasteel/freezer,
+/area/mine/living_quarters)
+"qh" = (
+/obj/structure/sink{
+ dir = 8;
+ pixel_x = 11
+ },
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"qm" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/closet/crate/secure/loot,
+/obj/structure/sign/warning/electricshock{
+ pixel_y = 32
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"qH" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 30
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"qM" = (
+/obj/structure/table,
+/obj/item/reagent_containers/food/drinks/beer{
+ pixel_x = 7;
+ pixel_y = 5
+ },
+/obj/item/reagent_containers/food/drinks/beer{
+ pixel_x = -1;
+ pixel_y = 9
+ },
+/obj/item/reagent_containers/food/drinks/beer{
+ pixel_x = -8
+ },
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"qR" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"qS" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"qZ" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"re" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/structure/closet/secure_closet/labor_camp_security,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"rf" = (
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"rB" = (
+/obj/machinery/mineral/unloading_machine{
+ dir = 1;
+ icon_state = "unloader-corner";
+ input_dir = 1;
+ output_dir = 2
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/mine/production)
+"rK" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"rU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/plasteel/white,
+/area/mine/living_quarters)
+"sa" = (
+/obj/machinery/mineral/processing_unit{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/mine/laborcamp)
+"se" = (
+/obj/effect/spawner/structure/window,
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"si" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"sj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"sm" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"sx" = (
+/obj/item/radio/intercom{
+ dir = 8;
+ name = "Station Intercom (General)";
+ pixel_x = 28
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"sz" = (
+/obj/effect/turf_decal/loading_area,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"sE" = (
+/obj/structure/closet/crate,
+/obj/effect/turf_decal/tile/purple,
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"sP" = (
+/obj/structure/table,
+/obj/machinery/microwave{
+ pixel_y = 6
+ },
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"sR" = (
+/obj/machinery/light,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"sU" = (
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"sW" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"tk" = (
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"tr" = (
+/obj/structure/chair,
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"tJ" = (
+/obj/item/beacon,
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"tK" = (
+/obj/structure/closet/crate,
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/explored)
+"tY" = (
+/obj/structure/closet/emcloset,
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"uh" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"uG" = (
+/obj/structure/table,
+/obj/item/clothing/glasses/meson,
+/obj/item/storage/bag/ore,
+/obj/item/pickaxe,
+/obj/item/mining_scanner,
+/obj/item/flashlight,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"uI" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Mining Station Maintenance";
+ req_access_txt = "48"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"uJ" = (
+/obj/item/bikehorn{
+ color = "#000";
+ desc = "A horn off of a bicycle. This one has been charred to hell and back, yet somehow it still honks.";
+ name = "charred bike horn"
+ },
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/explored)
+"uR" = (
+/obj/effect/turf_decal/loading_area{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"va" = (
+/obj/machinery/button/door{
+ id = "miningbathroom";
+ name = "Door Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_y = -25;
+ specialfunctions = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer,
+/area/mine/living_quarters)
+"vo" = (
+/obj/machinery/flasher{
+ id = "labor"
+ },
+/turf/closed/wall,
+/area/mine/laborcamp)
+"vy" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/machinery/door/airlock{
+ name = "Labor Camp External Access"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"vE" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"vJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"wd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"wg" = (
+/obj/structure/closet/crate,
+/obj/item/dice/d4,
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"wj" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"wt" = (
+/obj/structure/toilet{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/mine/laborcamp/security)
+"wz" = (
+/turf/closed/mineral/random/volcanic,
+/area/lavaland/surface/outdoors)
+"wB" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/white,
+/area/mine/laborcamp)
+"wC" = (
+/turf/open/floor/circuit,
+/area/mine/maintenance)
+"wE" = (
+/obj/machinery/vending/cigarette,
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"wV" = (
+/turf/closed/mineral/random/volcanic,
+/area/lavaland/surface/outdoors/explored)
+"wX" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"xd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"xh" = (
+/obj/machinery/vending/sustenance,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"xv" = (
+/obj/machinery/mech_bay_recharge_port,
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating,
+/area/mine/eva)
+"xA" = (
+/obj/machinery/camera{
+ c_tag = "Communications Relay";
+ dir = 8;
+ network = list("mine")
+ },
+/turf/open/floor/circuit,
+/area/mine/maintenance)
+"xH" = (
+/obj/structure/table,
+/obj/item/cigbutt,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"xP" = (
+/obj/machinery/suit_storage_unit/mining,
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"xS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"yt" = (
+/obj/structure/closet/crate{
+ icon_state = "crateopen"
+ },
+/obj/machinery/light,
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"yF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"yR" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"yT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer,
+/area/mine/living_quarters)
+"zh" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"zo" = (
+/obj/structure/table,
+/turf/open/floor/carpet,
+/area/mine/living_quarters)
+"zx" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/mine/laborcamp)
+"zy" = (
+/obj/item/twohanded/required/kirbyplants/random,
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"zI" = (
+/turf/open/lava/smooth/lava_land_surface,
+/area/lavaland/surface/outdoors/explored)
+"zN" = (
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"zY" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"zZ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Ab" = (
+/obj/structure/ore_box,
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/explored)
+"Ad" = (
+/obj/machinery/light_switch{
+ pixel_y = -25
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/circuit,
+/area/mine/maintenance)
+"Ag" = (
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Ah" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"Aj" = (
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Al" = (
+/turf/closed/wall/r_wall,
+/area/mine/maintenance)
+"At" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/mine/production)
+"AH" = (
+/obj/machinery/cryopod{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"AJ" = (
+/obj/machinery/door/airlock/glass{
+ name = "Break Room"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"AQ" = (
+/obj/machinery/door/airlock{
+ id_tag = "miningdorm2";
+ name = "Room 2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"AS" = (
+/obj/machinery/door/airlock/external{
+ glass = 1;
+ name = "Mining External Airlock";
+ opacity = 0
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"AZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Bc" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating,
+/area/mine/production)
+"Be" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/mine/eva)
+"Bh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Bo" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"BO" = (
+/obj/machinery/door/airlock{
+ name = "Labor Camp Storage"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"Ca" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Mining Station Port Wing APC";
+ pixel_x = 1;
+ pixel_y = 23
+ },
+/obj/structure/cable{
+ icon_state = "0-2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Cd" = (
+/turf/closed/wall,
+/area/mine/production)
+"Cg" = (
+/obj/structure/table,
+/obj/item/tank/internals/emergency_oxygen{
+ pixel_x = 5;
+ pixel_y = 3
+ },
+/obj/item/tank/internals/emergency_oxygen,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Cj" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Cm" = (
+/obj/machinery/vending/snack,
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Cy" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/machinery/door/airlock/security/glass{
+ name = "Labor Camp Shuttle Security Airlock";
+ req_access_txt = "2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"CA" = (
+/obj/machinery/atmospherics/pipe/manifold4w/supply,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"CH" = (
+/obj/structure/rack,
+/obj/item/storage/bag/ore,
+/obj/item/pickaxe,
+/obj/item/flashlight,
+/obj/item/clothing/glasses/meson,
+/obj/item/mining_scanner,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"CJ" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"CR" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"CV" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on,
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"Dd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Dr" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -5;
+ pixel_y = 30
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/chair,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Dv" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating,
+/area/mine/laborcamp/security)
+"DN" = (
+/obj/machinery/computer/shuttle/mining/common{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Ed" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/mine/production)
+"Eg" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Em" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Ev" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/button/door{
+ id = "miningdorm2";
+ name = "Door Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 25;
+ specialfunctions = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/turf/open/floor/carpet,
+/area/mine/living_quarters)
+"Ex" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"EB" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/vending/security,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"EH" = (
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Fx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"FC" = (
+/obj/machinery/airalarm{
+ pixel_y = 24
+ },
+/turf/open/floor/circuit,
+/area/mine/maintenance)
+"FE" = (
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Ga" = (
+/obj/machinery/status_display/evac{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"Ge" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"Gt" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"GM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"GN" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Mining Station Starboard Wing APC";
+ pixel_x = -25;
+ pixel_y = 2
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Hd" = (
+/obj/effect/spawner/structure/window,
+/turf/open/floor/plating,
+/area/mine/eva)
+"Hg" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"Hh" = (
+/obj/machinery/conveyor{
+ dir = 8;
+ id = "gulag"
+ },
+/turf/open/floor/plating,
+/area/mine/laborcamp)
+"Hk" = (
+/obj/docking_port/stationary{
+ dir = 8;
+ dwidth = 3;
+ height = 7;
+ id = "lavaland_common_away";
+ name = "Mining base public dock";
+ width = 7
+ },
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
+"Hm" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/machinery/door/airlock/external{
+ name = "Lavaland Shuttle Airlock"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Ho" = (
+/obj/machinery/door/airlock{
+ name = "Restroom"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"Hq" = (
+/obj/structure/rack,
+/obj/item/storage/bag/ore,
+/obj/item/flashlight,
+/obj/item/pickaxe,
+/obj/item/clothing/glasses/meson,
+/obj/item/mining_scanner,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"Hx" = (
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"HE" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 10
+ },
+/obj/machinery/bluespace_beacon,
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel/dark,
+/area/mine/maintenance)
+"HO" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/machinery/door/airlock/security/glass{
+ name = "Labor Camp Shuttle Prisoner Airlock"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"HR" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"HS" = (
+/obj/machinery/conveyor{
+ dir = 10;
+ id = "gulag"
+ },
+/turf/open/floor/plating,
+/area/mine/laborcamp)
+"HU" = (
+/obj/machinery/computer/shuttle/labor/one_way{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"HY" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/airalarm{
+ pixel_y = 23
+ },
+/obj/machinery/iv_drip,
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/mine/living_quarters)
+"If" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Ii" = (
+/obj/structure/table,
+/obj/item/storage/box/donkpockets,
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Ik" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -5;
+ pixel_y = 30
+ },
+/obj/machinery/shower{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/purple,
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"ID" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/machinery/meter,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"IG" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"II" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"IK" = (
+/obj/structure/table,
+/obj/effect/turf_decal/tile/red,
+/obj/machinery/recharger,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"IS" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/mine/living_quarters)
+"IY" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 6
+ },
+/turf/open/floor/carpet,
+/area/mine/living_quarters)
+"Jc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"Jl" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Jo" = (
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Jr" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"JH" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"JJ" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"JP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"JV" = (
+/obj/machinery/mineral/processing_unit{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/mine/production)
+"JW" = (
+/obj/machinery/power/apc{
+ name = "Mining EVA APC";
+ pixel_x = 1;
+ pixel_y = -23
+ },
+/obj/machinery/recharge_station,
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/obj/structure/cable,
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"JY" = (
+/turf/closed/mineral/random/labormineral/volcanic,
+/area/lavaland/surface/outdoors)
+"Kb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Kk" = (
+/obj/machinery/conveyor_switch/oneway{
+ id = "mining_internal";
+ name = "mining conveyor"
+ },
+/obj/effect/turf_decal/tile/purple,
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Kl" = (
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"Kt" = (
+/obj/machinery/conveyor{
+ dir = 8;
+ id = "mining_internal"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/mine/production)
+"Kx" = (
+/obj/machinery/camera{
+ c_tag = "EVA";
+ dir = 4;
+ network = list("mine")
+ },
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -23
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/table,
+/obj/item/storage/toolbox/mechanical{
+ pixel_x = -2;
+ pixel_y = -1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"KG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"KO" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"KP" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/machinery/door/airlock/external{
+ glass = 1;
+ name = "Mining External Airlock";
+ opacity = 0;
+ req_access_txt = "54"
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"KQ" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/machinery/door/airlock/external{
+ glass = 1;
+ name = "Mining Shuttle Airlock";
+ opacity = 0
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"KR" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"KS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"KU" = (
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"KV" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"Lb" = (
+/obj/docking_port/stationary{
+ dir = 8;
+ dwidth = 3;
+ height = 10;
+ id = "mining_away";
+ name = "lavaland mine";
+ width = 7
+ },
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
+"Lc" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating,
+/area/mine/production)
+"Le" = (
+/obj/structure/closet/crate/internals,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/tank/internals/emergency_oxygen,
+/obj/item/clothing/mask/breath,
+/obj/item/clothing/mask/breath,
+/obj/item/clothing/mask/breath,
+/obj/item/clothing/mask/breath,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"Lj" = (
+/obj/machinery/power/port_gen/pacman{
+ anchored = 1
+ },
+/obj/structure/cable,
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"Lm" = (
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
+"LC" = (
+/obj/structure/table,
+/obj/item/storage/fancy/donut_box,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"LG" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"LL" = (
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Labor Camp Security APC";
+ pixel_y = 23
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"LZ" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Mc" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/door/airlock/mining/glass{
+ name = "Processing Area";
+ req_access_txt = "48"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Mj" = (
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = -12
+ },
+/obj/structure/mirror{
+ pixel_x = -28
+ },
+/turf/open/floor/plasteel/freezer,
+/area/mine/living_quarters)
+"Mk" = (
+/obj/machinery/conveyor_switch/oneway{
+ id = "gulag"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"Mn" = (
+/turf/closed/wall/r_wall,
+/area/mine/laborcamp/security)
+"Ms" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/turf/open/floor/plasteel/white,
+/area/mine/living_quarters)
+"Mw" = (
+/obj/machinery/door/airlock/external{
+ glass = 1;
+ name = "Mining External Airlock";
+ opacity = 0
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"MD" = (
+/turf/closed/mineral/random/volcanic,
+/area/lavaland/surface/outdoors/unexplored)
+"ME" = (
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"MF" = (
+/obj/structure/closet/crate/freezer,
+/obj/item/reagent_containers/blood,
+/obj/item/reagent_containers/blood{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/reagent_containers/blood/AMinus,
+/obj/item/reagent_containers/blood/BMinus{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/reagent_containers/blood/BPlus{
+ pixel_x = 1;
+ pixel_y = 2
+ },
+/obj/item/reagent_containers/blood/OMinus,
+/obj/item/reagent_containers/blood/OPlus{
+ pixel_x = -2;
+ pixel_y = -1
+ },
+/obj/item/reagent_containers/blood/random,
+/obj/item/reagent_containers/blood/random,
+/obj/item/reagent_containers/blood/random,
+/obj/machinery/camera{
+ c_tag = "Sleeper Room";
+ dir = 1;
+ network = list("mine")
+ },
+/turf/open/floor/plasteel/white,
+/area/mine/living_quarters)
+"MG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"MH" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"ML" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"MM" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/closet/secure_closet/freezer/gulag_fridge,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"MV" = (
+/obj/machinery/airalarm{
+ dir = 1;
+ pixel_y = -22
+ },
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Nf" = (
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Nk" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"NB" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/button/door{
+ id = "miningdorm3";
+ name = "Door Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 25;
+ specialfunctions = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/turf/open/floor/carpet,
+/area/mine/living_quarters)
+"NH" = (
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"NI" = (
+/obj/effect/spawner/structure/window,
+/turf/open/floor/plating,
+/area/mine/production)
+"Oh" = (
+/obj/structure/chair/office{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"Oj" = (
+/obj/machinery/conveyor{
+ dir = 8;
+ id = "mining_internal"
+ },
+/obj/structure/plasticflaps,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plating,
+/area/mine/production)
+"Op" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/machinery/door/airlock/security/glass{
+ name = "Labor Camp Shuttle Prisoner Airlock"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"Os" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Ov" = (
+/obj/machinery/airalarm{
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"OI" = (
+/obj/machinery/mineral/mint,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"ON" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Pp" = (
+/obj/machinery/camera{
+ c_tag = "Public Shuttle Lobby";
+ network = list("mine")
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/gps/mining,
+/obj/item/gps/mining,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Pq" = (
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"PN" = (
+/obj/machinery/light_switch{
+ pixel_x = 27
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"PO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"PY" = (
+/obj/machinery/shower{
+ dir = 8
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/white,
+/area/mine/laborcamp)
+"Qi" = (
+/obj/structure/table,
+/obj/machinery/reagentgrinder,
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Qr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/door/airlock/security/glass{
+ name = "Labor Camp Monitoring";
+ req_access_txt = "2"
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"Qx" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"Qy" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"QD" = (
+/obj/machinery/suit_storage_unit/mining,
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/purple,
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"Rf" = (
+/obj/machinery/mineral/unloading_machine{
+ dir = 1;
+ icon_state = "unloader-corner";
+ input_dir = 1;
+ output_dir = 2
+ },
+/turf/open/floor/plating,
+/area/mine/laborcamp)
+"Ro" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/door/airlock/highsecurity{
+ name = "Labor Camp Monitoring";
+ req_access_txt = "2";
+ security_level = 6
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"Ru" = (
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/obj/structure/chair,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Rv" = (
+/obj/effect/turf_decal/tile/purple,
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"RC" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"RF" = (
+/turf/closed/wall,
+/area/mine/laborcamp/security)
+"RH" = (
+/obj/machinery/camera{
+ c_tag = "Crew Area";
+ dir = 1;
+ network = list("mine")
+ },
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_y = -32
+ },
+/obj/machinery/light,
+/obj/effect/turf_decal/tile/bar,
+/obj/effect/turf_decal/tile/bar{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"RI" = (
+/obj/structure/closet/crate,
+/obj/machinery/airalarm{
+ pixel_y = 23
+ },
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"RP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Sd" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Sj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Sp" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/mine/laborcamp/security)
+"Sq" = (
+/obj/effect/turf_decal/tile/purple,
+/obj/effect/turf_decal/tile/purple{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Ss" = (
+/obj/machinery/conveyor{
+ dir = 10;
+ id = "mining_internal"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/mine/production)
+"SO" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 8
+ },
+/turf/open/floor/plasteel/freezer,
+/area/mine/living_quarters)
+"SW" = (
+/obj/effect/turf_decal/loading_area{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"SY" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"Te" = (
+/obj/structure/table,
+/obj/item/trash/plate,
+/obj/item/kitchen/fork,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"Tm" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/machinery/door/airlock/external{
+ glass = 1;
+ name = "Mining Shuttle Airlock";
+ opacity = 0
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"TC" = (
+/obj/structure/chair/comfy/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"TG" = (
+/obj/machinery/airalarm{
+ dir = 1;
+ pixel_y = -22
+ },
+/obj/machinery/mineral/equipment_vendor,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"TI" = (
+/obj/machinery/door/airlock/medical/glass{
+ name = "Infirmary"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/turf/open/floor/plasteel/white,
+/area/mine/living_quarters)
+"TJ" = (
+/obj/structure/bed,
+/obj/item/bedsheet/brown,
+/obj/machinery/airalarm{
+ pixel_y = 23
+ },
+/turf/open/floor/carpet,
+/area/mine/living_quarters)
+"Ue" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 5
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/circuit,
+/area/mine/maintenance)
+"Uk" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/mob/living/simple_animal/bot/secbot/beepsky{
+ desc = "Powered by the tears and sweat of laborers.";
+ name = "Prison Ofitser"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"Un" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/button/door{
+ id = "miningdorm1";
+ name = "Door Bolt Control";
+ normaldoorcontrol = 1;
+ pixel_x = 25;
+ specialfunctions = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
+ dir = 1
+ },
+/turf/open/floor/carpet,
+/area/mine/living_quarters)
+"Uz" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Mining Communications APC";
+ pixel_x = 1;
+ pixel_y = 23
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/obj/structure/cable{
+ icon_state = "0-2"
+ },
+/turf/open/floor/plasteel/dark,
+/area/mine/maintenance)
+"UE" = (
+/obj/machinery/power/terminal{
+ dir = 1
+ },
+/obj/machinery/power/port_gen/pacman{
+ anchored = 1
+ },
+/obj/structure/cable{
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"UI" = (
+/obj/machinery/camera{
+ c_tag = "Crew Area Hallway East";
+ network = list("mine")
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"UJ" = (
+/obj/effect/turf_decal/tile/red,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"Vj" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -5;
+ pixel_y = 30
+ },
+/obj/structure/table,
+/obj/item/paper/fluff/stations/lavaland/orm_notice,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Vo" = (
+/obj/effect/spawner/structure/window/reinforced,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating,
+/area/mine/production)
+"Vs" = (
+/obj/effect/turf_decal/tile/purple,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"VN" = (
+/turf/closed/wall,
+/area/mine/living_quarters)
+"VP" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/mine/production)
+"VR" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 8
+ },
+/obj/machinery/door/airlock/security/glass{
+ name = "Labor Camp Shuttle Security Airlock";
+ req_access_txt = "2"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"VT" = (
+/turf/open/lava/smooth/lava_land_surface,
+/area/lavaland/surface/outdoors)
+"VY" = (
+/obj/structure/closet/emcloset,
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/eva)
+"Wf" = (
+/obj/effect/turf_decal/tile/purple{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Wt" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"Ww" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"WL" = (
+/obj/machinery/computer/secure_data,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"WN" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on,
+/turf/open/floor/plasteel/dark,
+/area/mine/maintenance)
+"WX" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"WY" = (
+/obj/machinery/door/airlock{
+ id_tag = "miningdorm1";
+ name = "Room 1"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Xo" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/mine/laborcamp)
+"Xr" = (
+/obj/machinery/camera{
+ c_tag = "Processing Area Room";
+ dir = 8;
+ network = list("mine")
+ },
+/obj/item/radio/intercom{
+ dir = 8;
+ name = "Station Intercom (General)";
+ pixel_x = 28
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"XG" = (
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel,
+/area/mine/production)
+"XN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"XP" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"XR" = (
+/obj/structure/sign/poster/official/random{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"XU" = (
+/obj/machinery/power/smes{
+ charge = 5e+006
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating,
+/area/mine/living_quarters)
+"XX" = (
+/obj/effect/spawner/structure/window/reinforced,
+/turf/closed/wall,
+/area/mine/living_quarters)
+"Ya" = (
+/turf/closed/wall/r_wall,
+/area/mine/laborcamp)
+"Ye" = (
+/turf/closed/mineral/random/high_chance/volcanic,
+/area/lavaland/surface/outdoors)
+"Yf" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"Yg" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Labor Camp Security Office";
+ dir = 1;
+ network = list("labor")
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp/security)
+"Yi" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Yp" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"Yr" = (
+/obj/machinery/light/small,
+/obj/effect/turf_decal/loading_area{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/mine/laborcamp)
+"Yy" = (
+/obj/machinery/door/airlock{
+ id_tag = "miningbathroom";
+ name = "Restroom"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer,
+/area/mine/living_quarters)
+"YH" = (
+/obj/machinery/door/airlock{
+ name = "Restroom"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer,
+/area/mine/living_quarters)
+"YM" = (
+/obj/item/radio/intercom{
+ dir = 8;
+ name = "Station Intercom (General)";
+ pixel_x = -28
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/turf/open/floor/plasteel,
+/area/mine/production)
+"YV" = (
+/obj/machinery/airalarm{
+ pixel_y = 23
+ },
+/obj/effect/turf_decal/tile/purple{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Zp" = (
+/obj/machinery/camera{
+ c_tag = "Crew Area Hallway";
+ network = list("mine")
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"Zu" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
+ dir = 4
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/area/mine/living_quarters)
+"Zw" = (
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 4
+ },
+/obj/machinery/door/airlock/external{
+ name = "Lavaland Shuttle Airlock"
+ },
+/turf/open/floor/plasteel,
+/area/mine/living_quarters)
+"ZF" = (
+/obj/machinery/telecomms/relay/preset/mining,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/turf/open/floor/plasteel/dark,
+/area/mine/maintenance)
+"ZK" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Labor Camp APC";
+ pixel_y = 23
+ },
+/obj/structure/cable{
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating,
+/area/mine/laborcamp)
+"ZN" = (
+/obj/machinery/mineral/processing_unit_console,
+/turf/closed/wall,
+/area/mine/production)
+
+(1,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(2,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(3,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(4,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+wz
+wz
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(5,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+wz
+wz
+wz
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(6,1,1) = {"
+VT
+VT
+VT
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+wz
+my
+Lm
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(7,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+zI
+zI
+Lm
+my
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+"}
+(8,1,1) = {"
+VT
+Lm
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+zI
+zI
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(9,1,1) = {"
+Lm
+Lm
+VT
+Lm
+Lm
+VT
+VT
+VT
+VT
+zI
+zI
+VT
+VT
+zI
+zI
+VT
+VT
+zI
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(10,1,1) = {"
+VT
+VT
+VT
+Lm
+Lm
+VT
+VT
+VT
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(11,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+zI
+zI
+my
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+zI
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(12,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+zI
+zI
+zI
+my
+zI
+zI
+zI
+zI
+zI
+my
+zI
+zI
+my
+zI
+zI
+zI
+VT
+zI
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(13,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+zI
+zI
+zI
+my
+my
+my
+my
+my
+my
+my
+my
+my
+zI
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(14,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+zI
+zI
+zI
+zI
+my
+my
+my
+my
+my
+my
+my
+my
+my
+zI
+zI
+Lm
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+"}
+(15,1,1) = {"
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+zI
+zI
+zI
+zI
+my
+my
+my
+my
+my
+my
+my
+my
+my
+zI
+zI
+zI
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(16,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+zI
+zI
+zI
+my
+my
+my
+my
+my
+my
+my
+my
+my
+zI
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(17,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+zI
+zI
+my
+my
+my
+my
+my
+my
+my
+mp
+my
+my
+my
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+"}
+(18,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+cd
+cd
+cd
+cd
+cd
+Cy
+cd
+cd
+cd
+HO
+cd
+zI
+zI
+VT
+VT
+VT
+VT
+VT
+Lm
+wz
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(19,1,1) = {"
+JY
+Lm
+VT
+VT
+VT
+VT
+VT
+Lm
+cd
+Te
+CR
+xh
+cd
+eE
+cd
+HU
+cd
+Jr
+cd
+my
+wV
+VT
+VT
+uJ
+VT
+Lm
+Lm
+wz
+wz
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(20,1,1) = {"
+JY
+JY
+Lm
+VT
+VT
+VT
+Lm
+Lm
+cd
+Qx
+NH
+Yf
+cd
+VR
+cd
+at
+cd
+Op
+cd
+wV
+wV
+wV
+VT
+VT
+VT
+Lm
+Lm
+wz
+wz
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(21,1,1) = {"
+JY
+JY
+JY
+JY
+zx
+zx
+zx
+cd
+cd
+cd
+ci
+cd
+cd
+cz
+cd
+Ga
+NH
+NH
+Ya
+Mn
+Mn
+Mn
+Dv
+Mn
+nv
+Ge
+HR
+VN
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(22,1,1) = {"
+JY
+JY
+JY
+JY
+zx
+wB
+wB
+cd
+AH
+NH
+NH
+NH
+NH
+NH
+NH
+kR
+NH
+NH
+Ya
+jD
+EB
+MM
+LC
+Mn
+xH
+dC
+hf
+VN
+bH
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(23,1,1) = {"
+JY
+JY
+JY
+JY
+cd
+eh
+aN
+ow
+NH
+NH
+NH
+NH
+vo
+ly
+xd
+Hg
+gs
+gs
+Ro
+Uk
+si
+fN
+TC
+Mn
+ML
+dC
+oy
+VN
+Zu
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(24,1,1) = {"
+JY
+JY
+JY
+JY
+cd
+gT
+Xo
+cd
+fs
+NH
+Wt
+xd
+xd
+Fx
+Yf
+uR
+NH
+NH
+Ya
+nm
+Hx
+mL
+Yg
+Mn
+XR
+dC
+Ag
+VN
+Jc
+HR
+VN
+Lm
+Lm
+Lm
+Lm
+Lm
+Hk
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(25,1,1) = {"
+JY
+JY
+JY
+JY
+cd
+cd
+cd
+cd
+cd
+NH
+NH
+PY
+NH
+Mk
+cd
+Hh
+Ya
+Ya
+Ya
+LL
+Hx
+xS
+Gt
+Sp
+FE
+Em
+cD
+Ag
+sm
+uh
+VN
+Lm
+Lm
+Lm
+Lm
+KV
+Zw
+KV
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(26,1,1) = {"
+JY
+JY
+JY
+JY
+cd
+CH
+CH
+CH
+cd
+NH
+Yr
+cd
+cd
+kb
+cd
+Hh
+Ya
+ZK
+Ho
+oY
+JJ
+nJ
+Ah
+Qr
+hQ
+bI
+hQ
+hQ
+WX
+hv
+VN
+Lm
+Lm
+Lm
+Lm
+KV
+Ag
+KV
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(27,1,1) = {"
+JY
+JY
+JY
+JY
+cd
+Hq
+NH
+NH
+BO
+NH
+ia
+Rf
+kj
+sa
+kj
+HS
+Ya
+wt
+RF
+WL
+Hx
+IG
+UJ
+Sp
+Ag
+Ag
+di
+KR
+hP
+Ag
+VN
+VN
+VN
+XX
+VN
+KV
+Hm
+KV
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(28,1,1) = {"
+JY
+JY
+JY
+JY
+cd
+cd
+sW
+Le
+cd
+vy
+cd
+cd
+cd
+cd
+cd
+cd
+Ya
+Ya
+Mn
+kB
+Oh
+Hx
+sR
+Al
+Al
+Al
+Al
+LG
+hP
+Ag
+VN
+zy
+If
+DN
+If
+FE
+qZ
+KV
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(29,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+cd
+cd
+cd
+cd
+NH
+cd
+Ab
+tK
+tK
+my
+my
+my
+zI
+Sp
+ny
+ig
+IK
+re
+Al
+wC
+wC
+Al
+Ag
+hP
+Ag
+VN
+Ru
+Ag
+Ag
+Ag
+Ag
+Ag
+KV
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(30,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+cd
+Jr
+cd
+Ab
+my
+my
+my
+my
+my
+zI
+Sp
+Sp
+Sp
+Sp
+Sp
+Al
+Uz
+Ue
+Al
+EH
+hP
+aW
+VN
+Dr
+Ag
+uG
+uG
+Ag
+cX
+KV
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(31,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+cd
+aX
+cd
+Ab
+my
+my
+my
+my
+my
+VT
+VT
+VT
+VT
+VT
+Lm
+Al
+ZF
+HE
+gP
+ON
+tk
+zY
+Yi
+MG
+KO
+uG
+uG
+Ag
+Ag
+KV
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(32,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+my
+my
+hy
+my
+my
+my
+my
+my
+VT
+VT
+VT
+VT
+VT
+Lm
+Ye
+Al
+WN
+Ad
+Al
+cD
+JP
+FE
+VN
+YV
+RP
+Ag
+Ag
+Ag
+oy
+VN
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(33,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+my
+my
+my
+my
+my
+my
+my
+my
+my
+VT
+VT
+VT
+VT
+Lm
+wz
+Al
+FC
+xA
+Al
+Zp
+Sj
+oy
+VN
+Pp
+sx
+eS
+Cg
+nH
+hH
+VN
+wz
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(34,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+my
+my
+my
+my
+my
+my
+my
+VT
+VT
+VT
+VT
+Lm
+Lm
+Al
+Al
+Al
+Al
+Ov
+JP
+Ag
+VN
+VN
+VN
+VN
+VN
+VN
+VN
+VN
+VN
+VN
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(35,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+my
+my
+my
+my
+my
+my
+my
+VT
+VT
+VT
+VT
+VT
+Lm
+VN
+HY
+MF
+VN
+Ag
+JH
+cr
+VN
+TJ
+zo
+VN
+TJ
+zo
+VN
+TJ
+zo
+VN
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(36,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+my
+my
+my
+my
+my
+my
+my
+my
+VT
+VT
+VT
+VT
+Lm
+KV
+Ms
+rU
+se
+EH
+JP
+Ag
+VN
+IY
+Un
+VN
+IY
+Ev
+VN
+IY
+NB
+VN
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(37,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+my
+my
+Ab
+JY
+my
+jJ
+VT
+VT
+VT
+VT
+Lm
+KV
+IS
+lr
+TI
+MG
+Qy
+Ag
+VN
+WY
+VN
+VN
+AQ
+VN
+VN
+cn
+VN
+VN
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(38,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+jJ
+jJ
+JY
+VT
+VT
+wz
+Ye
+VN
+kS
+jf
+se
+cD
+JP
+Ag
+FE
+Os
+iv
+FE
+Os
+Pq
+FE
+Os
+cD
+KV
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(39,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+VT
+VT
+wz
+VN
+VN
+VN
+VN
+VN
+Ca
+ik
+oM
+oM
+XP
+oM
+oM
+XP
+AZ
+oM
+CA
+cr
+KV
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(40,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+VT
+VT
+VT
+VT
+VN
+XU
+UE
+Lj
+VN
+mg
+JH
+cr
+VN
+VN
+se
+se
+VN
+VN
+VN
+YH
+VN
+VN
+wz
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(41,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+VT
+VT
+VT
+VT
+VT
+VT
+VN
+qm
+aG
+aG
+VN
+EH
+JP
+oy
+VN
+Cm
+hm
+zZ
+fU
+VN
+bX
+yT
+VN
+wz
+Ye
+wz
+wz
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(42,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VN
+MH
+ID
+dL
+uI
+Dd
+nI
+aW
+se
+hm
+hm
+Nk
+hm
+VN
+mv
+nN
+VN
+Lm
+wz
+wz
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(43,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+Lm
+VT
+VT
+VT
+VT
+Lm
+Lm
+VT
+Lm
+VN
+aG
+zh
+pi
+VN
+UI
+Sd
+kF
+AJ
+sU
+tr
+qM
+RH
+VN
+VN
+Yy
+VN
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(44,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+JY
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VN
+Bo
+aK
+aK
+VN
+LZ
+Sj
+FE
+se
+hm
+hm
+rK
+MV
+VN
+Mj
+va
+VN
+VT
+VT
+VT
+VT
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(45,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+JY
+Lm
+VT
+VT
+JY
+JY
+JY
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VN
+VN
+VN
+VN
+VN
+Ag
+JP
+Ag
+VN
+wE
+hm
+rf
+hm
+VN
+qg
+SO
+VN
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(46,1,1) = {"
+JY
+JY
+JY
+JY
+JY
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+KV
+Ag
+JP
+Ag
+VN
+sP
+Qi
+Ii
+qh
+VN
+VN
+VN
+VN
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(47,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+KV
+aW
+kH
+kz
+VN
+KV
+KV
+KV
+KV
+VN
+wz
+wz
+wz
+VT
+Lm
+VT
+VT
+Lm
+Lm
+VT
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(48,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+KV
+KV
+eP
+KV
+KV
+Lm
+Lm
+Lm
+Lm
+wz
+wz
+wz
+Lm
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+wz
+Ye
+Ye
+Lm
+Lm
+VT
+VT
+VT
+VT
+"}
+(49,1,1) = {"
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+wz
+wz
+wz
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+Lm
+KV
+CJ
+KV
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Ye
+Ye
+Ye
+Ye
+Ye
+wz
+wz
+VT
+VT
+VT
+"}
+(50,1,1) = {"
+wz
+wz
+wz
+wz
+wz
+wz
+wz
+MD
+wz
+Lm
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+KV
+JP
+KV
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+Lm
+Lm
+Ye
+Ye
+Ye
+Ye
+Ye
+Ye
+Ye
+Ye
+Lm
+VT
+VT
+"}
+(51,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+Lm
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+KV
+JP
+KV
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Ye
+Ye
+Ye
+Ye
+Ye
+Ye
+Ye
+Lm
+VT
+VT
+"}
+(52,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+Lm
+VT
+VT
+Lm
+Lm
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+KV
+JP
+KV
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Ye
+Ye
+Ye
+Ye
+Ye
+Ye
+Ye
+Lm
+VT
+VT
+"}
+(53,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+Lm
+VT
+Lm
+Lm
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+Ed
+wd
+Ed
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Ye
+Ye
+wz
+Ye
+Lm
+Lm
+VT
+VT
+"}
+(54,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lb
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+Ed
+wd
+Ed
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+"}
+(55,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+fm
+Tm
+Ed
+Lm
+Lm
+VT
+VT
+VT
+Lm
+Ed
+wd
+Ed
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+"}
+(56,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Ed
+es
+Ed
+Lm
+VT
+VT
+VT
+VT
+Lm
+Ed
+aJ
+Ed
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+"}
+(57,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+Ed
+Ed
+KQ
+Ed
+Ed
+Lm
+VT
+VT
+Lm
+Ed
+Ed
+dZ
+Ed
+Ed
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+"}
+(58,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+wz
+wz
+VT
+VT
+VT
+Cd
+Ed
+tJ
+II
+Jo
+Ed
+Cd
+Cd
+Cd
+Cd
+Lc
+Wf
+Ww
+Jo
+Ed
+Cd
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(59,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+VT
+VT
+VT
+Lm
+Cd
+dP
+RC
+es
+wX
+Wf
+YM
+GN
+II
+Nf
+mN
+Aj
+wd
+es
+TG
+Cd
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+"}
+(60,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+VT
+VT
+VT
+VT
+Lm
+Ed
+wg
+Bh
+KG
+nK
+sj
+sj
+mi
+GM
+sj
+Mc
+pK
+ME
+Cj
+yt
+Cd
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(61,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+VT
+VT
+VT
+VT
+Lm
+Lm
+Ed
+eL
+PO
+Aj
+zN
+Sq
+qH
+Aj
+Eg
+es
+Vo
+Jl
+KS
+es
+sE
+Cd
+Cd
+Cd
+Cd
+At
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(62,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+VT
+VT
+wz
+Lm
+bg
+bg
+bg
+Hd
+au
+Hd
+bg
+av
+Cd
+oG
+cf
+fO
+Vo
+es
+XN
+es
+Vs
+Ed
+tY
+Vs
+Ed
+Lm
+Lm
+wz
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(63,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+wz
+wz
+Lm
+bg
+pr
+Kx
+dk
+vJ
+JW
+bg
+VP
+Cd
+Cd
+Bc
+Cd
+Bc
+es
+XN
+es
+lI
+AS
+qR
+lI
+Mw
+Lm
+Lm
+wz
+wz
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(64,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+Lm
+Lm
+cA
+xP
+SY
+jn
+Ex
+xv
+bg
+mI
+Cd
+OI
+sz
+gk
+Wf
+Yp
+XN
+es
+Wf
+Ed
+lS
+qc
+Ed
+Lm
+Lm
+Lm
+wz
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(65,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+VT
+VT
+Lm
+cA
+xP
+Kl
+CV
+al
+lj
+bg
+Cd
+Cd
+mw
+es
+es
+es
+es
+iG
+zN
+ez
+Cd
+Cd
+Cd
+Cd
+At
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(66,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+VT
+VT
+Lm
+bg
+QD
+PN
+qb
+KU
+lu
+bg
+Ye
+Cd
+RI
+es
+yR
+yF
+me
+Kb
+Cd
+Oj
+Cd
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+"}
+(67,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+VT
+VT
+Lm
+bg
+bg
+bg
+cA
+kE
+cA
+bg
+wz
+Cd
+Vj
+es
+Xr
+Kk
+iQ
+Rv
+NI
+Kt
+Cd
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+"}
+(68,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+VT
+VT
+Lm
+Lm
+Lm
+bg
+qS
+vE
+VY
+bg
+wz
+Cd
+nR
+SW
+Cd
+NI
+ZN
+NI
+NI
+Kt
+Cd
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+"}
+(69,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+wz
+VT
+VT
+Lm
+Lm
+bg
+Ik
+KU
+ap
+bg
+wz
+Cd
+XG
+wj
+rB
+oo
+JV
+oo
+oo
+Ss
+Cd
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(70,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+Lm
+wz
+wz
+VT
+VT
+Lm
+bg
+cA
+KP
+cA
+bg
+wz
+Cd
+Cd
+Cd
+Cd
+Cd
+Cd
+Cd
+Cd
+Cd
+Cd
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+"}
+(71,1,1) = {"
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+MD
+wz
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Be
+Lm
+Lm
+Lm
+Be
+wz
+wz
+Lm
+Lm
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+"}
+(72,1,1) = {"
+MD
+MD
+wz
+wz
+MD
+MD
+MD
+wz
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+Lm
+VT
+VT
+VT
+VT
+VT
+"}
+(73,1,1) = {"
+MD
+wz
+Lm
+Lm
+wz
+wz
+MD
+wz
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+Lm
+Lm
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+"}
+(74,1,1) = {"
+wz
+Lm
+Lm
+Lm
+wz
+Lm
+wz
+MD
+wz
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+Lm
+Lm
+VT
+VT
+VT
+VT
+Lm
+Lm
+Lm
+VT
+VT
+VT
+VT
+"}
diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm
index b79f05cc69..d4b09ac046 100644
--- a/_maps/map_files/Mining/Lavaland.dmm
+++ b/_maps/map_files/Mining/Lavaland.dmm
@@ -74,842 +74,9 @@
"an" = (
/turf/closed/mineral/random/labormineral/volcanic,
/area/lavaland/surface/outdoors)
-"ao" = (
-/obj/machinery/power/apc{
- dir = 1;
- name = "Labor Camp APC";
- pixel_y = 23
- },
-/obj/structure/cable{
- icon_state = "0-2"
- },
-/turf/open/floor/plating,
-/area/mine/laborcamp)
-"ap" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/mine/laborcamp)
-"aq" = (
-/turf/closed/wall,
-/area/mine/laborcamp)
-"ar" = (
-/obj/structure/table,
-/turf/open/floor/plasteel/white,
-/area/mine/laborcamp)
-"as" = (
-/obj/structure/table,
-/obj/item/storage/firstaid/regular,
-/turf/open/floor/plasteel/white,
-/area/mine/laborcamp)
-"at" = (
-/obj/structure/bed,
-/obj/item/bedsheet/medical,
-/obj/machinery/camera{
- c_tag = "Labor Camp Medical";
- dir = 8;
- network = list("labor")
- },
-/turf/open/floor/plasteel/white,
-/area/mine/laborcamp)
-"au" = (
-/obj/structure/rack,
-/obj/item/storage/bag/ore,
-/obj/item/pickaxe,
-/obj/item/flashlight,
-/obj/item/clothing/glasses/meson,
-/obj/item/mining_scanner,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"av" = (
-/obj/structure/rack,
-/obj/item/storage/bag/ore,
-/obj/item/flashlight,
-/obj/item/pickaxe,
-/obj/item/clothing/glasses/meson,
-/obj/item/mining_scanner,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aw" = (
-/turf/open/lava/smooth/lava_land_surface,
-/area/lavaland/surface/outdoors/explored)
-"ax" = (
-/turf/open/floor/plasteel/white,
-/area/mine/laborcamp)
-"ay" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/mine/laborcamp)
-"az" = (
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
"aA" = (
-/obj/machinery/portable_atmospherics/canister/oxygen,
-/obj/machinery/light/small{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aB" = (
-/obj/machinery/door/airlock/medical/glass{
- name = "Infirmary"
- },
-/turf/open/floor/plasteel/white,
-/area/mine/laborcamp)
-"aC" = (
-/obj/structure/closet/crate/internals,
-/obj/item/tank/internals/emergency_oxygen,
-/obj/item/tank/internals/emergency_oxygen,
-/obj/item/tank/internals/emergency_oxygen,
-/obj/item/tank/internals/emergency_oxygen,
-/obj/item/clothing/mask/breath,
-/obj/item/clothing/mask/breath,
-/obj/item/clothing/mask/breath,
-/obj/item/clothing/mask/breath,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aD" = (
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors/explored)
-"aE" = (
-/obj/item/radio/intercom{
- desc = "Talk through this. It looks like it has been modified to not broadcast.";
- name = "Prison Intercom (General)";
- pixel_y = 24;
- prison_radio = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aF" = (
-/obj/machinery/door/airlock{
- name = "Labor Camp Storage"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aG" = (
-/obj/structure/table,
-/obj/item/trash/plate,
-/obj/item/kitchen/fork,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aH" = (
-/obj/structure/chair{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aI" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/machinery/door/airlock{
- name = "Labor Camp External Access"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aJ" = (
-/obj/machinery/light/small{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aK" = (
-/obj/structure/chair{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aL" = (
-/obj/machinery/door/airlock{
- name = "Vending"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aM" = (
-/obj/machinery/light/small,
-/obj/effect/turf_decal/loading_area{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aN" = (
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aO" = (
-/obj/machinery/camera{
- c_tag = "Labor Camp External";
- dir = 4;
- network = list("labor")
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
-"aP" = (
-/obj/machinery/vending/sustenance,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aQ" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aR" = (
-/obj/machinery/shower{
- dir = 8
- },
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/plasteel/white,
-/area/mine/laborcamp)
-"aS" = (
-/obj/machinery/mineral/unloading_machine{
- dir = 1;
- icon_state = "unloader-corner";
- input_dir = 1;
- output_dir = 2
- },
-/turf/open/floor/plating,
-/area/mine/laborcamp)
-"aT" = (
-/obj/structure/ore_box,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors/explored)
-"aU" = (
-/obj/machinery/flasher{
- id = "labor"
- },
-/turf/closed/wall,
-/area/mine/laborcamp)
-"aV" = (
-/obj/machinery/door/airlock{
- name = "Restroom"
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"aW" = (
-/obj/machinery/conveyor{
- id = "gulag"
- },
-/turf/open/floor/plating,
-/area/mine/laborcamp)
-"aX" = (
-/obj/structure/closet/crate,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors/explored)
-"aY" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/machinery/door/airlock/security/glass{
- name = "Labor Camp Shuttle Security Airlock";
- req_access_txt = "2"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"aZ" = (
-/obj/machinery/light/small{
- dir = 1
- },
-/obj/machinery/button/door{
- id = "labor";
- name = "Labor Camp Lockdown";
- pixel_y = 28;
- req_access_txt = "2"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"ba" = (
-/obj/machinery/door/poddoor/preopen{
- id = "labor";
- name = "labor camp blast door"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"bb" = (
-/obj/machinery/camera{
- c_tag = "Labor Camp Central";
- network = list("labor")
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 6
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"bc" = (
-/obj/machinery/conveyor_switch/oneway{
- id = "gulag"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"bd" = (
-/obj/machinery/mineral/processing_unit_console,
-/turf/closed/wall,
-/area/mine/laborcamp)
-"be" = (
-/obj/machinery/mineral/processing_unit{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/mine/laborcamp)
-"bf" = (
-/turf/closed/wall,
-/area/mine/eva)
-"bg" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/mine/eva)
-"bh" = (
-/obj/machinery/computer/shuttle/labor/one_way{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"bi" = (
-/obj/structure/gulag_beacon,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"bj" = (
-/obj/machinery/status_display/evac{
- pixel_y = 32
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"bk" = (
-/obj/effect/turf_decal/loading_area{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"bl" = (
-/obj/machinery/conveyor{
- dir = 8;
- id = "gulag"
- },
-/turf/open/floor/plating,
-/area/mine/laborcamp)
-"bm" = (
-/obj/machinery/conveyor{
- dir = 10;
- id = "gulag"
- },
-/turf/open/floor/plating,
-/area/mine/laborcamp)
-"bn" = (
-/obj/structure/table,
-/obj/item/pickaxe,
-/obj/item/gps/mining,
-/obj/item/gps/mining,
-/obj/item/gps/mining,
-/obj/item/gps/mining,
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bo" = (
-/obj/machinery/suit_storage_unit/mining,
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bp" = (
-/obj/machinery/suit_storage_unit/mining,
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple,
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bq" = (
-/turf/closed/wall,
-/area/mine/production)
-"br" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/mine/production)
-"bs" = (
-/obj/machinery/camera{
- c_tag = "EVA";
- dir = 4;
- network = list("mine")
- },
-/obj/machinery/airalarm{
- dir = 4;
- pixel_x = -23
- },
-/obj/machinery/light{
- dir = 8
- },
-/obj/structure/table,
-/obj/item/storage/toolbox/mechanical{
- pixel_x = -2;
- pixel_y = -1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bt" = (
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bu" = (
-/obj/machinery/light_switch{
- pixel_x = 27
- },
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bv" = (
-/obj/machinery/light/small{
- dir = 8
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/mine/eva)
-"bw" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/mine/laborcamp/security)
-"bx" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/machinery/door/airlock/security/glass{
- name = "Labor Camp Shuttle Prisoner Airlock"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"by" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"bz" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "2-4"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"bA" = (
-/turf/closed/wall/r_wall,
-/area/mine/laborcamp)
-"bB" = (
-/obj/structure/toilet{
- dir = 8
- },
-/obj/machinery/light/small{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/mine/laborcamp/security)
-"bC" = (
-/obj/machinery/airalarm{
- pixel_y = 23
- },
-/obj/machinery/computer/shuttle/mining{
- req_access = null
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"bD" = (
-/obj/structure/closet/crate,
-/obj/item/dice/d4,
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"bE" = (
-/obj/structure/reagent_dispensers/watertank,
-/obj/effect/turf_decal/tile/purple,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"bF" = (
-/obj/effect/spawner/structure/window,
-/turf/open/floor/plating,
-/area/mine/eva)
-"bG" = (
-/obj/structure/table,
-/obj/item/stack/packageWrap,
-/obj/item/stack/packageWrap,
-/obj/item/stack/packageWrap,
-/obj/item/hand_labeler,
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bH" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on,
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bI" = (
-/obj/structure/tank_dispenser/oxygen,
-/obj/effect/turf_decal/tile/purple,
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bJ" = (
-/obj/machinery/light/small{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bK" = (
-/obj/structure/extinguisher_cabinet{
- pixel_x = -5;
- pixel_y = 30
- },
-/obj/machinery/shower{
- dir = 8
- },
-/obj/effect/turf_decal/tile/purple,
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bL" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/machinery/door/airlock/highsecurity{
- name = "Labor Camp Monitoring";
- req_access_txt = "2";
- security_level = 6
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"bM" = (
-/turf/closed/wall,
-/area/mine/laborcamp/security)
-"bN" = (
-/obj/structure/sign/warning/docking,
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/mine/production)
-"bO" = (
-/obj/item/beacon,
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"bP" = (
-/turf/open/floor/plasteel,
-/area/mine/production)
-"bQ" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"bR" = (
-/obj/machinery/door/airlock/mining/glass{
- name = "Mining Station EVA";
- req_access_txt = "54"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bS" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bT" = (
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/machinery/light{
- dir = 1
- },
-/obj/machinery/power/apc{
- dir = 1;
- name = "Labor Camp Security APC";
- pixel_y = 23
- },
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"bU" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 9
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bV" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 9
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bW" = (
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bX" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/machinery/door/airlock/external{
- glass = 1;
- name = "Mining External Airlock";
- opacity = 0;
- req_access_txt = "54"
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bY" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"bZ" = (
-/turf/closed/mineral/random/volcanic,
-/area/lavaland/surface/outdoors/explored)
-"ca" = (
-/turf/closed/wall/r_wall,
-/area/mine/laborcamp/security)
-"cb" = (
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/structure/table,
-/obj/item/restraints/handcuffs,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cc" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/mob/living/simple_animal/bot/secbot/beepsky{
- desc = "Powered by the tears and sweat of laborers.";
- name = "Prison Ofitser"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cd" = (
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"ce" = (
-/obj/machinery/computer/secure_data,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cf" = (
-/obj/machinery/computer/security/labor,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cg" = (
-/obj/machinery/computer/prisoner,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"ch" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"ci" = (
-/obj/machinery/power/apc{
- name = "Mining EVA APC";
- pixel_x = 1;
- pixel_y = -23
- },
-/obj/machinery/recharge_station,
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/obj/structure/cable,
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"cj" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/machinery/door/airlock/external{
- glass = 1;
- name = "Mining Shuttle Airlock";
- opacity = 0
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"ck" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"cl" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"cm" = (
-/obj/machinery/mech_bay_recharge_port,
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/turf/open/floor/plating,
-/area/mine/eva)
-"cn" = (
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"co" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"cp" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cq" = (
-/turf/open/floor/mech_bay_recharge_floor,
-/area/mine/eva)
-"cr" = (
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/obj/machinery/computer/mech_bay_power_console{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"cs" = (
-/obj/structure/closet/emcloset,
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"ct" = (
-/obj/structure/ore_box,
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
+/turf/template_noop,
+/area/template_noop)
"cu" = (
/obj/item/pickaxe,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
@@ -918,1694 +85,6 @@
/obj/structure/ore_box,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"cw" = (
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/machinery/vending/security,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cx" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cy" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"cz" = (
-/obj/structure/table,
-/obj/item/storage/fancy/donut_box,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cA" = (
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cB" = (
-/obj/structure/chair/office{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cC" = (
-/obj/structure/table,
-/obj/effect/turf_decal/tile/red,
-/obj/item/paper_bin,
-/obj/item/pen,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cD" = (
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"cE" = (
-/obj/structure/chair/comfy/brown{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cF" = (
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"cG" = (
-/obj/machinery/light{
- dir = 8
- },
-/obj/structure/closet/secure_closet/freezer/gulag_fridge,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cH" = (
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"cI" = (
-/obj/effect/turf_decal/tile/purple,
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"cJ" = (
-/obj/machinery/door/airlock{
- name = "Closet"
- },
-/turf/open/floor/plating,
-/area/mine/production)
-"cK" = (
-/obj/machinery/light/small{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/mine/production)
-"cL" = (
-/obj/machinery/space_heater,
-/turf/open/floor/plating,
-/area/mine/production)
-"cM" = (
-/turf/closed/wall,
-/area/mine/living_quarters)
-"cN" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"cO" = (
-/obj/item/radio/intercom{
- dir = 8;
- name = "Station Intercom (General)";
- pixel_x = -28
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"cP" = (
-/obj/structure/extinguisher_cabinet{
- pixel_x = 30
- },
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"cQ" = (
-/turf/closed/wall/r_wall,
-/area/mine/maintenance)
-"cR" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"cS" = (
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/machinery/camera{
- c_tag = "Labor Camp Security Office";
- dir = 1;
- network = list("labor")
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cT" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cU" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/machinery/door/airlock/security/glass{
- name = "Labor Camp Monitoring";
- req_access_txt = "2"
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"cV" = (
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"cW" = (
-/obj/structure/reagent_dispensers/fueltank,
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"cX" = (
-/obj/machinery/power/smes{
- charge = 5e+006
- },
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"cY" = (
-/obj/machinery/light/small{
- dir = 1
- },
-/obj/structure/closet/crate/secure/loot,
-/obj/structure/sign/warning/electricshock{
- pixel_y = 32
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"cZ" = (
-/obj/machinery/mineral/equipment_vendor,
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"da" = (
-/obj/machinery/mineral/mint,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"db" = (
-/obj/machinery/light/small{
- dir = 1
- },
-/obj/effect/turf_decal/loading_area{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dc" = (
-/obj/structure/closet/crate,
-/obj/machinery/airalarm{
- pixel_y = 23
- },
-/obj/effect/turf_decal/bot,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dd" = (
-/obj/structure/extinguisher_cabinet{
- pixel_x = -5;
- pixel_y = 30
- },
-/obj/structure/table,
-/obj/item/paper/fluff/stations/lavaland/orm_notice,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"de" = (
-/obj/structure/ore_box,
-/obj/effect/turf_decal/bot,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"df" = (
-/obj/effect/turf_decal/bot,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dg" = (
-/turf/open/floor/circuit,
-/area/mine/maintenance)
-"dh" = (
-/obj/machinery/portable_atmospherics/canister/oxygen,
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"di" = (
-/obj/machinery/telecomms/relay/preset/mining,
-/obj/machinery/light/small{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/mine/maintenance)
-"dj" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on,
-/turf/open/floor/plasteel/dark,
-/area/mine/maintenance)
-"dk" = (
-/obj/machinery/airalarm{
- pixel_y = 24
- },
-/turf/open/floor/circuit,
-/area/mine/maintenance)
-"dl" = (
-/obj/machinery/light/small{
- dir = 8
- },
-/obj/machinery/airalarm{
- pixel_y = 23
- },
-/obj/machinery/iv_drip,
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/mine/living_quarters)
-"dm" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/mine/living_quarters)
-"dn" = (
-/obj/structure/table,
-/obj/item/storage/firstaid/toxin{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/mine/living_quarters)
-"do" = (
-/obj/machinery/power/apc{
- dir = 8;
- name = "Mining Station Starboard Wing APC";
- pixel_x = -25;
- pixel_y = 2
- },
-/obj/machinery/light{
- dir = 8
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dp" = (
-/obj/machinery/power/apc{
- dir = 1;
- name = "Mining Communications APC";
- pixel_x = 1;
- pixel_y = 23
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
-/obj/structure/cable{
- icon_state = "0-2"
- },
-/turf/open/floor/plasteel/dark,
-/area/mine/maintenance)
-"dq" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"dr" = (
-/obj/machinery/atmospherics/components/unary/tank/air{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"ds" = (
-/obj/machinery/power/terminal{
- dir = 1
- },
-/obj/machinery/power/port_gen/pacman{
- anchored = 1
- },
-/obj/structure/cable{
- icon_state = "0-2"
- },
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"dt" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 6
- },
-/obj/machinery/meter,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"du" = (
-/obj/effect/turf_decal/loading_area,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dv" = (
-/obj/effect/turf_decal/loading_area{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dw" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dx" = (
-/obj/machinery/mineral/equipment_vendor,
-/obj/effect/turf_decal/tile/purple,
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dy" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"dz" = (
-/obj/machinery/light_switch{
- pixel_y = -25
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 9
- },
-/turf/open/floor/circuit,
-/area/mine/maintenance)
-"dA" = (
-/obj/machinery/camera{
- c_tag = "Communications Relay";
- dir = 8;
- network = list("mine")
- },
-/turf/open/floor/circuit,
-/area/mine/maintenance)
-"dB" = (
-/obj/structure/closet/crate/freezer,
-/obj/item/reagent_containers/blood,
-/obj/item/reagent_containers/blood{
- pixel_x = -3;
- pixel_y = -3
- },
-/obj/item/reagent_containers/blood/AMinus,
-/obj/item/reagent_containers/blood/BMinus{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/item/reagent_containers/blood/BPlus{
- pixel_x = 1;
- pixel_y = 2
- },
-/obj/item/reagent_containers/blood/OMinus,
-/obj/item/reagent_containers/blood/OPlus{
- pixel_x = -2;
- pixel_y = -1
- },
-/obj/item/reagent_containers/blood/random,
-/obj/item/reagent_containers/blood/random,
-/obj/item/reagent_containers/blood/random,
-/obj/machinery/camera{
- c_tag = "Sleeper Room";
- dir = 1;
- network = list("mine")
- },
-/turf/open/floor/plasteel/white,
-/area/mine/living_quarters)
-"dC" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 5
- },
-/turf/open/floor/plasteel/white,
-/area/mine/living_quarters)
-"dD" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 10
- },
-/turf/open/floor/plasteel/white,
-/area/mine/living_quarters)
-"dE" = (
-/obj/structure/table,
-/obj/item/storage/firstaid/regular,
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/mine/living_quarters)
-"dF" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"dG" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 9
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"dH" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 5
- },
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/turf/open/floor/circuit,
-/area/mine/maintenance)
-"dI" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 5
- },
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"dJ" = (
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dK" = (
-/obj/machinery/light{
- dir = 4
- },
-/obj/machinery/camera{
- c_tag = "Shuttle Docking Foyer";
- dir = 8;
- network = list("mine")
- },
-/obj/machinery/newscaster{
- pixel_x = 30;
- pixel_y = 1
- },
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dL" = (
-/obj/structure/closet/crate{
- icon_state = "crateopen"
- },
-/obj/effect/turf_decal/bot,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dM" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dN" = (
-/obj/machinery/camera{
- c_tag = "Processing Area Room";
- dir = 8;
- network = list("mine")
- },
-/obj/item/radio/intercom{
- dir = 8;
- name = "Station Intercom (General)";
- pixel_x = 28
- },
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dO" = (
-/obj/machinery/mineral/unloading_machine{
- dir = 1;
- icon_state = "unloader-corner";
- input_dir = 1;
- output_dir = 2
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/turf/open/floor/plating,
-/area/mine/production)
-"dP" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 10
- },
-/obj/machinery/bluespace_beacon,
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/turf/open/floor/plasteel/dark,
-/area/mine/maintenance)
-"dQ" = (
-/obj/effect/spawner/structure/window,
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"dR" = (
-/obj/machinery/door/airlock/medical/glass{
- name = "Infirmary"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel/white,
-/area/mine/living_quarters)
-"dS" = (
-/obj/machinery/power/port_gen/pacman{
- anchored = 1
- },
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"dT" = (
-/obj/machinery/atmospherics/components/binary/pump/on,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"dU" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Mining Station Communications";
- req_access_txt = "48"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel,
-/area/mine/maintenance)
-"dV" = (
-/obj/effect/spawner/structure/window,
-/turf/open/floor/plating,
-/area/mine/production)
-"dW" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dX" = (
-/obj/machinery/conveyor_switch/oneway{
- id = "mining_internal";
- name = "mining conveyor"
- },
-/obj/effect/turf_decal/tile/purple,
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"dY" = (
-/obj/machinery/conveyor{
- id = "mining_internal"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/mine/production)
-"dZ" = (
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"ea" = (
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eb" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Mining Station Maintenance";
- req_access_txt = "48"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"ec" = (
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"ed" = (
-/obj/machinery/camera{
- c_tag = "Crew Area Hallway";
- network = list("mine")
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"ee" = (
-/obj/machinery/airalarm{
- pixel_y = 23
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"ef" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eg" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/machinery/door/airlock/mining/glass{
- name = "Processing Area";
- req_access_txt = "48"
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/obj/structure/cable{
- icon_state = "2-4"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"eh" = (
-/obj/structure/extinguisher_cabinet{
- pixel_x = -5;
- pixel_y = 30
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"ei" = (
-/obj/machinery/power/apc{
- dir = 1;
- name = "Mining Station Port Wing APC";
- pixel_x = 1;
- pixel_y = 23
- },
-/obj/structure/cable{
- icon_state = "0-2"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"ej" = (
-/obj/machinery/camera{
- c_tag = "Crew Area Hallway East";
- network = list("mine")
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"ek" = (
-/obj/effect/turf_decal/tile/purple,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"el" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"em" = (
-/obj/machinery/light{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"en" = (
-/obj/machinery/mineral/processing_unit_console,
-/turf/closed/wall,
-/area/mine/production)
-"eo" = (
-/obj/machinery/mineral/processing_unit{
- dir = 1
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/turf/open/floor/plating,
-/area/mine/production)
-"ep" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eq" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"er" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable{
- icon_state = "2-4"
- },
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"es" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"et" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eu" = (
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer3,
-/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"ev" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"ew" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"ex" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"ey" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"ez" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eA" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/cable{
- icon_state = "1-8"
- },
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eB" = (
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eC" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/machinery/door/airlock/glass{
- name = "Mining Station Bridge"
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eD" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"eE" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eF" = (
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"eG" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"eH" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"eI" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 9
- },
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 9
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"eJ" = (
-/obj/effect/turf_decal/tile/purple,
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"eK" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eL" = (
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eM" = (
-/obj/machinery/light,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eN" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eO" = (
-/obj/machinery/light/small,
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eP" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"eQ" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/machinery/door/airlock/glass,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eR" = (
-/obj/machinery/door/airlock/glass{
- name = "Break Room"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"eS" = (
-/obj/machinery/airalarm{
- dir = 1;
- pixel_y = -22
- },
-/obj/machinery/mineral/equipment_vendor,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"eT" = (
-/obj/structure/closet/crate{
- icon_state = "crateopen"
- },
-/obj/machinery/light,
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"eU" = (
-/obj/structure/closet/crate,
-/obj/effect/turf_decal/tile/purple,
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"eV" = (
-/obj/effect/turf_decal/tile/purple,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"eW" = (
-/obj/effect/turf_decal/loading_area{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"eX" = (
-/obj/machinery/conveyor{
- dir = 8;
- id = "mining_internal"
- },
-/obj/structure/plasticflaps,
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/turf/open/floor/plating,
-/area/mine/production)
-"eY" = (
-/obj/machinery/conveyor{
- dir = 8;
- id = "mining_internal"
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/mine/production)
-"eZ" = (
-/obj/machinery/conveyor{
- dir = 10;
- id = "mining_internal"
- },
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
- },
-/turf/open/floor/plating,
-/area/mine/production)
-"fa" = (
-/obj/machinery/newscaster{
- pixel_y = 32
- },
-/obj/structure/chair,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fb" = (
-/obj/structure/extinguisher_cabinet{
- pixel_x = -5;
- pixel_y = 30
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/obj/machinery/light{
- dir = 1
- },
-/obj/structure/chair,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fc" = (
-/obj/machinery/airalarm{
- pixel_y = 23
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fd" = (
-/obj/machinery/camera{
- c_tag = "Public Shuttle Lobby";
- network = list("mine")
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/structure/table,
-/obj/item/gps/mining,
-/obj/item/gps/mining,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fe" = (
-/obj/structure/bed,
-/obj/item/bedsheet/brown,
-/obj/machinery/airalarm{
- pixel_y = 23
- },
-/turf/open/floor/carpet,
-/area/mine/living_quarters)
-"ff" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 6
- },
-/turf/open/floor/carpet,
-/area/mine/living_quarters)
-"fg" = (
-/obj/machinery/door/airlock{
- id_tag = "miningdorm1";
- name = "Room 1"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fh" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fi" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fj" = (
-/obj/machinery/vending/snack,
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fk" = (
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fl" = (
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fm" = (
-/obj/machinery/vending/cigarette,
-/obj/machinery/newscaster{
- pixel_y = 32
- },
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fn" = (
-/obj/structure/table,
-/obj/machinery/microwave{
- pixel_y = 6
- },
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fo" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 10
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"fp" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fq" = (
-/obj/item/radio/intercom{
- dir = 8;
- name = "Station Intercom (General)";
- pixel_x = 28
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fr" = (
-/obj/structure/table,
-/turf/open/floor/carpet,
-/area/mine/living_quarters)
-"fs" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/machinery/button/door{
- id = "miningdorm1";
- name = "Door Bolt Control";
- normaldoorcontrol = 1;
- pixel_x = 25;
- specialfunctions = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
- dir = 1
- },
-/turf/open/floor/carpet,
-/area/mine/living_quarters)
-"ft" = (
-/obj/machinery/camera{
- c_tag = "Dormitories";
- dir = 4;
- network = list("mine")
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fu" = (
-/obj/structure/chair,
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fv" = (
-/obj/structure/table,
-/obj/machinery/reagentgrinder,
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fw" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"fx" = (
-/turf/closed/mineral/random/labormineral/volcanic,
-/area/lavaland/surface/outdoors/explored)
-"fy" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/machinery/door/airlock/glass{
- name = "Mining Station Bridge"
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"fz" = (
-/obj/structure/table,
-/obj/item/clothing/glasses/meson,
-/obj/item/storage/bag/ore,
-/obj/item/pickaxe,
-/obj/item/mining_scanner,
-/obj/item/flashlight,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fA" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"fB" = (
-/obj/structure/table,
-/obj/item/gps/mining,
-/obj/item/gps/mining,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fC" = (
-/obj/structure/chair{
- dir = 4
- },
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fD" = (
-/obj/structure/table,
-/obj/item/reagent_containers/food/drinks/beer{
- pixel_x = 7;
- pixel_y = 5
- },
-/obj/item/reagent_containers/food/drinks/beer{
- pixel_x = -1;
- pixel_y = 9
- },
-/obj/item/reagent_containers/food/drinks/beer{
- pixel_x = -8
- },
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 9
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 5
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fE" = (
-/obj/structure/chair{
- dir = 8
- },
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fF" = (
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fG" = (
-/obj/structure/table,
-/obj/item/storage/box/donkpockets,
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fH" = (
-/obj/machinery/door/airlock{
- id_tag = "miningdorm2";
- name = "Room 2"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fI" = (
-/obj/item/radio/intercom{
- dir = 8;
- name = "Station Intercom (General)";
- pixel_x = -28
- },
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fJ" = (
-/obj/machinery/camera{
- c_tag = "Crew Area";
- dir = 1;
- network = list("mine")
- },
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_y = -32
- },
-/obj/machinery/light,
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fK" = (
-/obj/machinery/airalarm{
- dir = 1;
- pixel_y = -22
- },
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fL" = (
-/obj/structure/sink{
- dir = 8;
- pixel_x = 11
- },
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fM" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/machinery/button/door{
- id = "miningdorm2";
- name = "Door Bolt Control";
- normaldoorcontrol = 1;
- pixel_x = 25;
- specialfunctions = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
- dir = 1
- },
-/turf/open/floor/carpet,
-/area/mine/living_quarters)
-"fN" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/light{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fO" = (
-/obj/machinery/door/airlock{
- id_tag = "miningdorm3";
- name = "Room 3"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"fP" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/machinery/button/door{
- id = "miningdorm3";
- name = "Door Bolt Control";
- normaldoorcontrol = 1;
- pixel_x = 25;
- specialfunctions = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
- dir = 1
- },
-/turf/open/floor/carpet,
-/area/mine/living_quarters)
"fQ" = (
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored/danger)
@@ -2624,24 +103,6 @@
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"fU" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
"fV" = (
/turf/closed/indestructible/riveted/boss/see_through,
/area/lavaland/surface/outdoors)
@@ -2650,14 +111,6 @@
/obj/structure/stone_tile/slab,
/turf/open/indestructible/boss,
/area/lavaland/surface/outdoors)
-"fX" = (
-/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
-/obj/structure/cable{
- icon_state = "1-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
"gj" = (
/obj/structure/stone_tile/surrounding_tile{
dir = 1
@@ -2786,23 +239,6 @@
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"gX" = (
-/obj/structure/toilet{
- dir = 8
- },
-/turf/open/floor/plasteel/freezer,
-/area/mine/living_quarters)
-"gY" = (
-/obj/docking_port/stationary{
- dir = 8;
- dwidth = 2;
- height = 5;
- id = "laborcamp_away";
- name = "labor camp";
- width = 9
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors/explored)
"hg" = (
/obj/structure/stone_tile/surrounding,
/obj/structure/stone_tile/center/cracked,
@@ -2848,19 +284,6 @@
},
/turf/open/indestructible/boss,
/area/lavaland/surface/outdoors)
-"ie" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"il" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/eva)
"ir" = (
/obj/structure/stone_tile/slab/cracked{
dir = 5
@@ -3028,15 +451,6 @@
},
/turf/open/lava/smooth/lava_land_surface,
/area/lavaland/surface/outdoors)
-"jI" = (
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
"jL" = (
/obj/structure/stone_tile/surrounding_tile,
/obj/structure/stone_tile/surrounding_tile{
@@ -3059,17 +473,6 @@
/obj/structure/stone_tile/center/cracked,
/turf/open/lava/smooth/lava_land_surface,
/area/lavaland/surface/outdoors)
-"jO" = (
-/obj/docking_port/stationary{
- dir = 8;
- dwidth = 3;
- height = 7;
- id = "lavaland_common_away";
- name = "Mining base public dock";
- width = 7
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"jQ" = (
/obj/structure/stone_tile{
dir = 1
@@ -3105,12 +508,6 @@
/obj/structure/fluff/drake_statue/falling,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"km" = (
-/obj/structure/chair{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
"ko" = (
/obj/structure/stone_tile/block/cracked{
dir = 8
@@ -3302,13 +699,6 @@
},
/turf/open/lava/smooth/lava_land_surface,
/area/lavaland/surface/outdoors)
-"lB" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
"lD" = (
/obj/structure/stone_tile/block/cracked{
dir = 4
@@ -3352,13 +742,6 @@
},
/turf/open/lava/smooth/lava_land_surface,
/area/lavaland/surface/outdoors)
-"lN" = (
-/obj/machinery/light{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
"lP" = (
/obj/structure/stone_tile/block/cracked{
dir = 4
@@ -3396,14 +779,6 @@
},
/turf/open/lava/smooth/lava_land_surface,
/area/lavaland/surface/outdoors)
-"lU" = (
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{
- dir = 4;
- piping_layer = 3
- },
-/obj/structure/lattice/catwalk,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/mine/living_quarters)
"lW" = (
/obj/structure/stone_tile/block/cracked,
/obj/structure/stone_tile/block/cracked{
@@ -3439,15 +814,6 @@
},
/turf/open/lava/smooth/lava_land_surface,
/area/lavaland/surface/outdoors)
-"mi" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 5
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
"mk" = (
/obj/structure/stone_tile/block/cracked{
dir = 8
@@ -3813,579 +1179,10 @@
},
/turf/open/indestructible/boss,
/area/lavaland/surface/outdoors)
-"ns" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/turf/open/floor/plating,
-/area/mine/production)
-"nE" = (
-/obj/structure/sink{
- dir = 4;
- pixel_x = -12
- },
-/obj/structure/mirror{
- pixel_x = -28
- },
-/turf/open/floor/plasteel/freezer,
-/area/mine/living_quarters)
-"nG" = (
-/obj/item/twohanded/required/kirbyplants/random,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"nJ" = (
-/obj/structure/sign/poster/official/random{
- pixel_y = 32
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"nO" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel/freezer,
-/area/mine/living_quarters)
-"nZ" = (
-/obj/machinery/door/window/southright,
-/obj/machinery/shower{
- pixel_y = 22
- },
-/turf/open/floor/plasteel/freezer,
-/area/mine/living_quarters)
-"oZ" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
- dir = 8
- },
-/turf/open/floor/plasteel/freezer,
-/area/mine/living_quarters)
-"pg" = (
-/obj/machinery/door/airlock/external{
- glass = 1;
- name = "Mining External Airlock";
- opacity = 0
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"pm" = (
-/obj/structure/table,
-/obj/item/tank/internals/emergency_oxygen{
- pixel_x = 5;
- pixel_y = 3
- },
-/obj/item/tank/internals/emergency_oxygen,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"qq" = (
-/obj/machinery/light,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"qE" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"qZ" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 4
- },
-/obj/effect/turf_decal/tile/bar,
-/obj/effect/turf_decal/tile/bar{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"rf" = (
-/obj/machinery/door/airlock/external{
- glass = 1;
- name = "Mining External Airlock";
- opacity = 0
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"rs" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"rF" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"rY" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"sF" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"sL" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/machinery/door/airlock/external{
- name = "Lavaland Shuttle Airlock"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"sV" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/cable{
- icon_state = "2-4"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"tg" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/turf/open/floor/plating,
-/area/mine/production)
-"uy" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/turf/open/floor/plating,
-/area/mine/laborcamp/security)
-"vk" = (
-/obj/effect/turf_decal/tile/red,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"vE" = (
-/obj/item/twohanded/required/kirbyplants/random,
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"vP" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"xc" = (
-/obj/machinery/light/small{
- dir = 1
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/mine/production)
-"zc" = (
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"zS" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"CS" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/turf/open/floor/plating,
-/area/mine/production)
-"Dn" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"DM" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"Et" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"EH" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"FB" = (
-/obj/structure/table,
-/obj/effect/turf_decal/tile/red,
-/obj/machinery/recharger,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"FX" = (
-/obj/structure/chair{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"Gr" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"GC" = (
-/obj/machinery/camera{
- c_tag = "Crew Area Hallway West";
- dir = 1;
- network = list("mine")
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"Hk" = (
-/obj/structure/displaycase,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"HO" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/machinery/door/airlock/external{
- name = "Lavaland Shuttle Airlock"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"Iv" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"IY" = (
-/obj/machinery/cryopod{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"Ki" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
-/turf/open/floor/plasteel/white,
-/area/mine/living_quarters)
-"Ky" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 6
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"KS" = (
-/obj/structure/closet/emcloset,
-/obj/effect/turf_decal/tile/purple{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"LW" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable,
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"Mc" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable{
- icon_state = "2-4"
- },
-/obj/structure/cable{
- icon_state = "1-4"
- },
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"My" = (
-/obj/machinery/door/airlock{
- id_tag = "miningbathroom";
- name = "Restroom"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel/freezer,
-/area/mine/living_quarters)
-"MX" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"NC" = (
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/structure/displaycase,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"NU" = (
-/obj/machinery/atmospherics/pipe/manifold4w/supply,
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"OJ" = (
-/obj/structure/table,
-/obj/item/cigbutt,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"Pd" = (
-/obj/machinery/button/door{
- id = "miningbathroom";
- name = "Door Bolt Control";
- normaldoorcontrol = 1;
- pixel_y = -25;
- specialfunctions = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel/freezer,
-/area/mine/living_quarters)
-"Pr" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"PR" = (
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red,
-/obj/structure/closet/secure_closet/labor_camp_security,
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"Qj" = (
-/obj/machinery/computer/shuttle/mining/common{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"Qo" = (
-/obj/machinery/shower{
- dir = 8
- },
-/obj/structure/extinguisher_cabinet{
- pixel_x = 30
- },
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"Rn" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"RD" = (
-/obj/machinery/door/airlock{
- name = "Restroom"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel/freezer,
-/area/mine/living_quarters)
-"RR" = (
-/obj/item/bikehorn{
- color = "#000";
- desc = "A horn off of a bicycle. This one has been charred to hell and back, yet somehow it still honks.";
- name = "charred bike horn"
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors/explored)
-"RW" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"Se" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable{
- icon_state = "0-2"
- },
-/turf/open/floor/plating,
-/area/mine/living_quarters)
-"Sj" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/light/small,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/turf/open/floor/plasteel/freezer,
-/area/mine/living_quarters)
-"SI" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"Tp" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 4
- },
-/obj/structure/lattice/catwalk,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/mine/living_quarters)
-"Ty" = (
-/obj/machinery/door/window/southleft,
-/obj/machinery/shower{
- pixel_y = 22
- },
-/turf/open/floor/plasteel/freezer,
-/area/mine/living_quarters)
-"Tz" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
-"TW" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"TX" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
- dir = 5
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"Ub" = (
-/obj/structure/statue{
- desc = "A lifelike statue of a horrifying monster.";
- dir = 8;
- icon = 'icons/mob/lavaland/lavaland_monsters.dmi';
- icon_state = "goliath";
- name = "goliath"
- },
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
+"ol" = (
+/obj/effect/landmark/stationroom/lavaland/station,
+/turf/template_noop,
+/area/template_noop)
"Uq" = (
/obj/docking_port/stationary{
area_type = /area/lavaland/surface/outdoors;
@@ -4398,108 +1195,6 @@
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"UP" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/effect/turf_decal/tile/brown,
-/turf/open/floor/plasteel,
-/area/mine/production)
-"US" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3,
-/turf/open/floor/plasteel,
-/area/mine/living_quarters)
-"Vk" = (
-/obj/effect/turf_decal/tile/brown{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"Vz" = (
-/obj/effect/spawner/structure/window/reinforced,
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/turf/open/floor/plating,
-/area/mine/production)
-"Wp" = (
-/obj/docking_port/stationary{
- dir = 8;
- dwidth = 3;
- height = 10;
- id = "mining_away";
- name = "lavaland mine";
- width = 7
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
-"WA" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/machinery/door/airlock{
- name = "Labor Camp External Access"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"WB" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/machinery/door/airlock/security/glass{
- name = "Labor Camp Shuttle Security Airlock";
- req_access_txt = "2"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"WC" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/machinery/door/airlock/security/glass{
- name = "Labor Camp Shuttle Prisoner Airlock"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp)
-"WD" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/machinery/door/airlock/external{
- glass = 1;
- name = "Mining External Airlock";
- opacity = 0;
- req_access_txt = "54"
- },
-/turf/open/floor/plasteel,
-/area/mine/eva)
-"WE" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/machinery/door/airlock/external{
- glass = 1;
- name = "Mining Shuttle Airlock";
- opacity = 0
- },
-/turf/open/floor/plasteel,
-/area/mine/production)
-"YT" = (
-/obj/effect/spawner/structure/window/reinforced,
-/turf/closed/wall,
-/area/mine/living_quarters)
-"Zt" = (
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/cable{
- icon_state = "2-8"
- },
-/turf/open/floor/plasteel,
-/area/mine/laborcamp/security)
(1,1,1) = {"
aa
@@ -4702,61 +1397,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+ol
"}
(2,1,1) = {"
aa
@@ -4959,61 +1654,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(3,1,1) = {"
aa
@@ -5216,61 +1911,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(4,1,1) = {"
aa
@@ -5473,61 +2168,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ai
-ai
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(5,1,1) = {"
aa
@@ -5730,61 +2425,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ai
-ai
-ai
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(6,1,1) = {"
aa
@@ -5987,61 +2682,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ai
-aD
-ab
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(7,1,1) = {"
aa
@@ -6244,61 +2939,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aw
-aw
-ab
-aD
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(8,1,1) = {"
aa
@@ -6501,61 +3196,61 @@ aj
aj
aj
aj
-aj
-ab
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aw
-aw
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(9,1,1) = {"
aa
@@ -6758,61 +3453,61 @@ aj
aj
aj
aj
-ab
-ab
-aj
-ab
-ab
-aj
-aj
-aj
-aj
-aw
-aw
-aj
-aj
-aw
-aw
-aj
-aj
-aw
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(10,1,1) = {"
aa
@@ -7015,61 +3710,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-ab
-ab
-aj
-aj
-aj
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(11,1,1) = {"
aa
@@ -7272,61 +3967,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-aj
-aj
-aj
-aw
-aw
-aD
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-aw
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(12,1,1) = {"
aa
@@ -7529,61 +4224,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aw
-aw
-aw
-aD
-aw
-aw
-aw
-aw
-aw
-aD
-aw
-aw
-aD
-aw
-aw
-aw
-aj
-aw
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(13,1,1) = {"
aa
@@ -7786,61 +4481,61 @@ aj
aj
aj
ab
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aw
-aw
-aw
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aw
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(14,1,1) = {"
aa
@@ -8043,61 +4738,61 @@ aj
aj
ab
ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aw
-aw
-aw
-aw
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aw
-aw
-ab
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-aj
-ab
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(15,1,1) = {"
aa
@@ -8300,61 +4995,61 @@ aj
aj
aj
aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aw
-aw
-aw
-aw
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aw
-aw
-aw
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(16,1,1) = {"
aa
@@ -8557,61 +5252,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aw
-aw
-aw
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aw
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(17,1,1) = {"
aa
@@ -8814,61 +5509,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aw
-aw
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-gY
-aD
-aD
-aD
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-aj
-aj
-ab
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(18,1,1) = {"
aa
@@ -9071,61 +5766,61 @@ aj
aj
ab
aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aq
-aq
-aq
-aq
-aq
-aY
-aq
-aq
-aq
-bx
-aq
-aw
-aw
-aj
-aj
-aj
-aj
-aj
-ab
-ai
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(19,1,1) = {"
aa
@@ -9328,61 +6023,61 @@ an
an
ab
ab
-an
-ab
-aj
-aj
-aj
-aj
-aj
-ab
-aq
-aG
-aK
-aP
-aq
-aZ
-aq
-bh
-aq
-aJ
-aq
-aD
-bZ
-aj
-aj
-RR
-aj
-ab
-ab
-ai
-ai
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(20,1,1) = {"
aa
@@ -9585,61 +6280,61 @@ an
an
an
an
-an
-an
-ab
-aj
-aj
-aj
-ab
-ab
-aq
-aH
-az
-aQ
-aq
-WB
-aq
-bi
-aq
-WC
-aq
-bZ
-bZ
-bZ
-aj
-aj
-aj
-ab
-ab
-ai
-ai
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(21,1,1) = {"
aa
@@ -9842,61 +6537,61 @@ an
an
an
an
-an
-an
-an
-an
-ap
-ap
-ap
-aq
-aq
-aq
-aL
-aq
-aq
-ba
-aq
-bj
-az
-az
-bA
-ca
-ca
-ca
-uy
-ca
-Se
-Mc
-LW
-cM
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(22,1,1) = {"
aa
@@ -10099,61 +6794,61 @@ an
an
an
an
-an
-an
-an
-an
-ap
-ar
-ar
-aq
-IY
-az
-az
-az
-az
-az
-az
-el
-az
-az
-bA
-cb
-cw
-cG
-cz
-ca
-OJ
-SI
-nG
-cM
-lU
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(23,1,1) = {"
aa
@@ -10356,61 +7051,61 @@ an
an
an
an
-an
-an
-an
-an
-aq
-as
-ax
-aB
-az
-az
-az
-az
-aU
-bb
-cN
-fo
-by
-by
-bL
-cc
-cx
-mi
-cE
-ca
-km
-SI
-eM
-cM
-Tp
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(24,1,1) = {"
aa
@@ -10613,61 +7308,61 @@ an
an
an
an
-an
-an
-an
-an
-aq
-at
-ay
-aq
-aE
-az
-cl
-cN
-cN
-dG
-aQ
-bk
-az
-az
-bA
-cd
-cA
-fw
-cS
-ca
-nJ
-SI
-dZ
-cM
-er
-LW
-cM
-ab
-ab
-ab
-ab
-ab
-jO
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(25,1,1) = {"
aa
@@ -10870,61 +7565,61 @@ an
an
an
an
-an
-an
-an
-an
-aq
-aq
-aq
-aq
-aq
-az
-az
-aR
-az
-bc
-aq
-bl
-bA
-bA
-bA
-bT
-cA
-qE
-cT
-bw
-eL
-dy
-ec
-dZ
-ie
-DM
-cM
-ab
-ab
-ab
-ab
-cR
-sL
-cR
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(26,1,1) = {"
aa
@@ -11127,61 +7822,61 @@ an
an
an
an
-an
-an
-an
-an
-aq
-au
-au
-au
-aq
-az
-aM
-aq
-aq
-bd
-aq
-bl
-bA
-ao
-aV
-Zt
-Tz
-cp
-sF
-cU
-EH
-dF
-EH
-EH
-es
-GC
-cM
-ab
-ab
-ab
-ab
-cR
-dZ
-cR
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(27,1,1) = {"
aa
@@ -11384,61 +8079,61 @@ an
an
an
an
-an
-an
-an
-an
-aq
-av
-az
-az
-aF
-az
-aN
-aS
-aW
-be
-aW
-bm
-bA
-bB
-bM
-ce
-cA
-Iv
-vk
-bw
-dZ
-dZ
-lN
-rF
-et
-dZ
-cM
-cM
-cM
-YT
-cM
-cR
-HO
-cR
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(28,1,1) = {"
aa
@@ -11641,61 +8336,61 @@ an
an
an
an
-an
-an
-an
-an
-aq
-aq
aA
-aC
-aq
-aI
-aq
-aq
-aq
-aq
-aq
-aq
-bA
-bA
-ca
-cf
-cB
-cA
-qq
-cQ
-cQ
-cQ
-cQ
-rs
-et
-dZ
-cM
-vE
-FX
-Qj
-FX
-eL
-Dn
-cR
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(29,1,1) = {"
aa
@@ -11898,61 +8593,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-aq
-aq
-aq
-aq
-az
-aq
-aT
-aX
-aX
-aD
-aD
-aD
-aw
-bw
-cg
-cC
-FB
-PR
-cQ
-dg
-dg
-cQ
-dZ
-et
-dZ
-cM
-fa
-dZ
-dZ
-dZ
-dZ
-dZ
-cR
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(30,1,1) = {"
aa
@@ -12155,61 +8850,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-aq
-aJ
-aq
-aT
-aD
-aD
-aD
-aD
-aD
-aw
-bw
-bw
-bw
-bw
-bw
-cQ
-dp
-dH
-cQ
-ea
-et
-ek
-cM
-fb
-dZ
-fz
-fz
-dZ
-Ub
-cR
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(31,1,1) = {"
aa
@@ -12412,61 +9107,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-aq
-WA
-aq
-aT
-aD
-aD
-aD
-aD
-aD
-aj
-aj
-aj
-aj
-aj
-ab
-cQ
-di
-dP
-dU
-rY
-eu
-eK
-eQ
-ef
-TX
-fz
-fz
-dZ
-dZ
-cR
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(32,1,1) = {"
aa
@@ -12669,61 +9364,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-aD
-aD
-aO
-aD
-aD
-aD
-aD
-aD
-aj
-aj
-aj
-aj
-aj
-ab
-ad
-cQ
-dj
-dz
-cQ
-ec
-ev
-eL
-cM
-fc
-zS
-dZ
-dZ
-dZ
-eM
-cM
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(33,1,1) = {"
aa
@@ -12926,61 +9621,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aj
-aj
-aj
-aj
-ab
-ai
-cQ
-dk
-dA
-cQ
-ed
-ew
-eM
-cM
-fd
-fq
-fB
-pm
-Hk
-NC
-cM
-ai
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(34,1,1) = {"
aa
@@ -13183,61 +9878,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aj
-aj
-aj
-aj
-ab
-ab
-cQ
-cQ
-cQ
-cQ
-ee
-ev
-dZ
-cM
-cM
-cM
-cM
-cM
-cM
-cM
-cM
-cM
-cM
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(35,1,1) = {"
aa
@@ -13440,61 +10135,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aj
-aj
-aj
-aj
-aj
-ab
-cM
-dl
-dB
-cM
-dZ
-ex
-fp
-cM
-fe
-fr
-cM
-fe
-fr
-cM
-fe
-fr
-cM
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(36,1,1) = {"
aa
@@ -13697,61 +10392,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aD
-aj
-aj
-aj
-aj
-ab
-cR
-Ki
-dC
-dQ
-ea
-ev
-dZ
-cM
-ff
-fs
-cM
-ff
-fM
-cM
-ff
-fP
-cM
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(37,1,1) = {"
aa
@@ -13954,61 +10649,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-aD
-aD
-aT
-an
-aD
-fx
-aj
-aj
-aj
-aj
-ab
-cR
-dm
-dD
-dR
-ef
-ey
-dZ
-cM
-fg
-cM
-cM
-fH
-cM
-cM
-fO
-cM
-cM
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(38,1,1) = {"
aa
@@ -14211,61 +10906,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-fx
-fx
-an
-aj
-aj
-ai
-ad
-cM
-dn
-dE
-dQ
-ec
-ev
-dZ
-eL
-fh
-ft
-eL
-fh
-zc
-eL
-fh
-ec
-cR
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(39,1,1) = {"
aa
@@ -14468,61 +11163,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-aj
-aj
-ai
-cM
-cM
-cM
-cM
-cM
-ei
-ez
-eN
-eN
-fi
-eN
-eN
-fi
-fN
-eN
-NU
-fp
-cR
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(40,1,1) = {"
aa
@@ -14725,61 +11420,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-aj
-aj
-aj
-aj
-cM
-cX
-ds
-dS
-cM
-eh
-ex
-fp
-cM
-cM
-dQ
-dQ
-cM
-cM
-cM
-RD
-cM
-cM
-ai
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(41,1,1) = {"
aa
@@ -14982,61 +11677,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-aj
-aj
-aj
-aj
-aj
-aj
-cM
-cY
-cV
-cV
-cM
-ea
-ev
-eM
-cM
-fj
-fk
-qZ
-fI
-cM
-Ty
-nO
-cM
-ai
-ad
-ai
-ai
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(42,1,1) = {"
aa
@@ -15239,61 +11934,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-cM
-dh
-dt
-dT
-eb
-ep
-eA
-ek
-dQ
-fk
-fk
-fC
-fk
-cM
-nZ
-Sj
-cM
-ab
-ai
-ai
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(43,1,1) = {"
aa
@@ -15496,61 +12191,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-ab
-aj
-aj
-aj
-aj
-ab
-ab
-aj
-ab
-cM
-cV
-dq
-dI
-cM
-ej
-Et
-jI
-eR
-fl
-fu
-fD
-fJ
-cM
-cM
-My
-cM
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(44,1,1) = {"
aa
@@ -15753,61 +12448,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-an
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-cM
-cW
-dr
-dr
-cM
-US
-ew
-eL
-dQ
-fk
-fk
-fE
-fK
-cM
-nE
-Pd
-cM
-aj
-aj
-aj
-aj
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(45,1,1) = {"
aa
@@ -16010,61 +12705,61 @@ an
an
an
an
-an
-an
-an
-an
-an
-an
-ab
-aj
-aj
-an
-an
-an
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-cM
-cM
-cM
-cM
-cM
-dZ
-ev
-dZ
-cM
-fm
-fk
-fF
-fk
-cM
-gX
-oZ
-cM
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(46,1,1) = {"
aa
@@ -16267,61 +12962,61 @@ aj
aj
aj
aj
-an
-an
-an
-an
-an
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-cR
-dZ
-ev
-dZ
-cM
-fn
-fv
-fG
-fL
-cM
-cM
-cM
-cM
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(47,1,1) = {"
aa
@@ -16524,61 +13219,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-cR
-ek
-eB
-eO
-cM
-cR
-cR
-cR
-cR
-cM
-ai
-ai
-ai
-aj
-ab
-aj
-aj
-ab
-ab
-aj
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(48,1,1) = {"
aa
@@ -16781,61 +13476,61 @@ aj
aj
aj
aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-cR
-cR
-eC
-cR
-cR
-ab
-ab
-ab
-ab
-ai
-ai
-ai
-ab
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ai
-ad
-ad
-ab
-ab
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(49,1,1) = {"
aa
@@ -17038,61 +13733,61 @@ aj
aj
ai
ai
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ai
-ai
-ai
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-ab
-cR
-eE
-cR
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ad
-ad
-ad
-ad
-ad
-ai
-ai
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(50,1,1) = {"
aa
@@ -17295,61 +13990,61 @@ ab
ab
ai
am
-ai
-ai
-ai
-ai
-ai
-ai
-ai
-am
-ai
-ab
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-cR
-ev
-cR
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-ab
-ab
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ab
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(51,1,1) = {"
aa
@@ -17552,61 +14247,61 @@ ai
ai
am
am
-am
-am
-am
-am
-am
-am
-am
-ai
-ab
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-cR
-ev
-cR
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ab
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(52,1,1) = {"
aa
@@ -17809,61 +14504,61 @@ am
am
am
am
-am
-am
-am
-am
-am
-am
-am
-ai
-ab
-aj
-aj
-ab
-ab
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-cR
-ev
-cR
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ad
-ad
-ad
-ad
-ad
-ad
-ad
-ab
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(53,1,1) = {"
aa
@@ -18066,61 +14761,61 @@ am
am
am
am
-am
-am
-am
-am
-am
-am
-am
-ai
-ab
-aj
-ab
-ab
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-br
-vP
-br
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ad
-ad
-ai
-ad
-ab
-ab
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(54,1,1) = {"
aa
@@ -18323,61 +15018,61 @@ am
am
am
am
-am
-am
-am
-am
-am
-am
-am
-ai
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-Wp
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-br
-vP
-br
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(55,1,1) = {"
aa
@@ -18580,61 +15275,61 @@ am
am
am
am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-bN
-cj
-br
-ab
-ab
-aj
-aj
-aj
-ab
-br
-vP
-br
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(56,1,1) = {"
aa
@@ -18837,61 +15532,61 @@ ak
am
am
am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-br
-bP
-br
-ab
-aj
-aj
-aj
-aj
-ab
-br
-eF
-br
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(57,1,1) = {"
aa
@@ -19094,61 +15789,61 @@ ak
ak
am
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-br
-br
-WE
-br
-br
-ab
-aj
-aj
-ab
-br
-br
-fy
-br
-br
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(58,1,1) = {"
aa
@@ -19351,61 +16046,61 @@ ak
ak
ak
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-ai
-ai
-aj
-aj
-aj
-bq
-br
-bO
-ck
-cD
-br
-bq
-bq
-bq
-bq
-ns
-cH
-fU
-cD
-br
-bq
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(59,1,1) = {"
aa
@@ -19608,61 +16303,61 @@ ak
ak
ak
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-aj
-aj
-aj
-ab
-bq
-bC
-Gr
-bP
-TW
-cH
-cO
-do
-ck
-dJ
-CS
-cn
-vP
-bP
-eS
-bq
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(60,1,1) = {"
aa
@@ -19865,61 +16560,61 @@ ak
ak
ak
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-aj
-aj
-aj
-aj
-ab
-br
-bD
-bz
-ch
-co
-cy
-cy
-MX
-sV
-cy
-eg
-eq
-fX
-eP
-eT
-bq
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(61,1,1) = {"
aa
@@ -20122,61 +16817,61 @@ ak
ak
ak
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-aj
-aj
-aj
-aj
-ab
-ab
-br
-bE
-bQ
-cn
-cF
-cI
-cP
-cn
-Rn
-bP
-tg
-lB
-eD
-bP
-eU
-bq
-bq
-bq
-bq
-xc
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(62,1,1) = {"
aa
@@ -20379,61 +17074,61 @@ ak
ak
ak
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-aj
-aj
-ai
-ab
-bf
-bf
-bf
-bF
-bR
-bF
-bf
-cJ
-bq
-cZ
-dx
-dK
-tg
-bP
-eG
-bP
-eV
-br
-KS
-eV
-br
-ab
-ab
-ai
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(63,1,1) = {"
aa
@@ -20636,61 +17331,61 @@ ak
ak
ak
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-ai
-ai
-ab
-bf
-bn
-bs
-bG
-bS
-ci
-bf
-cK
-bq
-bq
-Vz
-bq
-Vz
-bP
-eG
-bP
-UP
-pg
-RW
-UP
-rf
-ab
-ab
-ai
-ai
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(64,1,1) = {"
aa
@@ -20893,61 +17588,61 @@ ak
ak
ak
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-ab
-ab
-bg
-bo
-fA
-il
-bU
-cm
-bf
-cL
-bq
-da
-du
-dL
-cH
-Vk
-eG
-bP
-cH
-br
-Pr
-Qo
-br
-ab
-ab
-ab
-ai
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(65,1,1) = {"
aa
@@ -21150,61 +17845,61 @@ ak
ak
am
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-aj
-aj
-ab
-bg
-bo
-bt
-bH
-bV
-cq
-bf
-bq
-bq
-db
-bP
-bP
-bP
-bP
-eH
-cF
-eW
-bq
-bq
-bq
-bq
-xc
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(66,1,1) = {"
aa
@@ -21407,61 +18102,61 @@ am
am
am
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-aj
-aj
-ab
-bf
-bp
-bu
-bI
-bW
-cr
-bf
-ad
-bq
-dc
-bP
-dM
-dW
-Ky
-eI
-bq
-eX
-bq
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(67,1,1) = {"
aa
@@ -21664,61 +18359,61 @@ am
am
am
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-aj
-aj
-ab
-bf
-bf
-bf
-bg
-bX
-bg
-bf
-ai
-bq
-dd
-bP
-dN
-dX
-em
-eJ
-dV
-eY
-bq
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(68,1,1) = {"
aa
@@ -21921,61 +18616,61 @@ am
am
am
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-aj
-aj
-ab
-ab
-ab
-bf
-bJ
-bY
-cs
-bf
-ai
-bq
-de
-dv
-bq
-dV
-en
-dV
-dV
-eY
-bq
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(69,1,1) = {"
aa
@@ -22178,61 +18873,61 @@ am
am
am
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-ai
-aj
-aj
-ab
-ab
-bf
-bK
-bW
-ct
-bf
-ai
-bq
-df
-dw
-dO
-dY
-eo
-dY
-dY
-eZ
-bq
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(70,1,1) = {"
aa
@@ -22435,61 +19130,61 @@ am
am
am
am
-am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-ab
-ai
-ai
-aj
-aj
-ab
-bf
-bg
-WD
-bg
-bf
-ai
-bq
-bq
-bq
-bq
-bq
-bq
-bq
-bq
-bq
-bq
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(71,1,1) = {"
aa
@@ -22692,61 +19387,61 @@ am
am
am
am
-am
-am
-am
-am
-am
-am
-am
-am
-ai
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-bv
-ab
-ab
-ab
-bv
-ai
-ai
-ab
-ab
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(72,1,1) = {"
aa
@@ -22949,61 +19644,61 @@ am
am
am
am
-am
-am
-ai
-ai
-am
-am
-am
-ai
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-ab
-aj
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(73,1,1) = {"
aa
@@ -23206,61 +19901,61 @@ am
am
am
am
-am
-ai
-ab
-ab
-ai
-ai
-am
-ai
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-ab
-ab
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(74,1,1) = {"
aa
@@ -23463,61 +20158,61 @@ am
am
am
am
-ai
-ab
-ab
-ab
-ai
-ab
-ai
-am
-ai
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-ab
-ab
-ab
-aj
-aj
-aj
-aj
-ab
-ab
-aj
-aj
-aj
-aj
-ab
-ab
-ab
-aj
-aj
-aj
-aj
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
+aA
"}
(75,1,1) = {"
aa
diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm
index ee4288d7fc..a0467cde6c 100644
--- a/_maps/map_files/generic/CentCom.dmm
+++ b/_maps/map_files/generic/CentCom.dmm
@@ -2925,6 +2925,13 @@
/obj/machinery/capture_the_flag/red,
/turf/open/floor/circuit/green/anim,
/area/ctf)
+"hH" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/computer/slot_machine,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"hI" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -6760,6 +6767,14 @@
},
/turf/open/floor/plasteel/dark,
/area/centcom/control)
+"px" = (
+/obj/structure/table,
+/obj/item/storage/backpack/duffelbag/med/surgery,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"py" = (
/obj/machinery/smartfridge,
/turf/closed/indestructible{
@@ -6775,20 +6790,6 @@
},
/turf/open/floor/plasteel/dark,
/area/centcom/supplypod)
-"pE" = (
-/obj/machinery/plantgenes/seedvault,
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"pH" = (
/obj/structure/table/wood,
/obj/machinery/recharger,
@@ -6921,11 +6922,6 @@
},
/turf/open/floor/plasteel/dark,
/area/centcom/ferry)
-"pS" = (
-/obj/structure/table,
-/obj/item/stack/packageWrap,
-/turf/open/floor/plasteel/cafeteria,
-/area/centcom/holding)
"pU" = (
/obj/structure/sign/map/right{
pixel_y = -32
@@ -7906,6 +7902,14 @@
},
/turf/open/floor/plating,
/area/syndicate_mothership)
+"sf" = (
+/obj/machinery/vending/wallmed{
+ name = "Emergency NanoMed";
+ pixel_y = 28;
+ use_power = 0
+ },
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"si" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/food/drinks/beer{
@@ -8708,6 +8712,9 @@
/area/centcom/supplypod)
"tZ" = (
/obj/structure/chair/wood/normal,
+/obj/machinery/light{
+ dir = 8
+ },
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"uc" = (
@@ -9339,6 +9346,17 @@
},
/turf/open/floor/plasteel,
/area/syndicate_mothership)
+"vv" = (
+/obj/structure/closet,
+/obj/item/storage/backpack/duffelbag/med/surgery,
+/obj/machinery/iv_drip,
+/obj/item/roller,
+/obj/item/storage/firstaid/regular,
+/obj/item/reagent_containers/medspray/synthflesh,
+/obj/item/reagent_containers/medspray/synthflesh,
+/obj/item/reagent_containers/medspray/synthflesh,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"vw" = (
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
@@ -9713,13 +9731,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/three)
-"wj" = (
-/obj/structure/closet/secure_closet/personal/cabinet{
- desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here.";
- name = "Personal ID-Locked Closet"
- },
-/turf/open/floor/carpet/royalblue,
-/area/centcom/holding)
"wl" = (
/obj/structure/table/wood,
/obj/item/paicard,
@@ -10598,12 +10609,6 @@
/obj/effect/decal/cleanable/blood/splatter,
/turf/open/floor/grass,
/area/wizard_station)
-"yM" = (
-/obj/structure/table/wood/bar,
-/obj/structure/safe/floor,
-/obj/item/seeds/cherry/bomb,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"yN" = (
/obj/structure/table/reinforced,
/obj/item/paper/pamphlet/centcom/visitor_info,
@@ -10640,6 +10645,15 @@
/obj/item/kitchen/rollingpin,
/turf/open/floor/plasteel/cafeteria,
/area/syndicate_mothership)
+"yW" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/grass,
+/area/centcom/holding)
"yY" = (
/obj/structure/table/wood,
/obj/item/storage/fancy/donut_box,
@@ -11049,6 +11063,12 @@
},
/turf/open/floor/plating,
/area/syndicate_mothership)
+"zS" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/freezer,
+/area/centcom/holding)
"zT" = (
/turf/open/indestructible/boss/air,
/area/centcom/holding)
@@ -11345,6 +11365,10 @@
},
/turf/open/floor/plasteel,
/area/syndicate_mothership)
+"AE" = (
+/obj/machinery/vending/coffee,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"AG" = (
/obj/structure/ladder/unbreakable/binary/space,
/turf/open/indestructible/airblock,
@@ -11563,21 +11587,11 @@
/obj/machinery/mech_bay_recharge_port,
/turf/open/floor/plating,
/area/syndicate_mothership)
-"Bo" = (
-/obj/structure/table,
-/obj/machinery/reagentgrinder,
-/obj/item/reagent_containers/glass/beaker/large,
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
+"Bq" = (
+/obj/machinery/sleeper{
dir = 8
},
-/turf/open/indestructible/hotelwood,
+/turf/open/floor/plasteel/white,
/area/centcom/holding)
"Bs" = (
/obj/structure/table/wood,
@@ -13463,20 +13477,6 @@
/obj/item/instrument/guitar,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"Fb" = (
-/obj/structure/piano,
-/obj/machinery/light{
- dir = 8
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"Fc" = (
-/obj/structure/sign/barsign{
- pixel_y = 32
- },
-/obj/structure/chair/stool,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Fg" = (
/obj/structure/flora/grass/brown,
/obj/effect/light_emitter,
@@ -13485,18 +13485,9 @@
"Fh" = (
/turf/open/floor/plasteel/cafeteria,
/area/centcom/holding)
-"Fi" = (
-/obj/structure/chair/wood/wings{
- dir = 3
- },
-/obj/machinery/light{
- dir = 1
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"Fj" = (
-/obj/machinery/vending/cigarette,
-/turf/open/indestructible/hotelwood,
+"Fl" = (
+/obj/structure/bedsheetbin/towel,
+/turf/open/floor/plasteel/white,
/area/centcom/holding)
"Fm" = (
/obj/machinery/shower{
@@ -13784,6 +13775,7 @@
/obj/structure/window/reinforced{
dir = 4
},
+/obj/structure/table/wood,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"FX" = (
@@ -14409,6 +14401,24 @@
},
/turf/open/floor/plasteel/white,
/area/tdome/tdomeobserve)
+"Hj" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/piano,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"Hk" = (
+/obj/structure/table/wood,
+/obj/item/camera/detective{
+ desc = "A polaroid camera with extra capacity for social media marketing.";
+ name = "Professional camera"
+ },
+/obj/item/camera_film,
+/obj/item/paper_bin,
+/obj/item/pen/fountain,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Hm" = (
/obj/structure/flora/ausbushes/fernybush,
/obj/structure/flora/ausbushes/ppflowers,
@@ -14747,24 +14757,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
-"HQ" = (
-/obj/structure/sink/kitchen{
- desc = "A sink used for washing one's hands and face. It looks rusty and home-made";
- name = "sink";
- pixel_y = 28
- },
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"HR" = (
/obj/structure/sink{
dir = 4;
@@ -15769,6 +15761,12 @@
},
/turf/open/floor/plasteel/dark,
/area/tdome/tdomeadmin)
+"JV" = (
+/obj/structure/table,
+/obj/item/stack/packageWrap,
+/obj/item/reagent_containers/glass/beaker,
+/turf/open/floor/plasteel/cafeteria,
+/area/centcom/holding)
"JX" = (
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/stripes/line{
@@ -15826,10 +15824,9 @@
/area/tdome/tdomeadmin)
"Kf" = (
/obj/structure/closet/secure_closet/personal/cabinet,
-/obj/item/lighter,
-/obj/item/stack/sheet/mineral/wood{
- amount = 10
- },
+/obj/item/reagent_containers/rag/towel,
+/obj/item/reagent_containers/rag/towel,
+/obj/item/reagent_containers/rag/towel,
/turf/open/floor/carpet/red,
/area/centcom/holding)
"Kg" = (
@@ -15848,6 +15845,16 @@
},
/turf/open/floor/plasteel,
/area/tdome/tdomeadmin)
+"Ki" = (
+/obj/structure/closet/secure_closet/personal/cabinet{
+ desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here.";
+ name = "Personal ID-Locked Closet"
+ },
+/obj/item/reagent_containers/rag/towel,
+/obj/item/reagent_containers/rag/towel,
+/obj/item/reagent_containers/rag/towel,
+/turf/open/floor/carpet/royalblue,
+/area/centcom/holding)
"Kj" = (
/obj/machinery/door/airlock/external{
name = "Backup Emergency Escape Shuttle"
@@ -16202,6 +16209,7 @@
/obj/structure/window/reinforced{
dir = 1
},
+/obj/structure/table/wood,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"KU" = (
@@ -16273,6 +16281,20 @@
},
/turf/open/floor/mineral/titanium/blue,
/area/centcom/evac)
+"Lk" = (
+/obj/structure/table,
+/obj/item/storage/box/bodybags,
+/obj/item/storage/box/bodybags,
+/obj/item/storage/box/bodybags,
+/obj/item/storage/box/bodybags,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
+"Lm" = (
+/obj/machinery/shower{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer,
+/area/centcom/holding)
"Ln" = (
/obj/structure/toilet{
dir = 4
@@ -16285,6 +16307,11 @@
},
/turf/open/floor/mineral/titanium/blue,
/area/centcom/evac)
+"Lr" = (
+/obj/structure/mopbucket,
+/obj/item/mop,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Ls" = (
/obj/docking_port/stationary{
dir = 4;
@@ -16570,22 +16597,6 @@
},
/turf/open/indestructible/boss/air,
/area/centcom/holding)
-"Mu" = (
-/obj/machinery/light{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Mv" = (
/obj/structure/table/reinforced,
/obj/item/storage/fancy/donut_box,
@@ -16616,6 +16627,16 @@
},
/turf/open/floor/plating/asteroid/snow/airless,
/area/syndicate_mothership)
+"Mz" = (
+/obj/structure/closet/crate,
+/obj/item/stack/sheet/paperframes/fifty,
+/obj/item/stack/sheet/paperframes/fifty,
+/obj/item/storage/fancy/candle_box,
+/obj/item/storage/fancy/candle_box,
+/obj/item/storage/fancy/candle_box,
+/obj/item/storage/box/lights/mixed,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"MB" = (
/turf/open/indestructible/binary,
/area/fabric_of_reality)
@@ -16692,10 +16713,6 @@
/obj/item/reagent_containers/food/condiment/enzyme,
/turf/open/floor/plasteel/cafeteria,
/area/syndicate_mothership)
-"MT" = (
-/obj/machinery/processor,
-/turf/open/floor/plasteel/cafeteria,
-/area/centcom/holding)
"MU" = (
/obj/effect/turf_decal/tile/brown{
dir = 8
@@ -16749,44 +16766,24 @@
},
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
-"Nm" = (
-/obj/structure/closet/crate,
-/obj/item/vending_refill/autodrobe,
-/obj/item/stack/sheet/paperframes/fifty,
-/obj/item/stack/sheet/paperframes/fifty,
-/obj/item/storage/fancy/candle_box,
-/obj/item/storage/fancy/candle_box,
-/obj/item/storage/fancy/candle_box,
-/obj/item/storage/box/lights/mixed,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
-"Nn" = (
-/obj/structure/closet/secure_closet/hydroponics{
- locked = 0
- },
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
+"Nt" = (
+/obj/structure/bedsheetbin/color,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Nu" = (
/turf/open/floor/wood,
/area/syndicate_mothership)
-"Nv" = (
-/obj/structure/table,
-/turf/open/floor/plasteel/cafeteria,
-/area/centcom/holding)
"Nw" = (
/obj/machinery/recharge_station,
/turf/open/floor/plasteel/white,
/area/centcom/holding)
+"Nx" = (
+/obj/machinery/processor,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/cafeteria,
+/area/centcom/holding)
"Nz" = (
/obj/effect/turf_decal/tile/brown{
dir = 8
@@ -16796,16 +16793,11 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/two)
-"ND" = (
-/obj/structure/closet,
-/obj/item/storage/backpack/duffelbag/med/surgery,
-/obj/machinery/iv_drip,
-/obj/item/roller,
-/obj/item/storage/firstaid/regular,
-/obj/item/reagent_containers/medspray/synthflesh,
-/obj/item/reagent_containers/medspray/synthflesh,
-/obj/item/reagent_containers/medspray/synthflesh,
-/turf/open/indestructible/hotelwood,
+"NE" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
/area/centcom/holding)
"NF" = (
/obj/structure/ladder/unbreakable/binary,
@@ -16822,21 +16814,9 @@
},
/turf/open/floor/plasteel,
/area/centcom/control)
-"NJ" = (
-/obj/structure/table,
-/obj/item/book/manual/hydroponics_pod_people,
-/obj/item/seeds/pumpkin/blumpkin,
-/obj/item/paper/guides/jobs/hydroponics,
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
+"NN" = (
+/obj/item/storage/box/bodybags,
+/obj/item/storage/box/bodybags,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"NT" = (
@@ -16863,6 +16843,13 @@
/obj/machinery/vending/cola/sodie,
/turf/open/floor/plasteel,
/area/syndicate_mothership)
+"NZ" = (
+/obj/structure/table/wood/bar,
+/obj/structure/safe/floor,
+/obj/item/seeds/cherry/bomb,
+/obj/item/key/janitor,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Oa" = (
/obj/structure/table/wood,
/turf/open/floor/wood,
@@ -16933,12 +16920,26 @@
name = "Lock Control";
pixel_y = -28
},
+/mob/living/simple_animal/bot/cleanbot,
/turf/open/floor/plasteel/white,
/area/centcom/holding)
"Or" = (
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/two)
+"Os" = (
+/obj/structure/chair/wood/normal{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"Ot" = (
+/obj/machinery/washing_machine,
+/turf/open/floor/mineral/titanium/blue,
+/area/centcom/holding)
"Ou" = (
/turf/closed/indestructible/fakedoor{
name = "Cold Storage"
@@ -17009,6 +17010,10 @@
/obj/structure/mecha_wreckage/mauler,
/turf/open/floor/plasteel/dark,
/area/syndicate_mothership)
+"OT" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"OU" = (
/obj/item/clothing/under/jabroni,
/obj/item/clothing/under/geisha,
@@ -17023,13 +17028,36 @@
},
/turf/open/floor/wood,
/area/syndicate_mothership)
+"OW" = (
+/obj/structure/bedsheetbin/towel,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/centcom/holding)
"OZ" = (
/obj/effect/turf_decal/delivery,
/turf/open/floor/plating,
/area/syndicate_mothership)
-"Pa" = (
-/obj/machinery/washing_machine,
-/turf/open/floor/plasteel/white,
+"Pc" = (
+/obj/structure/sink/kitchen{
+ desc = "A sink used for washing one's hands and face. It looks rusty and home-made";
+ name = "sink";
+ pixel_y = 28
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/obj/item/paper/guides/jobs/hydroponics,
+/obj/item/book/manual/hydroponics_pod_people,
+/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Pg" = (
/obj/machinery/light{
@@ -17059,12 +17087,6 @@
},
/turf/open/indestructible/boss/air,
/area/centcom/holding)
-"Pq" = (
-/obj/structure/urinal{
- pixel_y = 28
- },
-/turf/open/floor/plasteel/white,
-/area/centcom/holding)
"Pr" = (
/obj/structure/table,
/obj/item/book/manual/chef_recipes,
@@ -17088,12 +17110,6 @@
/obj/machinery/light/small,
/turf/open/floor/wood,
/area/syndicate_mothership)
-"Px" = (
-/obj/structure/mineral_door/paperframe{
- name = "Arcade"
- },
-/turf/open/floor/wood,
-/area/centcom/holding)
"PA" = (
/obj/structure/window/reinforced{
dir = 4
@@ -17158,6 +17174,11 @@
},
/turf/open/floor/plating,
/area/syndicate_mothership)
+"PQ" = (
+/obj/structure/closet/secure_closet,
+/obj/item/coin/silver,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"PS" = (
/obj/machinery/computer/shuttle/syndicate/recall,
/obj/effect/turf_decal/tile/bar,
@@ -17235,6 +17256,10 @@
"Qo" = (
/turf/open/floor/mineral/plastitanium/red,
/area/centcom/evac)
+"Qp" = (
+/obj/structure/bedsheetbin,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Qq" = (
/turf/open/floor/plasteel/freezer,
/area/syndicate_mothership)
@@ -17253,6 +17278,32 @@
},
/turf/open/floor/wood,
/area/centcom/holding)
+"Qw" = (
+/turf/open/floor/plasteel/freezer,
+/area/centcom/holding)
+"Qy" = (
+/obj/structure/closet/crate/bin,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
+"Qz" = (
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"QA" = (
/obj/machinery/deepfryer,
/turf/open/floor/plasteel/cafeteria,
@@ -17283,30 +17334,12 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"QH" = (
-/obj/machinery/chem_master/condimaster{
- desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments.";
- name = "BrewMaster 2199";
- pixel_x = -4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
+"QJ" = (
+/obj/structure/sign/barsign{
+ pixel_y = 32
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"QI" = (
-/obj/structure/toilet{
- dir = 4
- },
-/turf/open/floor/plasteel/white,
-/area/centcom/holding)
"QK" = (
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
@@ -17379,20 +17412,6 @@
},
/turf/open/floor/plating,
/area/syndicate_mothership)
-"Rd" = (
-/obj/machinery/light,
-/obj/effect/turf_decal/tile/green{
- dir = 1
- },
-/obj/effect/turf_decal/tile/green,
-/obj/effect/turf_decal/tile/green{
- dir = 4
- },
-/obj/effect/turf_decal/tile/green{
- dir = 8
- },
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Re" = (
/obj/structure/mineral_door/paperframe,
/turf/open/floor/wood,
@@ -17489,6 +17508,31 @@
},
/turf/open/floor/holofloor,
/area/holodeck/rec_center/basketball)
+"RK" = (
+/obj/structure/closet/crate/freezer/blood,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
+"RL" = (
+/obj/machinery/vending/cola,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"RN" = (
+/obj/structure/table,
+/obj/machinery/reagentgrinder,
+/obj/item/reagent_containers/glass/beaker/large,
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/obj/machinery/light,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"RO" = (
/obj/machinery/shower{
dir = 1
@@ -17579,6 +17623,13 @@
/obj/item/toy/nuke,
/turf/open/floor/wood,
/area/syndicate_mothership)
+"Sj" = (
+/obj/machinery/vending/autodrobe/all_access{
+ extended_inventory = 1
+ },
+/obj/machinery/light,
+/turf/open/floor/wood,
+/area/centcom/holding)
"So" = (
/obj/structure/chair/wood/wings{
dir = 4
@@ -17672,21 +17723,16 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/space/basic,
/area/centcom/supplypod)
+"SR" = (
+/obj/machinery/door/airlock/wood{
+ id_tag = "Ninja7";
+ name = "Dorm 7"
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"ST" = (
/turf/open/floor/mineral/titanium/blue,
/area/centcom/holding)
-"SU" = (
-/obj/structure/table/wood,
-/obj/item/camera/detective{
- desc = "A polaroid camera with extra capacity for social media marketing.";
- name = "Professional camera"
- },
-/obj/item/camera_film,
-/obj/item/wallframe/newscaster,
-/obj/item/paper_bin,
-/obj/item/pen/fountain,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"SV" = (
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
@@ -17720,10 +17766,6 @@
},
/turf/open/floor/wood,
/area/centcom/holding)
-"Tb" = (
-/obj/structure/closet/crate/freezer/blood,
-/turf/open/indestructible/hotelwood,
-/area/centcom/holding)
"Tc" = (
/obj/machinery/button/door{
id = "Ninja2";
@@ -17734,6 +17776,12 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
+"Tf" = (
+/obj/machinery/shower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/freezer,
+/area/centcom/holding)
"Tj" = (
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
@@ -17765,6 +17813,16 @@
/obj/structure/closet/chefcloset,
/turf/open/floor/plasteel/cafeteria,
/area/centcom/holding)
+"Tt" = (
+/obj/structure/toilet{
+ dir = 4
+ },
+/obj/structure/window/reinforced/tinted{
+ icon_state = "twindow";
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"Tu" = (
/obj/structure/flora/ausbushes/fernybush,
/obj/structure/flora/ausbushes/fullgrass,
@@ -17790,6 +17848,21 @@
/obj/item/clothing/head/helmet/space/plasmaman,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
+"Tx" = (
+/obj/machinery/plantgenes/seedvault,
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/obj/structure/table,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Tz" = (
/obj/effect/light_emitter,
/turf/open/floor/plating/asteroid/snow/airless,
@@ -17804,6 +17877,10 @@
/obj/structure/reagent_dispensers/cooking_oil,
/turf/open/floor/plasteel/cafeteria,
/area/centcom/holding)
+"TC" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/freezer,
+/area/centcom/holding)
"TF" = (
/obj/effect/turf_decal/tile/red{
dir = 8
@@ -17813,12 +17890,16 @@
},
/turf/open/floor/holofloor,
/area/holodeck/rec_center/basketball)
-"TK" = (
-/obj/structure/table/wood/bar,
-/obj/structure/mirror{
- pixel_y = 28
+"TG" = (
+/obj/machinery/light{
+ dir = 8
},
-/turf/open/indestructible/hotelwood,
+/obj/structure/window/reinforced/tinted{
+ icon_state = "twindow";
+ dir = 1
+ },
+/obj/machinery/washing_machine,
+/turf/open/floor/plasteel/white,
/area/centcom/holding)
"TM" = (
/mob/living/simple_animal/bot/medbot{
@@ -17845,12 +17926,19 @@
},
/turf/open/floor/plasteel/freezer,
/area/syndicate_mothership)
-"Ud" = (
-/obj/effect/landmark/holding_facility,
+"TY" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/item/soap,
+/obj/item/soap,
+/obj/item/soap,
+/obj/item/janiupgrade,
+/obj/vehicle/ridden/janicart,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"Uf" = (
-/obj/structure/closet/secure_closet,
+"Ud" = (
+/obj/effect/landmark/holding_facility,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"Ug" = (
@@ -17879,6 +17967,25 @@
},
/turf/open/floor/plasteel,
/area/syndicate_mothership)
+"Uk" = (
+/obj/structure/closet/crate,
+/obj/item/vending_refill/autodrobe,
+/obj/item/vending_refill/autodrobe,
+/obj/item/vending_refill/boozeomat,
+/obj/item/vending_refill/boozeomat,
+/obj/item/vending_refill/cigarette,
+/obj/item/vending_refill/cigarette,
+/obj/item/vending_refill/clothing,
+/obj/item/vending_refill/coffee,
+/obj/item/vending_refill/coffee,
+/obj/item/vending_refill/cola,
+/obj/item/vending_refill/cola,
+/obj/item/vending_refill/wallmed,
+/obj/item/vending_refill/wallmed,
+/obj/item/vending_refill/snack,
+/obj/item/vending_refill/snack,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Ul" = (
/obj/structure/table,
/obj/machinery/microwave{
@@ -17916,6 +18023,17 @@
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
+"Uq" = (
+/obj/structure/table/wood,
+/obj/item/soap,
+/obj/item/soap,
+/obj/item/soap,
+/obj/item/lightreplacer,
+/obj/item/lightreplacer,
+/obj/item/storage/bag/trash,
+/obj/item/storage/bag/trash,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Ur" = (
/turf/open/floor/carpet/royalblue,
/area/centcom/holding)
@@ -17940,6 +18058,11 @@
/obj/effect/light_emitter,
/turf/open/floor/plating/asteroid/snow/airless,
/area/syndicate_mothership)
+"Uz" = (
+/obj/structure/table,
+/obj/machinery/dish_drive,
+/turf/open/floor/plasteel/cafeteria,
+/area/centcom/holding)
"UC" = (
/obj/machinery/vending/cola,
/turf/open/floor/plasteel,
@@ -17949,6 +18072,9 @@
desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here.";
name = "Personal ID-Locked Closet"
},
+/obj/item/coin/silver,
+/obj/item/coin/silver,
+/obj/item/coin/silver,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
"UE" = (
@@ -17971,6 +18097,17 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod)
+"UN" = (
+/obj/structure/mirror{
+ pixel_y = 28
+ },
+/obj/structure/sink{
+ dir = 1;
+ pixel_y = 25
+ },
+/mob/living/simple_animal/bot/cleanbot,
+/turf/open/floor/mineral/titanium/blue,
+/area/centcom/holding)
"UO" = (
/obj/machinery/door/airlock/centcom{
name = "CentCom Security";
@@ -17994,6 +18131,10 @@
},
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/one)
+"US" = (
+/obj/machinery/gibber,
+/turf/open/floor/plasteel/cafeteria,
+/area/centcom/holding)
"UT" = (
/obj/structure/chair/wood/wings{
dir = 1
@@ -18061,13 +18202,6 @@
/obj/structure/window/reinforced/tinted,
/turf/open/floor/plasteel/freezer,
/area/syndicate_mothership)
-"Vm" = (
-/obj/machinery/gibber,
-/obj/machinery/light{
- dir = 1
- },
-/turf/open/floor/plasteel/cafeteria,
-/area/centcom/holding)
"Vt" = (
/obj/item/paper/fluff/stations/centcom/disk_memo,
/obj/structure/noticeboard{
@@ -18232,11 +18366,26 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
+"Wz" = (
+/obj/structure/table,
+/obj/item/storage/backpack/duffelbag/med/surgery,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"WC" = (
/obj/structure/table/reinforced,
/obj/item/pen,
/turf/open/floor/mineral/plastitanium/red,
/area/centcom/evac)
+"WD" = (
+/obj/structure/mopbucket,
+/obj/item/mop,
+/obj/structure/sink/kitchen{
+ desc = "A sink used for washing one's hands and face. It looks rusty and home-made";
+ name = "sink";
+ pixel_y = 28
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"WE" = (
/obj/machinery/vending/kink{
extended_inventory = 1
@@ -18321,6 +18470,13 @@
/obj/machinery/processor,
/turf/open/floor/plasteel/cafeteria,
/area/syndicate_mothership)
+"WY" = (
+/obj/machinery/vending/cigarette,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Xd" = (
/obj/structure/flora/ausbushes/fernybush,
/obj/structure/flora/ausbushes/fullgrass,
@@ -18332,6 +18488,19 @@
/obj/machinery/vending/autodrobe,
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
+"Xf" = (
+/obj/structure/table/wood/bar,
+/obj/structure/mirror{
+ pixel_y = 28
+ },
+/obj/item/lightreplacer,
+/obj/item/lightreplacer,
+/obj/item/lightreplacer,
+/obj/item/storage/bag/trash,
+/obj/item/storage/bag/trash,
+/obj/item/storage/bag/trash,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"Xg" = (
/obj/effect/turf_decal/tile/red{
dir = 4
@@ -18443,6 +18612,26 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
+"XS" = (
+/obj/structure/closet/secure_closet/hydroponics{
+ locked = 0
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/obj/item/seeds/ambrosia/gaia,
+/obj/item/seeds/ambrosia/gaia,
+/obj/item/seeds/pumpkin/blumpkin,
+/obj/item/seeds/pumpkin/blumpkin,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"XT" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/food/snacks/sashimi,
@@ -18515,6 +18704,10 @@
/obj/structure/dresser,
/turf/open/floor/plasteel/dark,
/area/syndicate_mothership)
+"Yj" = (
+/obj/structure/table/optable,
+/turf/open/floor/plasteel/white,
+/area/centcom/holding)
"Ym" = (
/obj/machinery/computer/arcade/orion_trail,
/turf/open/indestructible/hotelwood,
@@ -18580,11 +18773,6 @@
},
/turf/open/indestructible/hotelwood,
/area/centcom/holding)
-"YQ" = (
-/obj/structure/table,
-/obj/item/reagent_containers/glass/beaker,
-/turf/open/floor/plasteel/cafeteria,
-/area/centcom/holding)
"YU" = (
/obj/structure/window/reinforced{
dir = 1
@@ -18636,12 +18824,6 @@
/obj/machinery/light,
/turf/open/floor/plasteel/dark,
/area/syndicate_mothership)
-"Zu" = (
-/obj/machinery/vending/autodrobe/all_access{
- extended_inventory = 1
- },
-/turf/open/floor/wood,
-/area/centcom/holding)
"Zw" = (
/obj/structure/bed,
/obj/item/bedsheet/syndie,
@@ -18705,6 +18887,30 @@
},
/turf/open/floor/mineral/plastitanium/red,
/area/syndicate_mothership)
+"ZL" = (
+/obj/structure/closet,
+/obj/item/stack/sheet/mineral/wood/fifty,
+/obj/item/stack/tile/wood{
+ amount = 24
+ },
+/obj/item/stack/tile/carpet/black/fifty,
+/obj/item/stack/tile/carpet/blackred/fifty,
+/obj/item/stack/tile/carpet/blue/fifty,
+/obj/item/stack/tile/carpet/cyan/fifty,
+/obj/item/stack/tile/carpet/fifty,
+/obj/item/stack/tile/carpet/green/fifty,
+/obj/item/stack/tile/carpet/monochrome/fifty,
+/obj/item/stack/tile/carpet/orange/fifty,
+/obj/item/stack/tile/carpet/purple/fifty,
+/obj/item/stack/tile/carpet/red/fifty,
+/obj/item/stack/tile/carpet/royalblack/fifty,
+/obj/item/stack/tile/carpet/royalblue/fifty,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
+"ZN" = (
+/obj/machinery/vending/snack,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"ZP" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -18717,6 +18923,10 @@
"ZQ" = (
/turf/open/floor/plasteel,
/area/centcom/supplypod/loading/two)
+"ZR" = (
+/obj/structure/bed/dogbed,
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
"ZT" = (
/mob/living/simple_animal/cow,
/turf/open/floor/grass,
@@ -18752,6 +18962,27 @@
},
/turf/open/floor/plasteel,
/area/centcom/supply)
+"ZZ" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/green,
+/obj/effect/turf_decal/tile/green{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/green{
+ dir = 8
+ },
+/obj/machinery/chem_master/condimaster{
+ desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments.";
+ name = "BrewMaster 2199";
+ pixel_x = -4
+ },
+/turf/open/indestructible/hotelwood,
+/area/centcom/holding)
(1,1,1) = {"
aa
@@ -42833,8 +43064,6 @@ aa
aa
aa
aa
-aa
-aa
Nd
Nd
Nd
@@ -42872,13 +43101,15 @@ Nd
Nd
Nd
Nd
-aa
Nd
Nd
Nd
Nd
Nd
-aa
+Nd
+Nd
+Nd
+Nd
aa
aa
aa
@@ -43090,19 +43321,19 @@ aa
aa
aa
aa
-aa
-aa
Nd
-PO
+SW
PO
PO
Sw
PO
PO
PO
+PO
Nd
-QI
-VA
+Tt
+Tt
+TG
Op
Nd
Rm
@@ -43116,27 +43347,27 @@ NT
UV
CV
Sd
-NT
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
+Nd
+OW
+Ln
+Nd
+Lm
+Lm
+Lm
+Nd
+PQ
Sd
+ZR
+Nd
+RL
+Yo
+Uq
Nd
VL
Ww
-Sd
+NN
Nd
aa
-Nd
-Uf
-Sd
-Sd
-Nd
-aa
-aa
aa
aa
aa
@@ -43347,10 +43578,9 @@ aa
aa
aa
aa
-aa
-aa
Nd
-HQ
+Pc
+PY
PY
PY
PY
@@ -43358,7 +43588,8 @@ PY
PY
PY
Nd
-Pq
+ZW
+ZW
ZW
ZW
Za
@@ -43373,26 +43604,26 @@ NT
RQ
Sd
Sd
-NT
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
-Sd
Nd
-Gs
-Sd
-HH
+UN
+ST
Nd
-aa
+zS
+Qw
+TC
Nd
MJ
Sd
Sd
Nd
-aa
+AE
+Sd
+Ph
+Nd
+Gs
+Sd
+HH
+Nd
aa
aa
aa
@@ -43604,18 +43835,18 @@ aa
aa
aa
aa
-aa
-aa
Nd
-Mu
-QH
-Bo
-vs
-Rj
-PI
-Rd
+ZZ
+PY
+PY
+PY
+PY
+PY
+PY
+RN
Nd
-Pa
+SB
+ZW
ZW
ZW
Nd
@@ -43630,26 +43861,26 @@ NT
UV
CV
Sd
-NT
-Sd
-MR
-Sd
-Sd
-Sd
-MR
-Sd
Nd
-Sd
-Sd
-Sd
+Ot
+ST
Nd
-aa
+Tf
+Qw
+Tf
Nd
ma
Sd
Sd
Nd
-aa
+ZN
+Sd
+Sd
+Nd
+ZL
+Sd
+Lr
+Nd
aa
aa
aa
@@ -43861,19 +44092,19 @@ aa
aa
aa
aa
-aa
-aa
Nd
+PI
PY
PY
PY
PY
PY
PY
-PY
+Rj
Nd
SB
-ZW
+NE
+Fl
Nw
Nd
Sd
@@ -43884,29 +44115,29 @@ Sd
Tu
Vu
Nd
-Gs
+hH
Sd
Sd
Nd
Nd
+Wl
Nd
Nd
-Px
-Nd
-Nd
-Nd
-Nd
-Nd
-Ox
-Nd
-Nd
+Wl
Nd
Nd
Nd
yS
Nd
Nd
-aa
+WD
+Sd
+HH
+Nd
+Nd
+Ox
+Nd
+Nd
aa
aa
aa
@@ -44118,16 +44349,16 @@ aa
aa
aa
aa
-aa
-aa
Nd
-pE
-NJ
-SW
+Tx
+PY
+PY
PY
Um
-Nn
+XS
PY
+vs
+Nd
Nd
Nd
Nd
@@ -44146,19 +44377,20 @@ CV
Sd
NT
Sd
-Yo
Sd
Sd
Sd
-Yo
+Sd
Sd
Nd
Sd
Sd
-Yo
Sd
Sd
-Yo
+Sd
+Sd
+Sd
+Sd
Sd
Sd
WE
@@ -44168,7 +44400,6 @@ aa
aa
aa
aa
-aa
KK
KN
KS
@@ -44375,8 +44606,6 @@ aa
aa
aa
aa
-aa
-aa
Nd
Nd
Nd
@@ -44386,6 +44615,8 @@ Nd
Nd
py
Nd
+Nd
+Yh
Sd
Yo
Sd
@@ -44408,7 +44639,6 @@ Sd
Sd
Sd
Sd
-Sd
Qu
Sd
Sd
@@ -44418,14 +44648,15 @@ Sd
Sd
Sd
Sd
-Zu
+Sd
+Sd
+Sj
Nd
aa
aa
aa
aa
aa
-aa
KH
KH
KS
@@ -44632,18 +44863,18 @@ aa
aa
aa
aa
-aa
-aa
Nd
-PL
+Lr
Sd
Yo
Sd
Sd
Sd
Sd
-Yh
Sd
+Sd
+Sd
+Nd
Nd
Nd
Nd
@@ -44663,7 +44894,6 @@ Sd
MR
Sd
Sd
-Sd
MR
Sd
Nd
@@ -44675,6 +44905,8 @@ Sd
Sd
Sd
Sd
+Sd
+Sd
PM
Nd
aa
@@ -44683,7 +44915,6 @@ aa
aa
aa
aa
-aa
KH
KU
Lb
@@ -44889,19 +45120,19 @@ aa
aa
aa
aa
-aa
-aa
Nd
Tq
Sd
MG
YN
Nd
-Vm
+US
+Fh
Fh
zV
Nd
Nd
+Hj
Fa
KT
Sd
@@ -44928,6 +45159,7 @@ Nd
Nd
Nd
Rq
+Sd
HH
Nd
Nd
@@ -44939,7 +45171,6 @@ aa
aa
aa
aa
-aa
KL
KO
KV
@@ -45146,19 +45377,19 @@ aa
aa
aa
aa
-aa
-aa
Nd
-Nf
+ZL
Sd
Rh
Mm
Nd
-MT
+Nx
+Fh
Fh
Yu
Nd
-Fb
+AE
+CV
Sd
KT
Sd
@@ -45186,9 +45417,10 @@ SY
Nd
Sd
Sd
+Sd
Nd
SY
-Ri
+Os
UD
Nd
aa
@@ -45197,7 +45429,6 @@ aa
aa
aa
aa
-aa
KH
KW
Lb
@@ -45403,19 +45634,19 @@ aa
aa
aa
aa
-aa
-aa
Nd
+ZN
Sd
-Sd
-Rh
+yW
ZT
Nd
Pr
Fh
+Fh
QW
Nd
-Fc
+QJ
+Sd
Sd
KT
Sd
@@ -45437,16 +45668,17 @@ Sd
Sd
Sd
Nd
-Gs
+Sd
Sd
Sd
lS
Sd
Sd
+Sd
RP
Sd
Sd
-HH
+Sd
Nd
aa
aa
@@ -45454,7 +45686,6 @@ aa
aa
aa
aa
-aa
KP
KX
Lb
@@ -45660,8 +45891,6 @@ aa
aa
aa
aa
-aa
-aa
Nd
Nd
XL
@@ -45670,9 +45899,11 @@ Nd
Nd
JE
Fh
-YQ
+Fh
+Vv
Nd
-MR
+Sd
+Sd
Sd
FW
Sd
@@ -45700,6 +45931,7 @@ Ya
Nd
Sd
Sd
+Sd
Nd
XD
Sd
@@ -45711,7 +45943,6 @@ aa
aa
aa
aa
-aa
KH
KY
Lb
@@ -45917,19 +46148,19 @@ aa
aa
aa
aa
-aa
-aa
Nd
-yM
+NZ
Sd
Yo
-Sd
+PL
Nd
SG
Fh
-Vv
-Nd
-Nd
+Fh
+Fh
+Wl
+Sd
+MR
Sd
FX
Sd
@@ -45957,6 +46188,7 @@ Nd
Nd
Sd
Sd
+Sd
Nd
Nd
Nd
@@ -45967,7 +46199,6 @@ aa
aa
aa
aa
-aa
KM
KO
KV
@@ -46174,18 +46405,18 @@ aa
aa
aa
aa
-aa
-aa
Nd
OG
Sd
Sd
-Sd
+Tq
Nd
zX
Fh
-pS
+Fh
+JV
Nd
+Dl
Nd
Nd
Nd
@@ -46214,9 +46445,10 @@ SY
Nd
Sd
Sd
+Sd
Nd
SY
-Ri
+Os
UD
Nd
aa
@@ -46225,7 +46457,6 @@ aa
aa
aa
aa
-aa
KH
KU
Lb
@@ -46431,18 +46662,18 @@ aa
aa
aa
aa
-aa
-aa
Nd
-TK
-Sd
+Xf
Sd
Sd
+Nf
Nd
QA
Fh
-Nv
+Fh
+Uz
ED
+Sd
Yo
Yf
UE
@@ -46454,7 +46685,7 @@ Sd
Sd
Tn
NT
-Ro
+Sd
Ud
Ud
NT
@@ -46465,23 +46696,23 @@ zT
MM
TM
Nd
-Gs
+Sd
Sd
Sd
uh
Sd
Sd
+Sd
zW
Sd
Sd
-HH
+Sd
Nd
aa
aa
aa
aa
aa
-aa
KH
KH
KS
@@ -46688,19 +46919,19 @@ aa
aa
aa
aa
-aa
-aa
Nd
YL
Sd
Sd
-Sd
+Uk
Nd
Xo
Fh
Fh
+Fh
py
Sd
+Sd
SY
UE
Sd
@@ -46711,7 +46942,7 @@ Sd
Sd
GY
NT
-Tw
+Sd
Ud
Ud
NT
@@ -46728,6 +46959,7 @@ Tc
Nd
Sd
Sd
+Sd
Nd
AC
Sd
@@ -46738,7 +46970,6 @@ aa
aa
aa
aa
-aa
KI
KN
KS
@@ -46945,19 +47176,19 @@ aa
aa
aa
aa
-aa
-aa
Nd
Xe
Sd
Sd
-Sd
+ZL
Nd
TB
Fh
Fh
+Fh
BV
Sd
+Sd
XT
UE
Sd
@@ -46984,6 +47215,7 @@ Nd
Nd
Nd
Rq
+Sd
HH
Nd
Nd
@@ -46995,7 +47227,6 @@ aa
aa
aa
aa
-aa
KJ
KN
KZ
@@ -47202,19 +47433,19 @@ aa
aa
aa
aa
-aa
-aa
Nd
-Gs
+TY
Sd
Sd
Sd
Nd
Vz
Fh
+Fh
YJ
QT
Sd
+Sd
SY
UE
Sd
@@ -47242,6 +47473,7 @@ YO
Nd
Sd
Sd
+Sd
Nd
RX
Xw
@@ -47252,7 +47484,6 @@ aa
aa
aa
aa
-aa
KK
KN
KQ
@@ -47459,8 +47690,6 @@ aa
aa
aa
aa
-aa
-aa
Nd
Bs
Ri
@@ -47470,8 +47699,10 @@ XL
Fh
Fh
Fh
+Fh
XL
Sd
+Sd
XX
UE
Sd
@@ -47499,6 +47730,7 @@ Sd
SZ
Sd
Sd
+Sd
Ws
Sd
Sd
@@ -47509,7 +47741,6 @@ aa
aa
aa
aa
-aa
KH
KH
KH
@@ -47716,22 +47947,22 @@ aa
aa
aa
aa
-aa
-aa
Nd
-SU
+Hk
Sd
MR
-Nm
+Mz
Nd
SN
pV
+pV
Tr
Nd
-Fj
+WY
+Ph
Nd
Nd
-Fi
+Rm
Tn
UT
Hm
@@ -47739,14 +47970,14 @@ Sd
Sd
GY
NT
-Sd
+Tw
Ms
-Sd
+Ro
NT
vt
Mx
-ND
-Tb
+Sd
+Sd
Uh
tW
Nd
@@ -47755,11 +47986,12 @@ Of
QF
Nd
Sd
-sa
+Sd
+Sd
Nd
WN
Ur
-wj
+Ki
Nd
aa
aa
@@ -47792,7 +48024,6 @@ aa
aa
aa
aa
-aa
"}
(114,1,1) = {"
aa
@@ -47973,8 +48204,6 @@ aa
aa
aa
aa
-aa
-aa
Nd
Nd
Nd
@@ -48004,6 +48233,8 @@ Nd
Nd
Nd
Nd
+Sd
+Sd
Nd
Nd
Nd
@@ -48011,8 +48242,9 @@ Kf
WV
Sd
Nd
-Nd
-Nd
+sa
+Sd
+Sd
Nd
Sd
zY
@@ -48049,7 +48281,6 @@ aa
aa
aa
aa
-aa
"}
(115,1,1) = {"
aa
@@ -48256,20 +48487,21 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+Nd
+vv
+VA
+ZW
+ZW
+px
+Lk
Nd
Nd
Nd
QC
Nd
-aa
-aa
+Nd
+SR
+Nd
Nd
QC
Nd
@@ -48306,7 +48538,6 @@ aa
aa
aa
aa
-aa
"}
(116,1,1) = {"
aa
@@ -48513,20 +48744,21 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+Nd
+sf
+ZW
+ZW
+ZW
+ZW
+OT
Nd
Ln
ST
ST
Nd
-aa
-aa
+Qp
+Sd
+Nt
Nd
ST
ST
@@ -48563,7 +48795,6 @@ aa
aa
aa
aa
-aa
"}
(117,1,1) = {"
aa
@@ -48770,20 +49001,21 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+Nd
+Bq
+RK
+Qy
+Yj
+ZW
+Wz
Nd
xO
QN
ZE
Nd
-aa
-aa
+Qp
+Qz
+Nt
Nd
ZE
QN
@@ -48820,7 +49052,6 @@ aa
aa
aa
aa
-aa
"}
(118,1,1) = {"
aa
@@ -49027,26 +49258,26 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
Nd
Nd
Nd
Nd
Nd
-aa
-aa
Nd
Nd
Nd
Nd
Nd
-aa
+Nd
+Nd
+Nd
+Nd
+Nd
+Nd
+Nd
+Nd
+Nd
+Nd
aa
aa
aa
diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm
index 456582c6a5..28554dbd99 100644
--- a/code/__DEFINES/atmospherics.dm
+++ b/code/__DEFINES/atmospherics.dm
@@ -254,6 +254,18 @@
#define PIPING_CARDINAL_AUTONORMALIZE (1<<3) //north/south east/west doesn't matter, auto normalize on build.
//HELPERS
+#define PIPING_LAYER_SHIFT(T, PipingLayer) \
+ if(T.dir & NORTH || T.dir & SOUTH) { \
+ T.pixel_x = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X;\
+ } \
+ if(T.dir & WEST || T.dir & EAST) { \
+ T.pixel_y = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y;\
+ }
+
+#define PIPING_LAYER_DOUBLE_SHIFT(T, PipingLayer) \
+ T.pixel_x = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X;\
+ T.pixel_y = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y;
+
#define THERMAL_ENERGY(gas) (gas.temperature * gas.heat_capacity())
#define QUANTIZE(variable) (round(variable,0.0000001))/*I feel the need to document what happens here. Basically this is used to catch most rounding errors, however it's previous value made it so that
once gases got hot enough, most procedures wouldnt occur due to the fact that the mole counts would get rounded away. Thus, we lowered it a few orders of magnititude */
diff --git a/code/datums/ruins/station.dm b/code/datums/ruins/station.dm
index e637b6178f..dcab384db9 100644
--- a/code/datums/ruins/station.dm
+++ b/code/datums/ruins/station.dm
@@ -34,3 +34,10 @@
id = "engine_tesla"
suffix = "Box/Engine/engine_tesla.dmm"
name = "Box Tesla"
+
+// Lavaland
+ // Mining Base
+/datum/map_template/ruin/station/lavaland/mining_base
+ id = "mining_public_01"
+ suffix = "Lavaland/Mining_Station/Mining_Station_Public_01.dmm"
+ name = "Public Mining Base"
\ No newline at end of file
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index 96487915dd..a238c4a451 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -181,6 +181,9 @@
if(component_check)
P.play_tool_sound(src)
var/obj/machinery/new_machine = new circuit.build_path(loc)
+ if(new_machine.circuit)
+ QDEL_NULL(new_machine.circuit)
+ new_machine.circuit = circuit
new_machine.setAnchored(anchored)
new_machine.on_construction()
for(var/obj/O in new_machine.component_parts)
@@ -189,9 +192,6 @@
for(var/obj/O in src)
O.moveToNullspace()
new_machine.component_parts += O
- if(new_machine.circuit)
- QDEL_NULL(new_machine.circuit)
- new_machine.circuit = circuit
circuit.moveToNullspace()
new_machine.RefreshParts()
qdel(src)
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index b8c537a4fc..937e3909b0 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -75,8 +75,7 @@ Buildable meters
new_layer = PIPING_LAYER_DEFAULT
piping_layer = new_layer
- pixel_x += (piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X
- pixel_y += (piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y
+ PIPING_LAYER_SHIFT(src, piping_layer)
layer = initial(layer) + ((piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_LCHANGE)
/obj/item/pipe/proc/update()
@@ -232,5 +231,4 @@ Buildable meters
/obj/item/pipe_meter/proc/setAttachLayer(new_layer = PIPING_LAYER_DEFAULT)
piping_layer = new_layer
- pixel_x = (new_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X
- pixel_y = (new_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y
+ PIPING_LAYER_DOUBLE_SHIFT(src, piping_layer)
diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm
index 3ef89c4b96..8f09827bd2 100644
--- a/code/game/objects/effects/landmarks.dm
+++ b/code/game/objects/effects/landmarks.dm
@@ -481,3 +481,8 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player)
/obj/effect/landmark/stationroom/box/engine/New()
. = ..()
templates = CONFIG_GET(keyed_list/box_random_engine)
+
+// Landmark for the mining station
+/obj/effect/landmark/stationroom/lavaland/station
+ templates = list("Public Mining Base" = 3)
+ icon = 'icons/rooms/Lavaland/Mining.dmi'
\ No newline at end of file
diff --git a/code/game/objects/effects/temporary_visuals/projectiles/impact.dm b/code/game/objects/effects/temporary_visuals/projectiles/impact.dm
index 0360c4ccc2..a98c40d4fc 100644
--- a/code/game/objects/effects/temporary_visuals/projectiles/impact.dm
+++ b/code/game/objects/effects/temporary_visuals/projectiles/impact.dm
@@ -39,4 +39,8 @@
/obj/effect/projectile/impact/laser/wavemotion
name = "particle impact"
- icon_state = "impact_wavemotion"
\ No newline at end of file
+ icon_state = "impact_wavemotion"
+
+/obj/effect/projectile/impact/laser/emitter
+ name = "emitter impact"
+ icon_state = "impact_emitter"
diff --git a/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm b/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm
index cbd4b21d39..a7ff399734 100644
--- a/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm
+++ b/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm
@@ -31,4 +31,8 @@
/obj/effect/projectile/muzzle/laser/wavemotion
name = "particle backblast"
- icon_state = "muzzle_wavemotion"
\ No newline at end of file
+ icon_state = "muzzle_wavemotion"
+
+/obj/effect/projectile/muzzle/laser/emitter
+ name = "emitter flash"
+ icon_state = "muzzle_emitter"
diff --git a/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm b/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm
index 0cd4589d4c..bd2c6c6e87 100644
--- a/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm
+++ b/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm
@@ -70,3 +70,7 @@
/obj/effect/projectile/tracer/laser/wavemotion
name = "particle trail"
icon_state = "tracer_wavemotion"
+
+/obj/effect/projectile/tracer/laser/emitter
+ name = "emitter beam"
+ icon_state = "emitter"
diff --git a/code/game/objects/items/RPD.dm b/code/game/objects/items/RPD.dm
index e6e39d3ff1..8df1ae49de 100644
--- a/code/game/objects/items/RPD.dm
+++ b/code/game/objects/items/RPD.dm
@@ -329,7 +329,8 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
playsound(get_turf(src), 'sound/effects/pop.ogg', 50, 0)
/obj/item/pipe_dispenser/pre_attack(atom/A, mob/user)
- if(!user.IsAdvancedToolUser() || istype(A, /turf/open/space/transit))
+ var/turf/T = get_turf(A)
+ if(!user.IsAdvancedToolUser() || !T || istype(T, /turf/open/space/transit) || isindestructiblewall(T))
return ..()
//So that changing the menu settings doesn't affect the pipes already being built.
@@ -376,12 +377,16 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
if(ATMOS_CATEGORY) //Making pipes
if(!can_make_pipe)
return ..()
+ A = T
+ if(is_type_in_typecache(recipe, GLOB.ventcrawl_machinery) && isclosedturf(A)) //wall escapism sanity check.
+ to_chat(user, "[src]'s error light flickers; there's something in the way!")
+ return
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if (recipe.type == /datum/pipe_info/meter)
to_chat(user, "You start building a meter...")
if(do_after(user, atmos_build_speed, target = A))
activate()
- var/obj/item/pipe_meter/PM = new /obj/item/pipe_meter(get_turf(A))
+ var/obj/item/pipe_meter/PM = new /obj/item/pipe_meter(A)
PM.setAttachLayer(piping_layer)
if(mode&WRENCH_MODE)
PM.wrench_act(user, src)
@@ -391,7 +396,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
activate()
var/obj/machinery/atmospherics/path = queued_p_type
var/pipe_item_type = initial(path.construction_type) || /obj/item/pipe
- var/obj/item/pipe/P = new pipe_item_type(get_turf(A), queued_p_type, queued_p_dir)
+ var/obj/item/pipe/P = new pipe_item_type(A, queued_p_type, queued_p_dir)
if(queued_p_flipped && istype(P, /obj/item/pipe/trinary/flippable))
var/obj/item/pipe/trinary/flippable/F = P
@@ -408,7 +413,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
if(DISPOSALS_CATEGORY) //Making disposals pipes
if(!can_make_pipe)
return ..()
- A = get_turf(A)
+ A = T
if(isclosedturf(A))
to_chat(user, "[src]'s error light flickers; there's something in the way!")
return
@@ -433,7 +438,7 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
if(TRANSIT_CATEGORY) //Making transit tubes
if(!can_make_pipe)
return ..()
- A = get_turf(A)
+ A = T
if(isclosedturf(A))
to_chat(user, "[src]'s error light flickers; there's something in the way!")
return
diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm
index 3e4a8743da..5621a946bb 100644
--- a/code/game/objects/items/circuitboards/machine_circuitboards.dm
+++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm
@@ -308,6 +308,7 @@
/obj/item/circuitboard/machine/thermomachine
name = "Thermomachine (Machine Board)"
desc = "You can use a screwdriver to switch between heater and freezer."
+ var/pipe_layer = PIPING_LAYER_DEFAULT
req_components = list(
/obj/item/stock_parts/matter_bin = 2,
/obj/item/stock_parts/micro_laser = 2,
@@ -342,8 +343,18 @@
build_path = initial(new_type.build_path)
I.play_tool_sound(src)
to_chat(user, "You change the circuitboard setting to \"[new_setting]\".")
- else
- return ..()
+ return
+
+ if(I.tool_behaviour == TOOL_MULTITOOL)
+ pipe_layer = (pipe_layer >= PIPING_LAYER_MAX) ? PIPING_LAYER_MIN : (pipe_layer + 1)
+ to_chat(user, "You change the circuitboard to layer [pipe_layer].")
+ return
+
+ . = ..()
+
+/obj/item/circuitboard/machine/thermomachine/examine()
+ . = ..()
+ . += "It is set to layer [pipe_layer]."
/obj/item/circuitboard/machine/thermomachine/heater
name = "Heater (Machine Board)"
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index a33ae9c4a9..f6bff2f880 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -26,6 +26,7 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \
grind_results = list(/datum/reagent/silicon = 20)
point_value = 1
tableVariant = /obj/structure/table/glass
+ shard_type = /obj/item/shard
/obj/item/stack/sheet/glass/suicide_act(mob/living/carbon/user)
user.visible_message("[user] begins to slice [user.p_their()] neck with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")
@@ -93,6 +94,7 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \
merge_type = /obj/item/stack/sheet/plasmaglass
grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10)
tableVariant = /obj/structure/table/plasmaglass
+ shard_type = /obj/item/shard/plasma
/obj/item/stack/sheet/plasmaglass/fifty
amount = 50
@@ -120,7 +122,9 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \
else
return ..()
-
+/obj/item/stack/sheet/plasmaglass/on_solar_construction(obj/machinery/power/solar/S)
+ S.obj_integrity *= 1.2
+ S.efficiency *= 1.2
/*
* Reinforced glass sheets
@@ -145,11 +149,15 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \
merge_type = /obj/item/stack/sheet/rglass
grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/iron = 10)
point_value = 4
+ shard_type = /obj/item/shard
/obj/item/stack/sheet/rglass/attackby(obj/item/W, mob/user, params)
add_fingerprint(user)
..()
+/obj/item/stack/sheet/rglass/on_solar_construction(obj/machinery/power/solar/S)
+ S.obj_integrity *= 2
+
/obj/item/stack/sheet/rglass/cyborg
materials = list()
var/datum/robot_energy_storage/glasource
@@ -188,6 +196,11 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \
merge_type = /obj/item/stack/sheet/plasmarglass
grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10, /datum/reagent/iron = 10)
point_value = 23
+ shard_type = /obj/item/shard/plasma
+
+/obj/item/stack/sheet/plasmarglass/on_solar_construction(obj/machinery/power/solar/S)
+ S.obj_integrity *= 2.2
+ S.efficiency *= 1.2
/obj/item/stack/sheet/plasmarglass/Initialize(mapload, new_amount, merge = TRUE)
recipes = GLOB.prglass_recipes
@@ -207,6 +220,11 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list(
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100)
resistance_flags = ACID_PROOF
merge_type = /obj/item/stack/sheet/titaniumglass
+ shard_type = /obj/item/shard
+
+/obj/item/stack/sheet/titaniumglass/on_solar_construction(obj/machinery/power/solar/S)
+ S.obj_integrity *= 2.5
+ S.efficiency *= 1.5
/obj/item/stack/sheet/titaniumglass/Initialize(mapload, new_amount, merge = TRUE)
recipes = GLOB.titaniumglass_recipes
@@ -226,11 +244,16 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list(
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100)
resistance_flags = ACID_PROOF
merge_type = /obj/item/stack/sheet/plastitaniumglass
+ shard_type = /obj/item/shard
/obj/item/stack/sheet/plastitaniumglass/Initialize(mapload, new_amount, merge = TRUE)
recipes = GLOB.plastitaniumglass_recipes
return ..()
+/obj/item/stack/sheet/titaniumglass/on_solar_construction(obj/machinery/power/solar/S)
+ S.obj_integrity *= 2
+ S.efficiency *= 2
+
/obj/item/shard
name = "shard"
desc = "A nasty looking shard of glass."
diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm
index af0dca02d3..b7ab760659 100644
--- a/code/game/objects/items/stacks/sheets/sheets.dm
+++ b/code/game/objects/items/stacks/sheets/sheets.dm
@@ -15,4 +15,15 @@
var/point_value = 0 //turn-in value for the gulag stacker - loosely relative to its rarity
var/is_fabric = FALSE //is this a valid material for the loom?
var/loom_result //result from pulling on the loom
- var/pull_effort = 0 //amount of delay when pulling on the loom
\ No newline at end of file
+ var/pull_effort = 0 //amount of delay when pulling on the loom
+ var/shard_type // the shard debris typepath left over by solar panels and windows etc.
+
+/**
+ * Called on the glass sheet upon solar construction (duh):
+ * Different glass sheets can modify different stas/vars, such as obj_integrity or efficiency
+ * and possibly extra effects if you wish to code them.
+ * Keep in mind the solars' max_integrity is set equal to the obj_integrity later,
+ * so you won't have to do so here.
+ */
+/obj/item/stack/sheet/proc/on_solar_construction(/obj/machinery/power/solar/S)
+ return
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 58588c5693..14a7e445c1 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -15,7 +15,8 @@
var/decon_speed = 30
var/wtype = "glass"
var/fulltile = FALSE
- var/glass_type = /obj/item/stack/sheet/glass
+ var/obj/item/stack/sheet/glass_type = /obj/item/stack/sheet/glass
+ var/cleanable_type = /obj/effect/decal/cleanable/glass
var/glass_amount = 1
var/mutable_appearance/crack_overlay
can_be_unanchored = TRUE
@@ -277,12 +278,15 @@
/obj/structure/window/proc/spawnDebris(location)
. = list()
- . += new /obj/item/shard(location)
- . += new /obj/effect/decal/cleanable/glass(location)
+ var/shard = initial(glass_type.shard_type)
+ if(shard)
+ . += new shard(location)
+ if (fulltile)
+ . += new shard(location)
+ if(cleanable_type)
+ . += new cleanable_type(location)
if (reinf)
. += new /obj/item/stack/rods(location, (fulltile ? 2 : 1))
- if (fulltile)
- . += new /obj/item/shard(location)
/obj/structure/window/proc/can_be_rotated(mob/user,rotation_type)
if (get_dist(src,user) > 1)
@@ -416,17 +420,9 @@
max_integrity = 150
explosion_block = 1
glass_type = /obj/item/stack/sheet/plasmaglass
+ cleanable_type = /obj/effect/decal/cleanable/glass/plasma
rad_insulation = RAD_NO_INSULATION
-/obj/structure/window/plasma/spawnDebris(location)
- . = list()
- . += new /obj/item/shard/plasma(location)
- . += new /obj/effect/decal/cleanable/glass/plasma(location)
- if (reinf)
- . += new /obj/item/stack/rods(location, (fulltile ? 2 : 1))
- if (fulltile)
- . += new /obj/item/shard/plasma(location)
-
/obj/structure/window/plasma/spawner/east
dir = EAST
@@ -662,11 +658,6 @@
level = 3
glass_amount = 2
-/obj/structure/window/reinforced/clockwork/spawnDebris(location)
- . = list()
- for(var/i in 1 to 4)
- . += new /obj/item/clockwork/alloy_shards/medium/gear_bit(location)
-
/obj/structure/window/reinforced/clockwork/Initialize(mapload, direct)
made_glow = TRUE
new /obj/effect/temp_visual/ratvar/window(get_turf(src))
diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm
index e01156ba44..5bc04173b9 100644
--- a/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm
+++ b/code/modules/antagonists/clockcult/clock_items/clockwork_armor.dm
@@ -70,6 +70,7 @@
resistance_flags = FIRE_PROOF | ACID_PROOF
armor = list("melee" = 60, "bullet" = 70, "laser" = -25, "energy" = 0, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
allowed = list(/obj/item/clockwork, /obj/item/clothing/glasses/wraith_spectacles, /obj/item/clothing/glasses/judicial_visor, /obj/item/mmi/posibrain/soul_vessel, /obj/item/reagent_containers/food/drinks/bottle/holyoil)
+ mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC
/obj/item/clothing/suit/armor/clockwork/Initialize()
. = ..()
diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm
index 7edea275b6..0904808f51 100644
--- a/code/modules/atmospherics/machinery/atmosmachinery.dm
+++ b/code/modules/atmospherics/machinery/atmosmachinery.dm
@@ -1,14 +1,12 @@
-/*
-Quick overview:
+// Quick overview:
+//
+// Pipes combine to form pipelines
+// Pipelines and other atmospheric objects combine to form pipe_networks
+// Note: A single pipe_network represents a completely open space
+//
+// Pipes -> Pipelines
+// Pipelines + Other Objects -> Pipe network
-Pipes combine to form pipelines
-Pipelines and other atmospheric objects combine to form pipe_networks
- Note: A single pipe_network represents a completely open space
-
-Pipes -> Pipelines
-Pipelines + Other Objects -> Pipe network
-
-*/
#define PIPE_VISIBLE_LEVEL 2
#define PIPE_HIDDEN_LEVEL 1
@@ -101,13 +99,14 @@ Pipelines + Other Objects -> Pipe network
return node_connects
/obj/machinery/atmospherics/proc/normalize_cardinal_directions()
- if(dir==SOUTH)
- setDir(NORTH)
- else if(dir==WEST)
- setDir(EAST)
+ switch(dir)
+ if(SOUTH)
+ setDir(NORTH)
+ if(WEST)
+ setDir(EAST)
//this is called just after the air controller sets up turfs
-/obj/machinery/atmospherics/proc/atmosinit(var/list/node_connects)
+/obj/machinery/atmospherics/proc/atmosinit(list/node_connects)
if(!node_connects) //for pipes where order of nodes doesn't matter
node_connects = getNodeConnects()
@@ -119,12 +118,8 @@ Pipelines + Other Objects -> Pipe network
update_icon()
/obj/machinery/atmospherics/proc/setPipingLayer(new_layer)
- if(pipe_flags & PIPING_DEFAULT_LAYER_ONLY)
- new_layer = PIPING_LAYER_DEFAULT
- piping_layer = new_layer
- pixel_x = (piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X
- pixel_y = (piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y
- layer = initial(layer) + ((piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_LCHANGE)
+ piping_layer = (pipe_flags & PIPING_DEFAULT_LAYER_ONLY) ? PIPING_LAYER_DEFAULT : new_layer
+ update_icon()
/obj/machinery/atmospherics/proc/can_be_node(obj/machinery/atmospherics/target, iteration)
return connection_check(target, piping_layer)
@@ -176,9 +171,6 @@ Pipelines + Other Objects -> Pipe network
nodes[nodes.Find(reference)] = null
update_icon()
-/obj/machinery/atmospherics/update_icon()
- return
-
/obj/machinery/atmospherics/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/pipe)) //lets you autodrop
var/obj/item/pipe/pipe = W
@@ -235,15 +227,13 @@ Pipelines + Other Objects -> Pipe network
var/datum/gas_mixture/env_air = loc.return_air()
pressures = int_air.return_pressure() - env_air.return_pressure()
- var/fuck_you_dir = get_dir(src, user) // Because fuck you...
- if(!fuck_you_dir)
- fuck_you_dir = pick(GLOB.cardinals)
- var/turf/target = get_edge_target_turf(user, fuck_you_dir)
- var/range = pressures/250
- var/speed = range/5
-
user.visible_message("[user] is sent flying by pressure!","The pressure sends you flying!")
- user.throw_at(target, range, speed)
+
+ // if get_dir(src, user) is not 0, target is the edge_target_turf on that dir
+ // otherwise, edge_target_turf uses a random cardinal direction
+ // range is pressures / 250
+ // speed is pressures / 1250
+ user.throw_at(get_edge_target_turf(user, get_dir(src, user) || pick(GLOB.cardinals)), pressures / 250, pressures / 1250)
/obj/machinery/atmospherics/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
@@ -255,30 +245,20 @@ Pipelines + Other Objects -> Pipe network
transfer_fingerprints_to(stored)
..()
-/obj/machinery/atmospherics/proc/getpipeimage(iconset, iconstate, direction, col=rgb(255,255,255))
+/obj/machinery/atmospherics/proc/getpipeimage(iconset, iconstate, direction, col=rgb(255,255,255), piping_layer=2)
//Add identifiers for the iconset
if(iconsetids[iconset] == null)
iconsetids[iconset] = num2text(iconsetids.len + 1)
//Generate a unique identifier for this image combination
- var/identifier = iconsetids[iconset] + "_[iconstate]_[direction]_[col]"
+ var/identifier = iconsetids[iconset] + "_[iconstate]_[direction]_[col]_[piping_layer]"
if((!(. = pipeimages[identifier])))
var/image/pipe_overlay
pipe_overlay = . = pipeimages[identifier] = image(iconset, iconstate, dir = direction)
pipe_overlay.color = col
-
-/obj/machinery/atmospherics/proc/icon_addintact(var/obj/machinery/atmospherics/node)
- var/image/img = getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', "pipe_intact", get_dir(src,node), node.pipe_color)
- underlays += img
- return img.dir
-
-/obj/machinery/atmospherics/proc/icon_addbroken(var/connected = FALSE)
- var/unconnected = (~connected) & initialize_directions
- for(var/direction in GLOB.cardinals)
- if(unconnected & direction)
- underlays += getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', "pipe_exposed", direction)
+ PIPING_LAYER_SHIFT(pipe_overlay, piping_layer)
/obj/machinery/atmospherics/on_construction(obj_color, set_layer)
if(can_unwrench)
@@ -320,7 +300,7 @@ Pipelines + Other Objects -> Pipe network
if(target_move.can_crawl_through())
if(is_type_in_typecache(target_move, GLOB.ventcrawl_machinery))
user.forceMove(target_move.loc) //handle entering and so on.
- user.visible_message("You hear something squeezing through the ducts...","You climb out the ventilation system.")
+ user.visible_message("You hear something squeezing through the ducts...", "You climb out the ventilation system.")
else
var/list/pipenetdiff = returnPipenets() ^ target_move.returnPipenets()
if(pipenetdiff.len)
@@ -332,7 +312,7 @@ Pipelines + Other Objects -> Pipe network
playsound(src, 'sound/machines/ventcrawl.ogg', 50, 1, -3)
else if(is_type_in_typecache(src, GLOB.ventcrawl_machinery) && can_crawl_through()) //if we move in a way the pipe can connect, but doesn't - or we're in a vent
user.forceMove(loc)
- user.visible_message("You hear something squeezing through the ducts...","You climb out the ventilation system.")
+ user.visible_message("You hear something squeezing through the ducts...", "You climb out the ventilation system.")
user.canmove = FALSE
addtimer(VARSET_CALLBACK(user, canmove, TRUE), 1)
@@ -356,3 +336,6 @@ Pipelines + Other Objects -> Pipe network
//Used for certain children of obj/machinery/atmospherics to not show pipe vision when mob is inside it.
/obj/machinery/atmospherics/proc/can_see_pipes()
return TRUE
+
+/obj/machinery/atmospherics/proc/update_layer()
+ layer = initial(layer) + (piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_LCHANGE
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/binary_devices.dm b/code/modules/atmospherics/machinery/components/binary_devices/binary_devices.dm
index 486a57450b..45ccaf1e86 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/binary_devices.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/binary_devices.dm
@@ -8,24 +8,14 @@
/obj/machinery/atmospherics/components/binary/SetInitDirections()
switch(dir)
- if(NORTH)
+ if(NORTH, SOUTH)
initialize_directions = NORTH|SOUTH
- if(SOUTH)
- initialize_directions = NORTH|SOUTH
- if(EAST)
+ if(EAST, WEST)
initialize_directions = EAST|WEST
- if(WEST)
- initialize_directions = EAST|WEST
-/*
-Iconnery
-*/
+
/obj/machinery/atmospherics/components/binary/hide(intact)
update_icon()
-
- ..(intact)
-/*
-Housekeeping and pipe network stuff
-*/
+ ..()
/obj/machinery/atmospherics/components/binary/getNodeConnects()
return list(turn(dir, 180), dir)
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm
index 9f38757a89..9238b8602b 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm
@@ -1,13 +1,12 @@
-/*
-Acts like a normal vent, but has an input AND output.
-*/
+//Acts like a normal vent, but has an input AND output.
+
#define EXT_BOUND 1
#define INPUT_MIN 2
#define OUTPUT_MAX 4
/obj/machinery/atmospherics/components/binary/dp_vent_pump
icon = 'icons/obj/atmospherics/components/unary_devices.dmi' //We reuse the normal vent icons!
- icon_state = "dpvent_map"
+ icon_state = "dpvent_map-2"
//node2 is output port
//node1 is input port
@@ -27,97 +26,25 @@ Acts like a normal vent, but has an input AND output.
var/output_pressure_max = 0
var/pressure_checks = EXT_BOUND
+
//EXT_BOUND: Do not pass external_pressure_bound
//INPUT_MIN: Do not pass input_pressure_min
//OUTPUT_MAX: Do not pass output_pressure_max
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/on
- on = TRUE
- icon_state = "dpvent_map_on"
-
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
/obj/machinery/atmospherics/components/binary/dp_vent_pump/Destroy()
SSradio.remove_object(src, frequency)
return ..()
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume
- name = "large dual-port air vent"
-
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix
- id = INCINERATOR_TOXMIX_DP_VENTPUMP
- frequency = FREQ_AIRLOCK_CONTROL
-
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos
- id = INCINERATOR_ATMOS_DP_VENTPUMP
- frequency = FREQ_AIRLOCK_CONTROL
-
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_syndicatelava
- id = INCINERATOR_SYNDICATELAVA_DP_VENTPUMP
- frequency = FREQ_AIRLOCK_CONTROL
-
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/on
- on = TRUE
- icon_state = "dpvent_map_on"
-
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/on/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/on/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/New()
- ..()
- var/datum/gas_mixture/air1 = airs[1]
- var/datum/gas_mixture/air2 = airs[2]
- air1.volume = 1000
- air2.volume = 1000
-
/obj/machinery/atmospherics/components/binary/dp_vent_pump/update_icon_nopipes()
cut_overlays()
if(showpipe)
- add_overlay(getpipeimage('icons/obj/atmospherics/components/unary_devices.dmi', "dpvent_cap"))
+ var/image/cap = getpipeimage(icon, "dpvent_cap", dir, piping_layer = piping_layer)
+ add_overlay(cap)
if(!on || !is_operational())
icon_state = "vent_off"
- return
-
- if(pump_direction)
- icon_state = "vent_out"
else
- icon_state = "vent_in"
+ icon_state = pump_direction ? "vent_out" : "vent_in"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/process_atmos()
..()
@@ -248,6 +175,70 @@ Acts like a normal vent, but has an input AND output.
broadcast_status()
update_icon()
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume
+ name = "large dual-port air vent"
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/New()
+ ..()
+ var/datum/gas_mixture/air1 = airs[1]
+ var/datum/gas_mixture/air2 = airs[2]
+ air1.volume = 1000
+ air2.volume = 1000
+
+// Mapping
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer1
+ piping_layer = 1
+ icon_state = "dpvent_map-1"
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer3
+ piping_layer = 3
+ icon_state = "dpvent_map-3"
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/on
+ on = TRUE
+ icon_state = "dpvent_map_on-2"
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer1
+ piping_layer = 1
+ icon_state = "dpvent_map_on-1"
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer3
+ piping_layer = 3
+ icon_state = "dpvent_map_on-3"
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix
+ id = INCINERATOR_TOXMIX_DP_VENTPUMP
+ frequency = FREQ_AIRLOCK_CONTROL
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos
+ id = INCINERATOR_ATMOS_DP_VENTPUMP
+ frequency = FREQ_AIRLOCK_CONTROL
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_syndicatelava
+ id = INCINERATOR_SYNDICATELAVA_DP_VENTPUMP
+ frequency = FREQ_AIRLOCK_CONTROL
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer1
+ piping_layer = 1
+ icon_state = "dpvent_map-1"
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer3
+ piping_layer = 3
+ icon_state = "dpvent_map-3"
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/on
+ on = TRUE
+ icon_state = "dpvent_map_on-2"
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/on/layer1
+ piping_layer = 1
+ icon_state = "dpvent_map_on-1"
+
+/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/on/layer3
+ piping_layer = 3
+ icon_state = "dpvent_map_on-3"
+
#undef EXT_BOUND
#undef INPUT_MIN
#undef OUTPUT_MAX
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm
index 329ef33637..02eb95acab 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm
@@ -7,12 +7,13 @@ Passive gate is similar to the regular pump except:
*/
/obj/machinery/atmospherics/components/binary/passive_gate
- icon_state = "passgate_map"
+ icon_state = "passgate_map-2"
name = "passive gate"
desc = "A one-way air valve that does not require power."
can_unwrench = TRUE
+ shift_underlay_only = FALSE
interaction_flags_machine = INTERACT_MACHINE_OFFLINE | INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_SET_MACHINE
@@ -25,27 +26,15 @@ Passive gate is similar to the regular pump except:
construction_type = /obj/item/pipe/directional
pipe_state = "passivegate"
-/obj/machinery/atmospherics/components/binary/passive_gate/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/passive_gate/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
/obj/machinery/atmospherics/components/binary/passive_gate/Destroy()
SSradio.remove_object(src,frequency)
return ..()
/obj/machinery/atmospherics/components/binary/passive_gate/update_icon_nopipes()
- if(!on)
- icon_state = "passgate_off"
- cut_overlays()
- return
-
- add_overlay(getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', "passgate_on"))
+ cut_overlays()
+ icon_state = "passgate_off"
+ if(on)
+ add_overlay(getpipeimage(icon, "passgate_on"))
/obj/machinery/atmospherics/components/binary/passive_gate/process_atmos()
..()
@@ -176,3 +165,11 @@ Passive gate is similar to the regular pump except:
if(. && on)
to_chat(user, "You cannot unwrench [src], turn it off first!")
return FALSE
+
+/obj/machinery/atmospherics/components/binary/passive_gate/layer1
+ piping_layer = 1
+ icon_state = "passgate_map-1"
+
+/obj/machinery/atmospherics/components/binary/passive_gate/layer3
+ piping_layer = 3
+ icon_state = "passgate_map-3"
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm
index c05c3bb3c9..9e49953df5 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm
@@ -1,23 +1,22 @@
-/*
-Every cycle, the pump uses the air in air_in to try and make air_out the perfect pressure.
-
-node1, air1, network1 correspond to input
-node2, air2, network2 correspond to output
-
-Thus, the two variables affect pump operation are set in New():
- air1.volume
- This is the volume of gas available to the pump that may be transfered to the output
- air2.volume
- Higher quantities of this cause more air to be perfected later
- but overall network volume is also increased as this increases...
-*/
+// Every cycle, the pump uses the air in air_in to try and make air_out the perfect pressure.
+//
+// node1, air1, network1 correspond to input
+// node2, air2, network2 correspond to output
+//
+// Thus, the two variables affect pump operation are set in New():
+// air1.volume
+// This is the volume of gas available to the pump that may be transfered to the output
+// air2.volume
+// Higher quantities of this cause more air to be perfected later
+// but overall network volume is also increased as this increases...
/obj/machinery/atmospherics/components/binary/pump
- icon_state = "pump_map"
+ icon_state = "pump_map-2"
name = "gas pump"
desc = "A pump that moves gas by pressure."
can_unwrench = TRUE
+ shift_underlay_only = FALSE
var/target_pressure = ONE_ATMOSPHERE
@@ -54,30 +53,6 @@ Thus, the two variables affect pump operation are set in New():
message_admins("Pump, [src.name], was maximized by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]")
return TRUE
-/obj/machinery/atmospherics/components/binary/pump/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/pump/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/pump/on
- on = TRUE
- icon_state = "pump_on_map"
-
-/obj/machinery/atmospherics/components/binary/pump/on/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/pump/on/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
/obj/machinery/atmospherics/components/binary/pump/Destroy()
SSradio.remove_object(src,frequency)
if(radio_connection)
@@ -85,11 +60,7 @@ Thus, the two variables affect pump operation are set in New():
return ..()
/obj/machinery/atmospherics/components/binary/pump/update_icon_nopipes()
- if(!is_operational())
- icon_state = "pump_off"
- return
-
- icon_state = "pump_[on?"on":"off"]"
+ icon_state = (on && is_operational()) ? "pump_on" : "pump_off"
/obj/machinery/atmospherics/components/binary/pump/process_atmos()
// ..()
@@ -222,3 +193,23 @@ Thus, the two variables affect pump operation are set in New():
investigate_log("Pump, [src.name], was unwrenched by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
message_admins("Pump, [src.name], was unwrenched by [ADMIN_LOOKUPFLW(user)] at [A]")
return TRUE
+
+/obj/machinery/atmospherics/components/binary/pump/layer1
+ piping_layer = 1
+ icon_state= "pump_map-1"
+
+/obj/machinery/atmospherics/components/binary/pump/layer3
+ piping_layer = 3
+ icon_state= "pump_map-3"
+
+/obj/machinery/atmospherics/components/binary/pump/on
+ on = TRUE
+ icon_state = "pump_on_map-2"
+
+/obj/machinery/atmospherics/components/binary/pump/on/layer1
+ piping_layer = 1
+ icon_state= "pump_on_map-1"
+
+/obj/machinery/atmospherics/components/binary/pump/on/layer3
+ piping_layer = 3
+ icon_state= "pump_on_map-3"
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm
index f22ac62106..43cb658210 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm
@@ -3,12 +3,15 @@ It's like a regular ol' straight pipe, but you can turn it on and off.
*/
/obj/machinery/atmospherics/components/binary/valve
- icon_state = "mvalve_map"
+ icon_state = "mvalve_map-2"
name = "manual valve"
desc = "A pipe with a valve that can be used to disable flow of gas through it."
can_unwrench = TRUE
- interaction_flags_machine = INTERACT_MACHINE_OFFLINE | INTERACT_MACHINE_OPEN //Intentionally no allow_silicon flag
+ shift_underlay_only = FALSE
+
+ interaction_flags_machine = INTERACT_MACHINE_OFFLINE | INTERACT_MACHINE_OPEN //Intentionally no allow_silicon flag
+ pipe_flags = PIPING_CARDINAL_AUTONORMALIZE
var/frequency = 0
var/id = null
@@ -20,101 +23,87 @@ It's like a regular ol' straight pipe, but you can turn it on and off.
var/switching = FALSE
+/obj/machinery/atmospherics/components/binary/valve/update_icon_nopipes(animation = FALSE)
+ normalize_cardinal_directions()
+ if(animation)
+ flick("[valve_type]valve_[on][!on]", src)
+ icon_state = "[valve_type]valve_[on ? "on" : "off"]"
+
+/obj/machinery/atmospherics/components/binary/valve/proc/toggle()
+ if(on)
+ on = FALSE
+ update_icon_nopipes()
+ investigate_log("was closed by [usr ? key_name(usr) : "a remote signal"]", INVESTIGATE_ATMOS)
+ else
+ on = TRUE
+ update_icon_nopipes()
+ update_parents()
+ var/datum/pipeline/parent1 = parents[1]
+ parent1.reconcile_air()
+ investigate_log("was opened by [usr ? key_name(usr) : "a remote signal"]", INVESTIGATE_ATMOS)
+
+/obj/machinery/atmospherics/components/binary/valve/interact(mob/user)
+ add_fingerprint(usr)
+ if(switching)
+ return
+ update_icon_nopipes(TRUE)
+ switching = TRUE
+ addtimer(CALLBACK(src, .proc/finish_interact), 10)
+
+/obj/machinery/atmospherics/components/binary/valve/proc/finish_interact()
+ toggle()
+ switching = FALSE
+
+/obj/machinery/atmospherics/components/binary/valve/digital // can be controlled by AI
+ icon_state = "dvalve_map-2"
+ name = "digital valve"
+ desc = "A digitally controlled valve."
+ valve_type = "d"
+ pipe_state = "dvalve"
+ interaction_flags_machine = INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OFFLINE | INTERACT_MACHINE_OPEN | INTERACT_MACHINE_OPEN_SILICON
+
+/obj/machinery/atmospherics/components/binary/valve/digital/update_icon_nopipes(animation)
+ if(!is_operational())
+ normalize_cardinal_directions()
+ icon_state = "dvalve_nopower"
+ return
+ ..()
+
+
/obj/machinery/atmospherics/components/binary/valve/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
+ piping_layer = 1
+ icon_state = "mvalve_map-1"
/obj/machinery/atmospherics/components/binary/valve/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
+ piping_layer = 3
+ icon_state = "mvalve_map-3"
/obj/machinery/atmospherics/components/binary/valve/on
on = TRUE
/obj/machinery/atmospherics/components/binary/valve/on/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
+ piping_layer = 1
+ icon_state = "mvalve_map-1"
/obj/machinery/atmospherics/components/binary/valve/on/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/valve/update_icon_nopipes(animation = 0)
- normalize_dir()
- if(animation)
- flick("[valve_type]valve_[on][!on]",src)
- icon_state = "[valve_type]valve_[on?"on":"off"]"
-
-/obj/machinery/atmospherics/components/binary/valve/proc/open()
- on = TRUE
- update_icon_nopipes()
- update_parents()
- var/datum/pipeline/parent1 = parents[1]
- parent1.reconcile_air()
- investigate_log("was opened by [usr ? key_name(usr) : "a remote signal"]", INVESTIGATE_ATMOS)
-
-/obj/machinery/atmospherics/components/binary/valve/proc/close()
- on = FALSE
- update_icon_nopipes()
- investigate_log("was closed by [usr ? key_name(usr) : "a remote signal"]", INVESTIGATE_ATMOS)
-
-/obj/machinery/atmospherics/components/binary/valve/proc/normalize_dir()
- if(dir==SOUTH)
- setDir(NORTH)
- else if(dir==WEST)
- setDir(EAST)
-
-/obj/machinery/atmospherics/components/binary/valve/interact(mob/user)
- add_fingerprint(usr)
- update_icon_nopipes(1)
- if(switching)
- return
- switching = TRUE
- sleep(10)
- if(on)
- close()
- else
- open()
- switching = FALSE
-
-/obj/machinery/atmospherics/components/binary/valve/digital // can be controlled by AI
- name = "digital valve"
- desc = "A digitally controlled valve."
- icon_state = "dvalve_map"
- valve_type = "d"
- pipe_state = "dvalve"
- interaction_flags_machine = INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OFFLINE | INTERACT_MACHINE_OPEN | INTERACT_MACHINE_OPEN_SILICON
+ piping_layer = 3
+ icon_state = "mvalve_map-3"
/obj/machinery/atmospherics/components/binary/valve/digital/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
+ piping_layer = 1
+ icon_state = "dvalve_map-1"
/obj/machinery/atmospherics/components/binary/valve/digital/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
+ piping_layer = 3
+ icon_state = "dvalve_map-3"
/obj/machinery/atmospherics/components/binary/valve/digital/on
on = TRUE
/obj/machinery/atmospherics/components/binary/valve/digital/on/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
+ piping_layer = 1
+ icon_state = "dvalve_map-1"
/obj/machinery/atmospherics/components/binary/valve/digital/on/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/valve/digital/update_icon_nopipes(animation)
- if(!is_operational())
- normalize_dir()
- icon_state = "dvalve_nopower"
- return
- ..()
+ piping_layer = 3
+ icon_state = "dvalve_map-3"
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm
index e9fa52fd23..864e3eef5e 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm
@@ -1,23 +1,22 @@
-/*
-Every cycle, the pump uses the air in air_in to try and make air_out the perfect pressure.
-
-node1, air1, network1 correspond to input
-node2, air2, network2 correspond to output
-
-Thus, the two variables affect pump operation are set in New():
- air1.volume
- This is the volume of gas available to the pump that may be transfered to the output
- air2.volume
- Higher quantities of this cause more air to be perfected later
- but overall network volume is also increased as this increases...
-*/
+// Every cycle, the pump uses the air in air_in to try and make air_out the perfect pressure.
+//
+// node1, air1, network1 correspond to input
+// node2, air2, network2 correspond to output
+//
+// Thus, the two variables affect pump operation are set in New():
+// air1.volume
+// This is the volume of gas available to the pump that may be transfered to the output
+// air2.volume
+// Higher quantities of this cause more air to be perfected later
+// but overall network volume is also increased as this increases...
/obj/machinery/atmospherics/components/binary/volume_pump
- icon_state = "volpump_map"
+ icon_state = "volpump_map-2"
name = "volumetric gas pump"
desc = "A pump that moves gas by volume."
can_unwrench = TRUE
+ shift_underlay_only = FALSE
var/transfer_rate = MAX_TRANSFER_RATE
@@ -43,40 +42,12 @@ Thus, the two variables affect pump operation are set in New():
message_admins("Volume Pump, [src.name], turned [on ? "on" : "off"] by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]")
return ..()
-/obj/machinery/atmospherics/components/binary/volume_pump/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/volume_pump/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
/obj/machinery/atmospherics/components/binary/volume_pump/Destroy()
SSradio.remove_object(src,frequency)
return ..()
-/obj/machinery/atmospherics/components/binary/volume_pump/on
- on = TRUE
- icon_state = "volpump_on_map"
-
-/obj/machinery/atmospherics/components/binary/volume_pump/on/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/binary/volume_pump/on/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
/obj/machinery/atmospherics/components/binary/volume_pump/update_icon_nopipes()
- if(!is_operational())
- icon_state = "volpump_off"
- return
-
- icon_state = "volpump_[on?"on":"off"]"
+ icon_state = on && is_operational() ? "volpump_on" : "volpump_off"
/obj/machinery/atmospherics/components/binary/volume_pump/process_atmos()
// ..()
@@ -208,3 +179,25 @@ Thus, the two variables affect pump operation are set in New():
investigate_log("Pump, [src.name], was unwrenched by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
message_admins("Pump, [src.name], was unwrenched by [ADMIN_LOOKUPFLW(user)] at [A]")
return TRUE
+
+// Mapping
+
+/obj/machinery/atmospherics/components/binary/volume_pump/layer1
+ piping_layer = 1
+ icon_state = "volpump_map-1"
+
+/obj/machinery/atmospherics/components/binary/volume_pump/layer3
+ piping_layer = 3
+ icon_state = "volpump_map-3"
+
+/obj/machinery/atmospherics/components/binary/volume_pump/on
+ on = TRUE
+ icon_state = "volpump_on_map"
+
+/obj/machinery/atmospherics/components/binary/volume_pump/on/layer1
+ piping_layer = 1
+ icon_state = "volpump_map-1"
+
+/obj/machinery/atmospherics/components/binary/volume_pump/on/layer3
+ piping_layer = 3
+ icon_state = "volpump_map-3"
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm
index e31d96a0c2..ff2a655aac 100644
--- a/code/modules/atmospherics/machinery/components/components_base.dm
+++ b/code/modules/atmospherics/machinery/components/components_base.dm
@@ -1,11 +1,10 @@
-/*
-So much of atmospherics.dm was used solely by components, so separating this makes things all a lot cleaner.
-On top of that, now people can add component-speciic procs/vars if they want!
-*/
+// So much of atmospherics.dm was used solely by components, so separating this makes things all a lot cleaner.
+// On top of that, now people can add component-speciic procs/vars if they want!
/obj/machinery/atmospherics/components
var/welded = FALSE //Used on pumps and scrubbers
var/showpipe = FALSE
+ var/shift_underlay_only = TRUE //Layering only shifts underlay?
var/list/datum/pipeline/parents
var/list/datum/gas_mixture/airs
@@ -19,9 +18,8 @@ On top of that, now people can add component-speciic procs/vars if they want!
var/datum/gas_mixture/A = new
A.volume = 200
airs[i] = A
-/*
-Iconnery
-*/
+
+// Iconnery
/obj/machinery/atmospherics/components/proc/update_icon_nopipes()
return
@@ -46,14 +44,25 @@ Iconnery
for(var/i in 1 to device_type) //adds intact pieces
if(nodes[i])
- connected |= icon_addintact(nodes[i])
+ var/obj/machinery/atmospherics/node = nodes[i]
+ var/image/img = get_pipe_underlay("pipe_intact", get_dir(src, node), node.pipe_color)
+ underlays += img
+ connected |= img.dir
- icon_addbroken(connected) //adds broken pieces
+ for(var/direction in GLOB.cardinals)
+ if((initialize_directions & direction) && !(connected & direction))
+ underlays += get_pipe_underlay("pipe_exposed", direction)
+ if(!shift_underlay_only)
+ PIPING_LAYER_SHIFT(src, piping_layer)
-/*
-Pipenet stuff; housekeeping
-*/
+/obj/machinery/atmospherics/components/proc/get_pipe_underlay(state, dir, color = null)
+ if(color)
+ . = getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', state, dir, color, piping_layer = shift_underlay_only ? piping_layer : 2)
+ else
+ . = getpipeimage('icons/obj/atmospherics/components/binary_devices.dmi', state, dir, piping_layer = shift_underlay_only ? piping_layer : 2)
+
+// Pipenet stuff; housekeeping
/obj/machinery/atmospherics/components/nullifyNode(i)
if(nodes[i])
@@ -129,9 +138,7 @@ Pipenet stuff; housekeeping
return new_value
return default_set
-/*
-Helpers
-*/
+// Helpers
/obj/machinery/atmospherics/components/proc/update_parents()
for(var/i in 1 to device_type)
@@ -146,9 +153,9 @@ Helpers
for(var/i in 1 to device_type)
. += returnPipenet(nodes[i])
-/*
-UI Stuff
-*/
+
+// UI Stuff
+
/obj/machinery/atmospherics/components/ui_status(mob/user)
if(allowed(user))
@@ -156,9 +163,9 @@ UI Stuff
to_chat(user, "Access denied.")
return UI_CLOSE
-/*
-Tool acts
-*/
+
+// Tool acts
+
/obj/machinery/atmospherics/components/analyzer_act(mob/living/user, obj/item/I)
atmosanalyzer_scan(airs, user, src)
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm
index adca444b10..2fd1bdc121 100644
--- a/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm
+++ b/code/modules/atmospherics/machinery/components/trinary_devices/filter.dm
@@ -1,9 +1,12 @@
/obj/machinery/atmospherics/components/trinary/filter
- name = "gas filter"
icon_state = "filter_off"
- desc = "Very useful for filtering gasses."
density = FALSE
+
+ name = "gas filter"
+ desc = "Very useful for filtering gasses."
+
can_unwrench = TRUE
+
var/transfer_rate = MAX_TRANSFER_RATE
var/filter_type = null
var/frequency = 0
@@ -38,38 +41,6 @@
message_admins("Filter, [src.name], was maximized by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]")
return TRUE
-/obj/machinery/atmospherics/components/trinary/filter/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/trinary/filter/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/trinary/filter/flipped
- icon_state = "filter_off_f"
- flipped = TRUE
-
-/obj/machinery/atmospherics/components/trinary/filter/flipped/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/trinary/filter/flipped/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-// These two filter types have critical_machine flagged to on and thus causes the area they are in to be exempt from the Grid Check event.
-
-/obj/machinery/atmospherics/components/trinary/filter/critical
- critical_machine = TRUE
-
-/obj/machinery/atmospherics/components/trinary/filter/flipped/critical
- critical_machine = TRUE
-
/obj/machinery/atmospherics/components/trinary/filter/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
frequency = new_frequency
@@ -80,62 +51,26 @@
SSradio.remove_object(src,frequency)
return ..()
-/obj/machinery/atmospherics/components/trinary/filter/atmos //Used for atmos waste loops
- on = TRUE
- icon_state = "filter_on"
-
-/obj/machinery/atmospherics/components/trinary/filter/atmos/n2
- name = "nitrogen filter"
- filter_type = "n2"
-/obj/machinery/atmospherics/components/trinary/filter/atmos/o2
- name = "oxygen filter"
- filter_type = "o2"
-/obj/machinery/atmospherics/components/trinary/filter/atmos/co2
- name = "carbon dioxide filter"
- filter_type = "co2"
-/obj/machinery/atmospherics/components/trinary/filter/atmos/n2o
- name = "nitrous oxide filter"
- filter_type = "n2o"
-/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma
- name = "plasma filter"
- filter_type = "plasma"
-
-/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped //This feels wrong, I know
- icon_state = "filter_on_f"
- flipped = TRUE
-
-/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2
- name = "nitrogen filter"
- filter_type = "n2"
-/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2
- name = "oxygen filter"
- filter_type = "o2"
-/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2
- name = "carbon dioxide filter"
- filter_type = "co2"
-/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2o
- name = "nitrous oxide filter"
- filter_type = "n2o"
-/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/plasma
- name = "plasma filter"
- filter_type = "plasma"
-
/obj/machinery/atmospherics/components/trinary/filter/update_icon()
cut_overlays()
for(var/direction in GLOB.cardinals)
- if(direction & initialize_directions)
- var/obj/machinery/atmospherics/node = findConnecting(direction)
- if(node)
- add_overlay(getpipeimage('icons/obj/atmospherics/components/trinary_devices.dmi', "cap", direction, node.pipe_color))
- continue
- add_overlay(getpipeimage('icons/obj/atmospherics/components/trinary_devices.dmi', "cap", direction))
- ..()
+ if(!(direction & initialize_directions))
+ continue
+ var/obj/machinery/atmospherics/node = findConnecting(direction)
+
+ var/image/cap
+ if(node)
+ cap = getpipeimage(icon, "cap", direction, node.pipe_color, piping_layer = piping_layer)
+ else
+ cap = getpipeimage(icon, "cap", direction, piping_layer = piping_layer)
+
+ add_overlay(cap)
+
+ return ..()
/obj/machinery/atmospherics/components/trinary/filter/update_icon_nopipes()
- if(on && nodes[1] && nodes[2] && nodes[3] && is_operational())
- icon_state = "filter_on[flipped?"_f":""]"
- return
- icon_state = "filter_off[flipped?"_f":""]"
+ var/on_state = on && nodes[1] && nodes[2] && nodes[3] && is_operational()
+ icon_state = "filter_[on_state ? "on" : "off"][flipped ? "_f" : ""]"
/obj/machinery/atmospherics/components/trinary/filter/power_change()
var/old_stat = stat
@@ -258,3 +193,91 @@
if(. && on && is_operational())
to_chat(user, "You cannot unwrench [src], turn it off first!")
return FALSE
+
+// Mapping
+
+/obj/machinery/atmospherics/components/trinary/filter/layer1
+ piping_layer = 1
+ icon_state = "filter_off_map-1"
+/obj/machinery/atmospherics/components/trinary/filter/layer3
+ piping_layer = 3
+ icon_state = "filter_off_map-3"
+
+/obj/machinery/atmospherics/components/trinary/filter/on
+ on = TRUE
+ icon_state = "filter_on"
+
+/obj/machinery/atmospherics/components/trinary/filter/on/layer1
+ piping_layer = 1
+ icon_state = "filter_on_map-1"
+/obj/machinery/atmospherics/components/trinary/filter/on/layer3
+ piping_layer = 3
+ icon_state = "filter_on_map-3"
+
+/obj/machinery/atmospherics/components/trinary/filter/flipped
+ icon_state = "filter_off_f"
+ flipped = TRUE
+
+/obj/machinery/atmospherics/components/trinary/filter/flipped/layer1
+ piping_layer = 1
+ icon_state = "filter_off_f_map-1"
+/obj/machinery/atmospherics/components/trinary/filter/flipped/layer3
+ piping_layer = 3
+ icon_state = "filter_off_f_map-3"
+
+/obj/machinery/atmospherics/components/trinary/filter/flipped/on
+ on = TRUE
+ icon_state = "filter_on_f"
+
+/obj/machinery/atmospherics/components/trinary/filter/flipped/on/layer1
+ piping_layer = 1
+ icon_state = "filter_on_f_map-1"
+/obj/machinery/atmospherics/components/trinary/filter/flipped/on/layer3
+ piping_layer = 3
+ icon_state = "filter_on_f_map-3"
+
+/obj/machinery/atmospherics/components/trinary/filter/atmos //Used for atmos waste loops
+ on = TRUE
+ icon_state = "filter_on"
+/obj/machinery/atmospherics/components/trinary/filter/atmos/n2
+ name = "nitrogen filter"
+ filter_type = "n2"
+/obj/machinery/atmospherics/components/trinary/filter/atmos/o2
+ name = "oxygen filter"
+ filter_type = "o2"
+/obj/machinery/atmospherics/components/trinary/filter/atmos/co2
+ name = "carbon dioxide filter"
+ filter_type = "co2"
+/obj/machinery/atmospherics/components/trinary/filter/atmos/n2o
+ name = "nitrous oxide filter"
+ filter_type = "n2o"
+/obj/machinery/atmospherics/components/trinary/filter/atmos/plasma
+ name = "plasma filter"
+ filter_type = "plasma"
+
+/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped //This feels wrong, I know
+ icon_state = "filter_on_f"
+ flipped = TRUE
+/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2
+ name = "nitrogen filter"
+ filter_type = "n2"
+/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2
+ name = "oxygen filter"
+ filter_type = "o2"
+/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2
+ name = "carbon dioxide filter"
+ filter_type = "co2"
+/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2o
+ name = "nitrous oxide filter"
+ filter_type = "n2o"
+/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/plasma
+ name = "plasma filter"
+ filter_type = "plasma"
+
+// These two filter types have critical_machine flagged to on and thus causes the area they are in to be exempt from the Grid Check event.
+
+/obj/machinery/atmospherics/components/trinary/filter/critical
+ critical_machine = TRUE
+
+/obj/machinery/atmospherics/components/trinary/filter/flipped/critical
+ critical_machine = TRUE
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm
index 9646b78321..8c7d82d549 100644
--- a/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm
+++ b/code/modules/atmospherics/machinery/components/trinary_devices/mixer.dm
@@ -3,9 +3,10 @@
density = FALSE
name = "gas mixer"
- can_unwrench = TRUE
desc = "Very useful for mixing gasses."
+ can_unwrench = TRUE
+
var/target_pressure = ONE_ATMOSPHERE
var/node1_concentration = 0.5
var/node2_concentration = 0.5
@@ -41,66 +42,27 @@
return TRUE
//node 3 is the outlet, nodes 1 & 2 are intakes
-/obj/machinery/atmospherics/components/trinary/mixer/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/trinary/mixer/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/trinary/mixer/flipped
- icon_state = "mixer_off_f"
- flipped = TRUE
-
-/obj/machinery/atmospherics/components/trinary/mixer/flipped/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/trinary/mixer/flipped/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/trinary/mixer/airmix //For standard airmix to distro
- name = "air mixer"
- icon_state = "mixer_on"
- node1_concentration = N2STANDARD
- node2_concentration = O2STANDARD
- on = TRUE
- target_pressure = MAX_OUTPUT_PRESSURE
-
-/obj/machinery/atmospherics/components/trinary/mixer/airmix/inverse
- node1_concentration = O2STANDARD
- node2_concentration = N2STANDARD
-
-/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped
- icon_state = "mixer_on_f"
- flipped = TRUE
-
-/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped/inverse
- node1_concentration = O2STANDARD
- node2_concentration = N2STANDARD
/obj/machinery/atmospherics/components/trinary/mixer/update_icon()
cut_overlays()
for(var/direction in GLOB.cardinals)
- if(direction & initialize_directions)
- var/obj/machinery/atmospherics/node = findConnecting(direction)
- if(node)
- add_overlay(getpipeimage('icons/obj/atmospherics/components/trinary_devices.dmi', "cap", direction, node.pipe_color))
- continue
- add_overlay(getpipeimage('icons/obj/atmospherics/components/trinary_devices.dmi', "cap", direction))
+ if(!(direction & initialize_directions))
+ continue
+ var/obj/machinery/atmospherics/node = findConnecting(direction)
+
+ var/image/cap
+ if(node)
+ cap = getpipeimage(icon, "cap", direction, node.pipe_color, piping_layer = piping_layer)
+ else
+ cap = getpipeimage(icon, "cap", direction, piping_layer = piping_layer)
+
+ add_overlay(cap)
+
return ..()
/obj/machinery/atmospherics/components/trinary/mixer/update_icon_nopipes()
- if(on && nodes[1] && nodes[2] && nodes[3] && is_operational())
- icon_state = "mixer_on[flipped?"_f":""]"
- return
- icon_state = "mixer_off[flipped?"_f":""]"
+ var/on_state = on && nodes[1] && nodes[2] && nodes[3] && is_operational()
+ icon_state = "mixer_[on_state ? "on" : "off"][flipped ? "_f" : ""]"
/obj/machinery/atmospherics/components/trinary/mixer/power_change()
var/old_stat = stat
@@ -233,8 +195,70 @@
update_icon()
-/obj/machinery/atmospherics/components/trinary/filter/can_unwrench(mob/user)
+/obj/machinery/atmospherics/components/trinary/mixer/can_unwrench(mob/user)
. = ..()
if(. && on && is_operational())
to_chat(user, "You cannot unwrench [src], turn it off first!")
return FALSE
+
+// mapping
+
+/obj/machinery/atmospherics/components/trinary/mixer/layer1
+ piping_layer = 1
+ icon_state = "mixer_off_map-1"
+/obj/machinery/atmospherics/components/trinary/mixer/layer3
+ piping_layer = 3
+ icon_state = "mixer_off_map-3"
+
+/obj/machinery/atmospherics/components/trinary/mixer/on
+ on = TRUE
+ icon_state = "mixer_on"
+
+/obj/machinery/atmospherics/components/trinary/mixer/on/layer1
+ piping_layer = 1
+ icon_state = "mixer_on_map-1"
+/obj/machinery/atmospherics/components/trinary/mixer/on/layer3
+ piping_layer = 3
+ icon_state = "mixer_on_map-3"
+
+/obj/machinery/atmospherics/components/trinary/mixer/flipped
+ icon_state = "mixer_off_f"
+ flipped = TRUE
+
+/obj/machinery/atmospherics/components/trinary/mixer/flipped/layer1
+ piping_layer = 1
+ icon_state = "mixer_off_f_map-1"
+/obj/machinery/atmospherics/components/trinary/mixer/flipped/layer3
+ piping_layer = 3
+ icon_state = "mixer_off_f_map-3"
+
+/obj/machinery/atmospherics/components/trinary/mixer/flipped/on
+ on = TRUE
+ icon_state = "mixer_on_f"
+
+/obj/machinery/atmospherics/components/trinary/mixer/flipped/on/layer1
+ piping_layer = 1
+ icon_state = "mixer_on_f_map-1"
+/obj/machinery/atmospherics/components/trinary/mixer/flipped/on/layer3
+ piping_layer = 3
+ icon_state = "mixer_on_f_map-3"
+
+/obj/machinery/atmospherics/components/trinary/mixer/airmix //For standard airmix to distro
+ name = "air mixer"
+ icon_state = "mixer_on"
+ node1_concentration = N2STANDARD
+ node2_concentration = O2STANDARD
+ target_pressure = MAX_OUTPUT_PRESSURE
+ on = TRUE
+
+/obj/machinery/atmospherics/components/trinary/mixer/airmix/inverse
+ node1_concentration = O2STANDARD
+ node2_concentration = N2STANDARD
+
+/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped
+ icon_state = "mixer_on_f"
+ flipped = TRUE
+
+/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped/inverse
+ node1_concentration = O2STANDARD
+ node2_concentration = N2STANDARD
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/heat_exchanger.dm b/code/modules/atmospherics/machinery/components/unary_devices/heat_exchanger.dm
index 66f9668bbf..a856ea1f3f 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/heat_exchanger.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/heat_exchanger.dm
@@ -1,11 +1,12 @@
/obj/machinery/atmospherics/components/unary/heat_exchanger
- icon_state = "he_intact"
+ icon_state = "he1"
name = "heat exchanger"
desc = "Exchanges heat between two input gases. Set up for fast heat transfer."
can_unwrench = TRUE
+ shift_underlay_only = FALSE // not really used
layer = LOW_OBJ_LAYER
@@ -13,24 +14,23 @@
var/update_cycle
pipe_state = "heunary"
-
+
/obj/machinery/atmospherics/components/unary/heat_exchanger/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
+ piping_layer = 1
+ icon_state = "he_map-1"
/obj/machinery/atmospherics/components/unary/heat_exchanger/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
+ piping_layer = 3
+ icon_state = "he_map-3"
/obj/machinery/atmospherics/components/unary/heat_exchanger/update_icon()
if(nodes[1])
- icon_state = "he_intact"
+ icon_state = "he1"
var/obj/machinery/atmospherics/node = nodes[1]
add_atom_colour(node.color, FIXED_COLOUR_PRIORITY)
else
- icon_state = "he_exposed"
+ icon_state = "he0"
+ PIPING_LAYER_SHIFT(src, piping_layer)
/obj/machinery/atmospherics/components/unary/heat_exchanger/atmosinit()
if(!partner)
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm
index b4c37a2140..87ab4fa643 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/outlet_injector.dm
@@ -1,9 +1,10 @@
/obj/machinery/atmospherics/components/unary/outlet_injector
+ icon_state = "inje_map-2"
name = "air injector"
desc = "Has a valve and pump attached to it."
- icon_state = "inje_map"
use_power = IDLE_POWER_USE
can_unwrench = TRUE
+ shift_underlay_only = FALSE
resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF //really helpful in building gas chambers for xenomorphs
var/injecting = 0
@@ -19,82 +20,20 @@
pipe_state = "injector"
-/obj/machinery/atmospherics/components/unary/outlet_injector/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/outlet_injector/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
/obj/machinery/atmospherics/components/unary/outlet_injector/Destroy()
SSradio.remove_object(src,frequency)
return ..()
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos
- frequency = FREQ_ATMOS_STORAGE
- on = TRUE
- volume_rate = 200
-
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste
- name = "atmos waste outlet injector"
- id = ATMOS_GAS_MONITOR_WASTE_ATMOS
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/engine_waste
- name = "engine outlet injector"
- id = ATMOS_GAS_MONITOR_WASTE_ENGINE
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxin_input
- name = "plasma tank input injector"
- id = ATMOS_GAS_MONITOR_INPUT_TOX
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/oxygen_input
- name = "oxygen tank input injector"
- id = ATMOS_GAS_MONITOR_INPUT_O2
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrogen_input
- name = "nitrogen tank input injector"
- id = ATMOS_GAS_MONITOR_INPUT_N2
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/mix_input
- name = "mix tank input injector"
- id = ATMOS_GAS_MONITOR_INPUT_MIX
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrous_input
- name = "nitrous oxide tank input injector"
- id = ATMOS_GAS_MONITOR_INPUT_N2O
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/air_input
- name = "air mix tank input injector"
- id = ATMOS_GAS_MONITOR_INPUT_AIR
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/carbon_input
- name = "carbon dioxide tank input injector"
- id = ATMOS_GAS_MONITOR_INPUT_CO2
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input
- name = "incinerator chamber input injector"
- id = ATMOS_GAS_MONITOR_INPUT_INCINERATOR
-/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxins_mixing_input
- name = "toxins mixing input injector"
- id = ATMOS_GAS_MONITOR_INPUT_TOXINS_LAB
-
-/obj/machinery/atmospherics/components/unary/outlet_injector/on
- on = TRUE
-
-/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
/obj/machinery/atmospherics/components/unary/outlet_injector/update_icon_nopipes()
cut_overlays()
if(showpipe)
+ // everything is already shifted so don't shift the cap
add_overlay(getpipeimage(icon, "inje_cap", initialize_directions))
if(!nodes[1] || !on || !is_operational())
icon_state = "inje_off"
- return
-
- icon_state = "inje_on"
+ else
+ icon_state = "inje_on"
/obj/machinery/atmospherics/components/unary/outlet_injector/power_change()
var/old_stat = stat
@@ -243,3 +182,63 @@
if(. && on && is_operational())
to_chat(user, "You cannot unwrench [src], turn it off first!")
return FALSE
+
+// mapping
+
+/obj/machinery/atmospherics/components/unary/outlet_injector/layer1
+ piping_layer = 1
+ icon_state = "inje_map-1"
+
+/obj/machinery/atmospherics/components/unary/outlet_injector/layer3
+ piping_layer = 2
+ icon_state = "inje_map-2"
+
+/obj/machinery/atmospherics/components/unary/outlet_injector/on
+ on = TRUE
+
+/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer1
+ piping_layer = 1
+ icon_state = "inje_map-1"
+
+/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer3
+ piping_layer = 2
+ icon_state = "inje_map-2"
+
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos
+ frequency = FREQ_ATMOS_STORAGE
+ on = TRUE
+ volume_rate = 200
+
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste
+ name = "atmos waste outlet injector"
+ id = ATMOS_GAS_MONITOR_WASTE_ATMOS
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/engine_waste
+ name = "engine outlet injector"
+ id = ATMOS_GAS_MONITOR_WASTE_ENGINE
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxin_input
+ name = "plasma tank input injector"
+ id = ATMOS_GAS_MONITOR_INPUT_TOX
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/oxygen_input
+ name = "oxygen tank input injector"
+ id = ATMOS_GAS_MONITOR_INPUT_O2
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrogen_input
+ name = "nitrogen tank input injector"
+ id = ATMOS_GAS_MONITOR_INPUT_N2
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/mix_input
+ name = "mix tank input injector"
+ id = ATMOS_GAS_MONITOR_INPUT_MIX
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrous_input
+ name = "nitrous oxide tank input injector"
+ id = ATMOS_GAS_MONITOR_INPUT_N2O
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/air_input
+ name = "air mix tank input injector"
+ id = ATMOS_GAS_MONITOR_INPUT_AIR
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/carbon_input
+ name = "carbon dioxide tank input injector"
+ id = ATMOS_GAS_MONITOR_INPUT_CO2
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input
+ name = "incinerator chamber input injector"
+ id = ATMOS_GAS_MONITOR_INPUT_INCINERATOR
+/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxins_mixing_input
+ name = "toxins mixing input injector"
+ id = ATMOS_GAS_MONITOR_INPUT_TOXINS_LAB
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm b/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm
index 94d8959987..a113484d20 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm
@@ -13,43 +13,51 @@
/obj/machinery/atmospherics/components/unary/passive_vent/update_icon_nopipes()
cut_overlays()
if(showpipe)
- var/image/cap = getpipeimage(icon, "vent_cap", initialize_directions)
+ var/image/cap = getpipeimage(icon, "vent_cap", initialize_directions, piping_layer = piping_layer)
add_overlay(cap)
icon_state = "passive_vent"
/obj/machinery/atmospherics/components/unary/passive_vent/process_atmos()
..()
- var/datum/gas_mixture/environment = loc.return_air()
- var/environment_pressure = environment.return_pressure()
- var/pressure_delta = abs(environment_pressure - airs[1].return_pressure())
+ var/active = FALSE
- if((environment.temperature || airs[1].temperature) && pressure_delta > 0.5)
- if(environment_pressure < airs[1].return_pressure())
- var/air_temperature = (environment.temperature > 0) ? environment.temperature : airs[1].temperature
- var/transfer_moles = (pressure_delta * environment.volume) / (air_temperature * R_IDEAL_GAS_EQUATION)
- var/datum/gas_mixture/removed = airs[1].remove(transfer_moles)
- loc.assume_air(removed)
- air_update_turf()
+ var/datum/gas_mixture/external = loc.return_air()
+ var/datum/gas_mixture/internal = airs[1]
+ var/external_pressure = external.return_pressure()
+ var/internal_pressure = internal.return_pressure()
+ var/pressure_delta = abs(external_pressure - internal_pressure)
+
+ if(pressure_delta > 0.5)
+ if(external_pressure < internal_pressure)
+ var/air_temperature = (external.temperature > 0) ? external.temperature : internal.temperature
+ var/transfer_moles = (pressure_delta * external.volume) / (air_temperature * R_IDEAL_GAS_EQUATION)
+ var/datum/gas_mixture/removed = internal.remove(transfer_moles)
+ external.merge(removed)
else
- var/air_temperature = (airs[1].temperature > 0) ? airs[1].temperature : environment.temperature
- var/output_volume = airs[1].volume
- var/transfer_moles = (pressure_delta * output_volume) / (air_temperature * R_IDEAL_GAS_EQUATION)
- transfer_moles = min(transfer_moles, environment.total_moles()*airs[1].volume/environment.volume)
- var/datum/gas_mixture/removed = loc.remove_air(transfer_moles)
+ var/air_temperature = (internal.temperature > 0) ? internal.temperature : external.temperature
+ var/transfer_moles = (pressure_delta * internal.volume) / (air_temperature * R_IDEAL_GAS_EQUATION)
+ transfer_moles = min(transfer_moles, external.total_moles() * internal.volume / external.volume)
+ var/datum/gas_mixture/removed = external.remove(transfer_moles)
if(isnull(removed))
return
- airs[1].merge(removed)
- air_update_turf()
- update_parents()
+ internal.merge(removed)
+
+ active = TRUE
+
+ active = internal.temperature_share(external, OPEN_HEAT_TRANSFER_COEFFICIENT) ? TRUE : active
+
+ if(active)
+ air_update_turf()
+ update_parents()
/obj/machinery/atmospherics/components/unary/passive_vent/can_crawl_through()
return TRUE
/obj/machinery/atmospherics/components/unary/passive_vent/layer1
- piping_layer = PIPING_LAYER_MIN
+ piping_layer = 1
icon_state = "passive_vent_map-1"
/obj/machinery/atmospherics/components/unary/passive_vent/layer3
- piping_layer = PIPING_LAYER_MAX
+ piping_layer = 3
icon_state = "passive_vent_map-3"
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm b/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm
index c0e69a0c7d..81ca14a828 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm
@@ -1,25 +1,16 @@
/obj/machinery/atmospherics/components/unary/portables_connector
+ icon_state = "connector_map-2"
name = "connector port"
desc = "For connecting portables devices related to atmospherics control."
icon = 'icons/obj/atmospherics/components/unary_devices.dmi'
- icon_state = "connector_map" //Only for mapping purposes, so mappers can see direction
can_unwrench = TRUE
- var/obj/machinery/portable_atmospherics/connected_device
use_power = NO_POWER_USE
level = 0
layer = GAS_FILTER_LAYER
pipe_flags = PIPING_ONE_PER_TURF
pipe_state = "connector"
-
-/obj/machinery/atmospherics/components/unary/portables_connector/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-/obj/machinery/atmospherics/components/unary/portables_connector/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
+ var/obj/machinery/portable_atmospherics/connected_device
/obj/machinery/atmospherics/components/unary/portables_connector/New()
..()
@@ -27,29 +18,22 @@
air_contents.volume = 0
-/obj/machinery/atmospherics/components/unary/portables_connector/visible
- level = 2
-
-/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/portables_connector/process_atmos()
- if(!connected_device)
- return
- update_parents()
-
/obj/machinery/atmospherics/components/unary/portables_connector/Destroy()
if(connected_device)
connected_device.disconnect()
return ..()
+/obj/machinery/atmospherics/components/unary/portables_connector/update_icon_nopipes()
+ icon_state = "connector"
+ if(showpipe)
+ var/image/cap = getpipeimage(icon, "connector_cap", initialize_directions, piping_layer = piping_layer)
+ add_overlay(cap)
+
+/obj/machinery/atmospherics/components/unary/portables_connector/process_atmos()
+ if(!connected_device)
+ return
+ update_parents()
+
/obj/machinery/atmospherics/components/unary/portables_connector/can_unwrench(mob/user)
. = ..()
if(. && connected_device)
@@ -60,3 +44,24 @@
return connected_device.portableConnectorReturnAir()
/obj/proc/portableConnectorReturnAir()
+ return
+
+
+/obj/machinery/atmospherics/components/unary/portables_connector/layer1
+ piping_layer = 1
+ icon_state = "connector_map-1"
+
+/obj/machinery/atmospherics/components/unary/portables_connector/layer3
+ piping_layer = 3
+ icon_state = "connector_map-3"
+
+/obj/machinery/atmospherics/components/unary/portables_connector/visible
+ level = 2
+
+/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer1
+ piping_layer = 1
+ icon_state = "connector_map-1"
+
+/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3
+ piping_layer = 3
+ icon_state = "connector_map-3"
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/tank.dm b/code/modules/atmospherics/machinery/components/unary_devices/tank.dm
index 4dd2216b19..c1bd59f49b 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/tank.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/tank.dm
@@ -5,11 +5,11 @@
name = "pressure tank"
desc = "A large vessel containing pressurized gas."
max_integrity = 800
- var/volume = 10000 //in liters, 1 meters by 1 meters by 2 meters
density = TRUE
- var/gas_type = 0
layer = ABOVE_WINDOW_LAYER
pipe_flags = PIPING_ONE_PER_TURF
+ var/volume = 10000 //in liters
+ var/gas_type = 0
/obj/machinery/atmospherics/components/unary/tank/New()
..()
@@ -20,6 +20,16 @@
air_contents.gases[gas_type] = AIR_CONTENTS
name = "[name] ([GLOB.meta_gas_names[gas_type]])"
+/obj/machinery/atmospherics/components/unary/tank/air
+ icon_state = "grey"
+ name = "pressure tank (Air)"
+
+/obj/machinery/atmospherics/components/unary/tank/air/New()
+ ..()
+ var/datum/gas_mixture/air_contents = airs[1]
+ air_contents.gases[/datum/gas/oxygen] = AIR_CONTENTS * 0.2
+ air_contents.gases[/datum/gas/nitrogen] = AIR_CONTENTS * 0.8
+
/obj/machinery/atmospherics/components/unary/tank/carbon_dioxide
gas_type = /datum/gas/carbon_dioxide
@@ -27,7 +37,6 @@
icon_state = "orange"
gas_type = /datum/gas/plasma
-
/obj/machinery/atmospherics/components/unary/tank/oxygen
icon_state = "blue"
gas_type = /datum/gas/oxygen
@@ -40,12 +49,3 @@
icon_state = "red_white"
gas_type = /datum/gas/nitrous_oxide
-/obj/machinery/atmospherics/components/unary/tank/air
- icon_state = "grey"
- name = "pressure tank (Air)"
-
-/obj/machinery/atmospherics/components/unary/tank/air/New()
- ..()
- var/datum/gas_mixture/air_contents = airs[1]
- air_contents.gases[/datum/gas/oxygen] = AIR_CONTENTS * 0.2
- air_contents.gases[/datum/gas/nitrogen] = AIR_CONTENTS * 0.8
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm
index 2e06e68709..c69c4c47b0 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm
@@ -11,7 +11,7 @@
layer = OBJ_LAYER
circuit = /obj/item/circuitboard/machine/thermomachine
- pipe_flags = PIPING_ONE_PER_TURF | PIPING_DEFAULT_LAYER_ONLY
+ pipe_flags = PIPING_ONE_PER_TURF
var/icon_state_off = "freezer"
var/icon_state_on = "freezer_1"
@@ -28,7 +28,10 @@
initialize_directions = dir
/obj/machinery/atmospherics/components/unary/thermomachine/on_construction()
- ..(dir,dir)
+ var/obj/item/circuitboard/machine/thermomachine/board = circuit
+ if(board)
+ piping_layer = board.pipe_layer
+ ..(dir, piping_layer)
/obj/machinery/atmospherics/components/unary/thermomachine/RefreshParts()
var/B
@@ -37,6 +40,8 @@
heat_capacity = 5000 * ((B - 1) ** 2)
/obj/machinery/atmospherics/components/unary/thermomachine/update_icon()
+ cut_overlays()
+
if(panel_open)
icon_state = icon_state_open
else if(on && is_operational())
@@ -44,6 +49,8 @@
else
icon_state = icon_state_off
+ add_overlay(getpipeimage(icon, "pipe", dir, , piping_layer))
+
/obj/machinery/atmospherics/components/unary/thermomachine/update_icon_nopipes()
cut_overlays()
if(showpipe)
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
index 75f2a60f80..3cbf1b4d0e 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
@@ -6,9 +6,9 @@
#define RELEASING 1
/obj/machinery/atmospherics/components/unary/vent_pump
+ icon_state = "vent_map-2"
name = "air vent"
desc = "Has a valve and pump attached to it."
- icon_state = "vent_map"
use_power = IDLE_POWER_USE
can_unwrench = TRUE
welded = FALSE
@@ -32,92 +32,6 @@
pipe_state = "uvent"
-/obj/machinery/atmospherics/components/unary/vent_pump/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/on
- on = TRUE
- icon_state = "vent_map_on"
-
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon
- pump_direction = SIPHONING
- pressure_checks = INT_BOUND
- internal_pressure_bound = 4000
- external_pressure_bound = 0
-
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on
- on = TRUE
- icon_state = "vent_map_siphon_on"
-
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos
- frequency = FREQ_ATMOS_STORAGE
- on = TRUE
- icon_state = "vent_map_siphon_on"
-
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxin_output
- name = "plasma tank output inlet"
- id_tag = ATMOS_GAS_MONITOR_OUTPUT_TOX
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/oxygen_output
- name = "oxygen tank output inlet"
- id_tag = ATMOS_GAS_MONITOR_OUTPUT_O2
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrogen_output
- name = "nitrogen tank output inlet"
- id_tag = ATMOS_GAS_MONITOR_OUTPUT_N2
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/mix_output
- name = "mix tank output inlet"
- id_tag = ATMOS_GAS_MONITOR_OUTPUT_MIX
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrous_output
- name = "nitrous oxide tank output inlet"
- id_tag = ATMOS_GAS_MONITOR_OUTPUT_N2O
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/carbon_output
- name = "carbon dioxide tank output inlet"
- id_tag = ATMOS_GAS_MONITOR_OUTPUT_CO2
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/incinerator_output
- name = "incinerator chamber output inlet"
- id_tag = ATMOS_GAS_MONITOR_OUTPUT_INCINERATOR
- frequency = FREQ_ATMOS_CONTROL
-/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxins_mixing_output
- name = "toxins mixing output inlet"
- id_tag = ATMOS_GAS_MONITOR_OUTPUT_TOXINS_LAB
- frequency = FREQ_ATMOS_CONTROL
-
/obj/machinery/atmospherics/components/unary/vent_pump/New()
..()
if(!id_tag)
@@ -133,82 +47,11 @@
radio_connection = null
return ..()
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume
- name = "large air vent"
- power_channel = EQUIP
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on
- on = TRUE
- icon_state = "vent_map_on"
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon
- pump_direction = SIPHONING
- pressure_checks = INT_BOUND
- internal_pressure_bound = 2000
- external_pressure_bound = 0
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on
- on = TRUE
- icon_state = "vent_map_siphon_on"
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos
- frequency = FREQ_ATMOS_STORAGE
- on = TRUE
- icon_state = "vent_map_siphon_on"
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output
- name = "air mix tank output inlet"
- id_tag = ATMOS_GAS_MONITOR_OUTPUT_AIR
-
-/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/New()
- ..()
- var/datum/gas_mixture/air_contents = airs[1]
- air_contents.volume = 1000
-
/obj/machinery/atmospherics/components/unary/vent_pump/update_icon_nopipes()
cut_overlays()
if(showpipe)
- add_overlay(getpipeimage(icon, "vent_cap", initialize_directions))
+ var/image/cap = getpipeimage(icon, "vent_cap", initialize_directions, piping_layer = piping_layer)
+ add_overlay(cap)
if(welded)
icon_state = "vent_welded"
@@ -445,6 +288,149 @@
pipe_vision_img.plane = ABOVE_HUD_PLANE
playsound(loc, 'sound/weapons/bladeslice.ogg', 100, 1)
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume
+ name = "large air vent"
+ power_channel = EQUIP
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/New()
+ ..()
+ var/datum/gas_mixture/air_contents = airs[1]
+ air_contents.volume = 1000
+
+// mapping
+
+/obj/machinery/atmospherics/components/unary/vent_pump/layer1
+ piping_layer = 1
+ icon_state = "vent_map-1"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/layer3
+ piping_layer = 3
+ icon_state = "vent_map-3"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/on
+ on = TRUE
+ icon_state = "vent_map_on-2"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1
+ piping_layer = 1
+ icon_state = "vent_map_on-1"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer3
+ piping_layer = 3
+ icon_state = "vent_map_on-3"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon
+ pump_direction = SIPHONING
+ pressure_checks = INT_BOUND
+ internal_pressure_bound = 4000
+ external_pressure_bound = 0
+
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer1
+ piping_layer = 1
+ icon_state = "vent_map-1"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer3
+ piping_layer = 3
+ icon_state = "vent_map-3"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on
+ on = TRUE
+ icon_state = "vent_map_siphon_on-2"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on/layer1
+ piping_layer = 1
+ icon_state = "vent_map_siphon_on-1"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on/layer3
+ piping_layer = 3
+ icon_state = "vent_map_siphon_on-3"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos
+ frequency = FREQ_ATMOS_STORAGE
+ on = TRUE
+ icon_state = "vent_map_siphon_on-2"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxin_output
+ name = "plasma tank output inlet"
+ id_tag = ATMOS_GAS_MONITOR_OUTPUT_TOX
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/oxygen_output
+ name = "oxygen tank output inlet"
+ id_tag = ATMOS_GAS_MONITOR_OUTPUT_O2
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrogen_output
+ name = "nitrogen tank output inlet"
+ id_tag = ATMOS_GAS_MONITOR_OUTPUT_N2
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/mix_output
+ name = "mix tank output inlet"
+ id_tag = ATMOS_GAS_MONITOR_OUTPUT_MIX
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrous_output
+ name = "nitrous oxide tank output inlet"
+ id_tag = ATMOS_GAS_MONITOR_OUTPUT_N2O
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/carbon_output
+ name = "carbon dioxide tank output inlet"
+ id_tag = ATMOS_GAS_MONITOR_OUTPUT_CO2
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/incinerator_output
+ name = "incinerator chamber output inlet"
+ id_tag = ATMOS_GAS_MONITOR_OUTPUT_INCINERATOR
+ frequency = FREQ_ATMOS_CONTROL
+/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxins_mixing_output
+ name = "toxins mixing output inlet"
+ id_tag = ATMOS_GAS_MONITOR_OUTPUT_TOXINS_LAB
+ frequency = FREQ_ATMOS_CONTROL
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer1
+ piping_layer = 1
+ icon_state = "vent_map-1"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/layer3
+ piping_layer = 3
+ icon_state = "map_vent-3"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on
+ on = TRUE
+ icon_state = "vent_map_on-2"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer1
+ piping_layer = 1
+ icon_state = "vent_map_on-1"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer3
+ piping_layer = 3
+ icon_state = "map_vent_on-3"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon
+ pump_direction = SIPHONING
+ pressure_checks = INT_BOUND
+ internal_pressure_bound = 2000
+ external_pressure_bound = 0
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/layer1
+ piping_layer = 1
+ icon_state = "vent_map-1"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/layer3
+ piping_layer = 3
+ icon_state = "map_vent-3"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on
+ on = TRUE
+ icon_state = "vent_map_siphon_on-2"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on/layer1
+ piping_layer = 1
+ icon_state = "vent_map_siphon_on-1"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/on/layer3
+ piping_layer = 3
+ icon_state = "vent_map_siphon_on-3"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos
+ frequency = FREQ_ATMOS_STORAGE
+ on = TRUE
+ icon_state = "vent_map_siphon_on-2"
+
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output
+ name = "air mix tank output inlet"
+ id_tag = ATMOS_GAS_MONITOR_OUTPUT_AIR
#undef INT_BOUND
#undef EXT_BOUND
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
index 9c3d07c96a..22cd9d7fca 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
@@ -2,9 +2,9 @@
#define SCRUBBING 1
/obj/machinery/atmospherics/components/unary/vent_scrubber
+ icon_state = "scrub_map-2"
name = "air scrubber"
desc = "Has a valve and pump attached to it."
- icon_state = "scrub_map"
use_power = IDLE_POWER_USE
idle_power_usage = 10
active_power_usage = 60
@@ -28,16 +28,6 @@
pipe_state = "scrubber"
-/obj/machinery/atmospherics/components/unary/vent_scrubber/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_scrubber/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
/obj/machinery/atmospherics/components/unary/vent_scrubber/New()
..()
if(!id_tag)
@@ -48,20 +38,6 @@
filter_types -= f
filter_types += gas_id2path(f)
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on
- on = TRUE
- icon_state = "scrub_map_on"
-
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
/obj/machinery/atmospherics/components/unary/vent_scrubber/Destroy()
var/area/A = get_area(src)
if (A)
@@ -92,7 +68,8 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/update_icon_nopipes()
cut_overlays()
if(showpipe)
- add_overlay(getpipeimage(icon, "scrub_cap", initialize_directions))
+ var/image/cap = getpipeimage(icon, "scrub_cap", initialize_directions, piping_layer = piping_layer)
+ add_overlay(cap)
if(welded)
icon_state = "scrub_welded"
@@ -322,7 +299,25 @@
pipe_vision_img.plane = ABOVE_HUD_PLANE
playsound(loc, 'sound/weapons/bladeslice.ogg', 100, 1)
+/obj/machinery/atmospherics/components/unary/vent_scrubber/layer1
+ piping_layer = 1
+ icon_state = "scrub_map-1"
+/obj/machinery/atmospherics/components/unary/vent_scrubber/layer3
+ piping_layer = 3
+ icon_state = "scrub_map-3"
+
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on
+ on = TRUE
+ icon_state = "scrub_map_on-2"
+
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1
+ piping_layer = 1
+ icon_state = "scrub_map_on-1"
+
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3
+ piping_layer = 3
+ icon_state = "scrub_map_on-3"
#undef SIPHONING
#undef SCRUBBING
diff --git a/code/modules/atmospherics/machinery/other/meter.dm b/code/modules/atmospherics/machinery/other/meter.dm
index eb7d9534c1..fab70cc168 100644
--- a/code/modules/atmospherics/machinery/other/meter.dm
+++ b/code/modules/atmospherics/machinery/other/meter.dm
@@ -50,10 +50,9 @@
target = candidate
setAttachLayer(candidate.piping_layer)
-/obj/machinery/meter/proc/setAttachLayer(var/new_layer)
+/obj/machinery/meter/proc/setAttachLayer(new_layer)
target_layer = new_layer
- pixel_x = (new_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X
- pixel_y = (new_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y
+ PIPING_LAYER_DOUBLE_SHIFT(src, target_layer)
/obj/machinery/meter/process_atmos()
if(!(target?.flags_1 & INITIALIZED_1))
diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm
index b087859a47..4da053d3c8 100644
--- a/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm
+++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm
@@ -1,5 +1,4 @@
/obj/machinery/atmospherics/pipe/heat_exchanging
- icon = 'icons/obj/atmospherics/pipes/heat.dmi'
level = 2
var/minimum_temperature_difference = 20
var/thermal_conductivity = WINDOW_HEAT_TRANSFER_COEFFICIENT
diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm
index 606693ddda..695cb61f51 100644
--- a/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm
+++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm
@@ -1,6 +1,6 @@
/obj/machinery/atmospherics/pipe/heat_exchanging/junction
- icon = 'icons/obj/atmospherics/pipes/junction.dmi'
- icon_state = "intact"
+ icon = 'icons/obj/atmospherics/pipes/he-junction.dmi'
+ icon_state = "pipe11-2"
name = "junction"
desc = "A one meter junction that connects regular and heat-exchanging pipe."
@@ -15,21 +15,11 @@
construction_type = /obj/item/pipe/directional
pipe_state = "junction"
-/obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
/obj/machinery/atmospherics/pipe/heat_exchanging/junction/SetInitDirections()
switch(dir)
- if(NORTH,SOUTH)
+ if(NORTH, SOUTH)
initialize_directions = SOUTH|NORTH
- if(EAST,WEST)
+ if(EAST, WEST)
initialize_directions = WEST|EAST
/obj/machinery/atmospherics/pipe/heat_exchanging/junction/getNodeConnects()
@@ -37,5 +27,19 @@
/obj/machinery/atmospherics/pipe/heat_exchanging/junction/isConnectable(obj/machinery/atmospherics/target, given_layer, he_type_check)
if(dir == get_dir(target, src))
- return ..(target, given_layer, FALSE) //we want a normal pipe instead
+ return ..(target, given_layer, FALSE) //we want a normal pipe instead
return ..(target, given_layer, TRUE)
+
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction/update_icon()
+ icon_state = "pipe[nodes[1] ? "1" : "0"][nodes[2] ? "1" : "0"]-[piping_layer]"
+ update_layer()
+ update_alpha()
+
+
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer1
+ piping_layer = 1
+ icon_state = "pipe11-1"
+
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer3
+ piping_layer = 3
+ icon_state = "pipe11-3"
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold.dm
index 6689905cf7..e8704b4c40 100644
--- a/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold.dm
+++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold.dm
@@ -1,4 +1,4 @@
-//3-way manifold
+//3-Way Manifold
/obj/machinery/atmospherics/pipe/heat_exchanging/manifold
icon_state = "manifold"
@@ -13,74 +13,34 @@
construction_type = /obj/item/pipe/trinary
pipe_state = "he_manifold"
-/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
+ var/mutable_appearance/center
-/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
+/obj/machinery/atmospherics/pipe/manifold/Initialize()
+ icon_state = ""
+ center = mutable_appearance(icon, "manifold_center")
+ return ..()
/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/SetInitDirections()
- switch(dir)
- if(NORTH)
- initialize_directions = EAST|SOUTH|WEST
- if(SOUTH)
- initialize_directions = WEST|NORTH|EAST
- if(EAST)
- initialize_directions = SOUTH|WEST|NORTH
- if(WEST)
- initialize_directions = NORTH|EAST|SOUTH
+ initialize_directions = NORTH|SOUTH|EAST|WEST
+ initialize_directions &= ~dir
/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/update_icon()
- var/invis = invisibility ? "-f" : ""
-
- icon_state = "manifold_center[invis]"
-
cut_overlays()
+ PIPING_LAYER_DOUBLE_SHIFT(center, piping_layer)
+ add_overlay(center)
//Add non-broken pieces
for(var/i in 1 to device_type)
if(nodes[i])
- add_overlay(getpipeimage('icons/obj/atmospherics/pipes/heat.dmi', "manifold_intact[invis]", get_dir(src, nodes[i])))
+ add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) )
-//4-way manifold
-/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w
- icon_state = "manifold4w"
+ update_layer()
+ update_alpha()
- name = "4-way pipe manifold"
- desc = "A manifold composed of heat-exchanging pipes."
+/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/layer1
+ piping_layer = 1
+ icon_state = "manifold-1"
- initialize_directions = NORTH|SOUTH|EAST|WEST
-
- device_type = QUATERNARY
-
- construction_type = /obj/item/pipe/quaternary
- pipe_state = "he_manifold4w"
-
-/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/SetInitDirections()
- initialize_directions = initial(initialize_directions)
-
-/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/update_icon()
- var/invis = invisibility ? "-f" : ""
-
- icon_state = "manifold4w_center[invis]"
-
- cut_overlays()
-
- //Add non-broken pieces
- for(var/i in 1 to device_type)
- if(nodes[i])
- add_overlay(getpipeimage('icons/obj/atmospherics/pipes/heat.dmi', "manifold_intact[invis]", get_dir(src, nodes[i])))
+/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/layer3
+ piping_layer = 3
+ icon_state = "manifold-3"
diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold4w.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold4w.dm
new file mode 100644
index 0000000000..88086e44e2
--- /dev/null
+++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/manifold4w.dm
@@ -0,0 +1,48 @@
+//4-Way Manifold
+
+/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w
+ icon = 'icons/obj/atmospherics/pipes/he-manifold.dmi'
+ icon_state = "manifold4w-2"
+
+ name = "4-way pipe manifold"
+ desc = "A manifold composed of heat-exchanging pipes."
+
+ initialize_directions = NORTH|SOUTH|EAST|WEST
+
+ device_type = QUATERNARY
+
+ construction_type = /obj/item/pipe/quaternary
+ pipe_state = "he_manifold4w"
+
+ var/mutable_appearance/center
+
+/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/New()
+ icon_state = ""
+ center = mutable_appearance(icon, "manifold4w_center")
+ return ..()
+
+/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/SetInitDirections()
+ initialize_directions = initial(initialize_directions)
+
+/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/update_icon()
+ cut_overlays()
+
+ PIPING_LAYER_DOUBLE_SHIFT(center, piping_layer)
+ add_overlay(center)
+
+ //Add non-broken pieces
+ for(var/i in 1 to device_type)
+ if(nodes[i])
+ add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) )
+
+ update_layer()
+ update_alpha()
+
+
+/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/layer1
+ piping_layer = 1
+ icon_state = "manifold4w-1"
+
+/obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w/layer3
+ piping_layer = 3
+ icon_state = "manifold4w-3"
diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm
index ad137a227d..3397e75314 100644
--- a/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm
+++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm
@@ -1,46 +1,38 @@
/obj/machinery/atmospherics/pipe/heat_exchanging/simple
- icon_state = "intact"
+ icon = 'icons/obj/atmospherics/pipes/he-simple.dmi'
+ icon_state = "pipe11-2"
name = "pipe"
desc = "A one meter section of heat-exchanging pipe."
dir = SOUTH
initialize_directions = SOUTH|NORTH
+ pipe_flags = PIPING_CARDINAL_AUTONORMALIZE
device_type = BINARY
construction_type = /obj/item/pipe/binary/bendable
pipe_state = "he"
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
/obj/machinery/atmospherics/pipe/heat_exchanging/simple/SetInitDirections()
if(dir in GLOB.diagonals)
initialize_directions = dir
+ return
switch(dir)
- if(NORTH,SOUTH)
+ if(NORTH, SOUTH)
initialize_directions = SOUTH|NORTH
- if(EAST,WEST)
- initialize_directions = WEST|EAST
-
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple/proc/normalize_dir()
- if(dir==SOUTH)
- setDir(NORTH)
- else if(dir==WEST)
- setDir(EAST)
-
-/obj/machinery/atmospherics/pipe/heat_exchanging/simple/atmosinit()
- normalize_dir()
- ..()
+ if(EAST, WEST)
+ initialize_directions = EAST|WEST
/obj/machinery/atmospherics/pipe/heat_exchanging/simple/update_icon()
- normalize_dir()
- ..()
+ icon_state = "pipe[nodes[1] ? "1" : "0"][nodes[2] ? "1" : "0"]-[piping_layer]"
+ update_layer()
+ update_alpha()
+
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer1
+ piping_layer = 1
+ icon_state = "pipe11-1"
+
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer3
+ piping_layer = 3
+ icon_state = "pipe11-3"
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm
index acafc7436a..b98098584f 100644
--- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm
+++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm
@@ -1,5 +1,5 @@
/obj/machinery/atmospherics/pipe/layer_manifold
- name = "pipe-layer manifold"
+ name = "layer adaptor"
icon = 'icons/obj/atmospherics/pipes/manifold.dmi'
icon_state = "manifoldlayer"
desc = "A special pipe to bridge pipe layers with."
@@ -9,14 +9,15 @@
piping_layer = PIPING_LAYER_DEFAULT
device_type = 0
volume = 260
+ construction_type = /obj/item/pipe/binary
+ pipe_state = "manifoldlayer"
var/list/front_nodes
var/list/back_nodes
- construction_type = /obj/item/pipe/binary
- pipe_state = "layer_manifold"
/obj/machinery/atmospherics/pipe/layer_manifold/Initialize()
front_nodes = list()
back_nodes = list()
+ icon_state = "manifoldlayer_center"
return ..()
/obj/machinery/atmospherics/pipe/layer_manifold/Destroy()
@@ -36,30 +37,36 @@
return front_nodes + back_nodes + nodes
/obj/machinery/atmospherics/pipe/layer_manifold/update_icon() //HEAVILY WIP FOR UPDATE ICONS!!
- layer = (initial(layer) + (PIPING_LAYER_MAX * PIPING_LAYER_LCHANGE)) //This is above everything else.
- var/invis = invisibility ? "-f" : ""
- icon_state = "[initial(icon_state)][invis]"
cut_overlays()
- for(var/obj/machinery/atmospherics/A in front_nodes)
- add_attached_image(A)
- for(var/obj/machinery/atmospherics/A in back_nodes)
- add_attached_image(A)
+ layer = initial(layer) + (PIPING_LAYER_MAX * PIPING_LAYER_LCHANGE) //This is above everything else.
-/obj/machinery/atmospherics/pipe/layer_manifold/proc/add_attached_image(obj/machinery/atmospherics/A)
- var/invis = A.invisibility ? "-f" : ""
+ for(var/node in front_nodes)
+ add_attached_images(node)
+ for(var/node in back_nodes)
+ add_attached_images(node)
+
+ update_alpha()
+
+/obj/machinery/atmospherics/pipe/layer_manifold/proc/add_attached_images(obj/machinery/atmospherics/A)
+ if(!A)
+ return
if(istype(A, /obj/machinery/atmospherics/pipe/layer_manifold))
- for(var/i = PIPING_LAYER_MIN, i <= PIPING_LAYER_MAX, i++)
- var/image/I = getpipeimage('icons/obj/atmospherics/pipes/manifold.dmi', "manifold_full_layer_long[invis]", get_dir(src, A), A.pipe_color)
- I.pixel_x = (i - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_X
- I.pixel_y = (i - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y
- I.layer = layer - 0.01
- add_overlay(I)
+ for(var/i in PIPING_LAYER_MIN to PIPING_LAYER_MAX)
+ add_attached_image(get_dir(src, A), i)
+ return
+ add_attached_image(get_dir(src, A), A.piping_layer, A.pipe_color)
+
+/obj/machinery/atmospherics/pipe/layer_manifold/proc/add_attached_image(p_dir, p_layer, p_color = null)
+ var/image/I
+
+ if(p_color)
+ I = getpipeimage(icon, "pipe", p_dir, p_color, piping_layer = piping_layer)
else
- var/image/I = getpipeimage('icons/obj/atmospherics/pipes/manifold.dmi', "manifold_full_layer_long[invis]", get_dir(src, A), A.pipe_color)
- I.pixel_x = A.pixel_x
- I.pixel_y = A.pixel_y
- I.layer = layer - 0.01
- add_overlay(I)
+ I = getpipeimage(icon, "pipe", p_dir, piping_layer = piping_layer)
+
+ I.layer = layer - 0.01
+ PIPING_LAYER_SHIFT(I, p_layer)
+ add_overlay(I)
/obj/machinery/atmospherics/pipe/layer_manifold/SetInitDirections()
switch(dir)
diff --git a/code/modules/atmospherics/machinery/pipes/manifold.dm b/code/modules/atmospherics/machinery/pipes/manifold.dm
index b089ebfa0a..77452fd6fd 100644
--- a/code/modules/atmospherics/machinery/pipes/manifold.dm
+++ b/code/modules/atmospherics/machinery/pipes/manifold.dm
@@ -1,9 +1,8 @@
-/*
-3-Way Manifold
-*/
+//3-Way Manifold
+
/obj/machinery/atmospherics/pipe/manifold
icon = 'icons/obj/atmospherics/pipes/manifold.dmi'
- icon_state = "manifold"
+ icon_state = "manifold-2"
name = "pipe manifold"
desc = "A manifold composed of regular pipes."
@@ -16,399 +15,25 @@
construction_type = /obj/item/pipe/trinary
pipe_state = "manifold"
+ var/mutable_appearance/center
+
+/obj/machinery/atmospherics/pipe/manifold/Initialize()
+ icon_state = ""
+ center = mutable_appearance(icon, "manifold_center")
+ return ..()
+
/obj/machinery/atmospherics/pipe/manifold/SetInitDirections()
- switch(dir)
- if(NORTH)
- initialize_directions = EAST|SOUTH|WEST
- if(SOUTH)
- initialize_directions = WEST|NORTH|EAST
- if(EAST)
- initialize_directions = SOUTH|WEST|NORTH
- if(WEST)
- initialize_directions = NORTH|EAST|SOUTH
+ initialize_directions = NORTH|SOUTH|EAST|WEST
+ initialize_directions &= ~dir
/obj/machinery/atmospherics/pipe/manifold/update_icon()
- var/invis = invisibility ? "-f" : ""
-
- icon_state = "manifold_center[invis]"
-
cut_overlays()
+ PIPING_LAYER_DOUBLE_SHIFT(center, piping_layer)
+ add_overlay(center)
//Add non-broken pieces
for(var/i in 1 to device_type)
if(nodes[i])
- add_overlay(getpipeimage('icons/obj/atmospherics/pipes/manifold.dmi', "manifold_full[invis]", get_dir(src, nodes[i])))
-
-//Colored pipes, use these for mapping
-/obj/machinery/atmospherics/pipe/manifold/general
-
-/obj/machinery/atmospherics/pipe/manifold/general/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold/general/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/general/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/general/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold/general/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/general/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/scrubbers
- name="scrubbers pipe"
- pipe_color=rgb(255,0,0)
- color=rgb(255,0,0)
-
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/supply
- name="air supply pipe"
- pipe_color=rgb(0,0,255)
- color=rgb(0,0,255)
-
-/obj/machinery/atmospherics/pipe/manifold/supply/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/supply/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/supplymain
- name="main air supply pipe"
- pipe_color=rgb(130,43,255)
- color=rgb(130,43,255)
-
-/obj/machinery/atmospherics/pipe/manifold/supplymain/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold/supplymain/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/supplymain/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/yellow
- pipe_color=rgb(255,198,0)
- color=rgb(255,198,0)
-
-/obj/machinery/atmospherics/pipe/manifold/yellow/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold/yellow/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/yellow/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/yellow/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold/yellow/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/yellow/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/cyan
- pipe_color=rgb(0,255,249)
- color=rgb(0,255,249)
-
-/obj/machinery/atmospherics/pipe/manifold/cyan/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold/cyan/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/cyan/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/green
- pipe_color=rgb(30,255,0)
- color=rgb(30,255,0)
-
-/obj/machinery/atmospherics/pipe/manifold/green/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold/green/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/green/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/green/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold/green/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/green/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/orange
- pipe_color=rgb(255,129,25)
- color=rgb(255,129,25)
-
-/obj/machinery/atmospherics/pipe/manifold/orange/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold/orange/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/orange/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/orange/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold/orange/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/orange/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/purple
- pipe_color=rgb(128,0,182)
- color=rgb(128,0,182)
-
-/obj/machinery/atmospherics/pipe/manifold/purple/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold/purple/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/purple/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/purple/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold/purple/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/purple/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/dark
- pipe_color=rgb(69,69,69)
- color=rgb(69,69,69)
-
-/obj/machinery/atmospherics/pipe/manifold/dark/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold/dark/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/dark/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/dark/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold/dark/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/dark/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/violet
- pipe_color=rgb(64,0,128)
- color=rgb(64,0,128)
-
-/obj/machinery/atmospherics/pipe/manifold/violet/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold/violet/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/violet/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/violet/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold/violet/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/violet/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/brown
- pipe_color=rgb(178,100,56)
- color=rgb(178,100,56)
-
-/obj/machinery/atmospherics/pipe/manifold/brown/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold/brown/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/brown/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/brown/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold/brown/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold/brown/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
+ add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) )
+ update_layer()
+ update_alpha()
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/pipes/manifold4w.dm b/code/modules/atmospherics/machinery/pipes/manifold4w.dm
index 5dc68f1609..1bcca8d5ae 100644
--- a/code/modules/atmospherics/machinery/pipes/manifold4w.dm
+++ b/code/modules/atmospherics/machinery/pipes/manifold4w.dm
@@ -1,9 +1,8 @@
-/*
-4-way manifold
-*/
+//4-Way Manifold
+
/obj/machinery/atmospherics/pipe/manifold4w
icon = 'icons/obj/atmospherics/pipes/manifold.dmi'
- icon_state = "manifold4w"
+ icon_state = "manifold4w-2"
name = "4-way pipe manifold"
desc = "A manifold composed of regular pipes."
@@ -15,391 +14,24 @@
construction_type = /obj/item/pipe/quaternary
pipe_state = "manifold4w"
+ var/mutable_appearance/center
+
+/obj/machinery/atmospherics/pipe/manifold4w/Initialize()
+ icon_state = ""
+ center = mutable_appearance(icon, "manifold4w_center")
+ return ..()
+
/obj/machinery/atmospherics/pipe/manifold4w/SetInitDirections()
initialize_directions = initial(initialize_directions)
/obj/machinery/atmospherics/pipe/manifold4w/update_icon()
- var/invis = invisibility ? "-f" : ""
-
- icon_state = "manifold4w_center[invis]"
-
cut_overlays()
+ PIPING_LAYER_DOUBLE_SHIFT(center, piping_layer)
+ add_overlay(center)
//Add non-broken pieces
for(var/i in 1 to device_type)
if(nodes[i])
- add_overlay(getpipeimage('icons/obj/atmospherics/pipes/manifold.dmi', "manifold_full[invis]", get_dir(src, nodes[i])))
-
-//Colored pipes, use these for mapping
-/obj/machinery/atmospherics/pipe/manifold4w/general
-
-/obj/machinery/atmospherics/pipe/manifold4w/general/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold4w/general/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/general/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/general/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold4w/general/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/general/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers
- name="scrubbers pipe"
- pipe_color=rgb(255,0,0)
- color=rgb(255,0,0)
-
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/supply
- name="air supply pipe"
- pipe_color=rgb(0,0,255)
- color=rgb(0,0,255)
-
-/obj/machinery/atmospherics/pipe/manifold4w/supply/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold4w/supply/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/supply/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/supplymain
- name="main air supply pipe"
- pipe_color=rgb(130,43,255)
- color=rgb(130,43,255)
-
-/obj/machinery/atmospherics/pipe/manifold4w/supplymain/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold4w/supplymain/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/supplymain/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/supplymain/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold4w/supplymain/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/supplymain/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/yellow
- pipe_color=rgb(255,198,0)
- color=rgb(255,198,0)
-
-/obj/machinery/atmospherics/pipe/manifold4w/yellow/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold4w/yellow/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/yellow/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/yellow/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold4w/yellow/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/yellow/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/cyan
- pipe_color=rgb(0,255,249)
- color=rgb(0,255,249)
-
-/obj/machinery/atmospherics/pipe/manifold4w/cyan/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold4w/cyan/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/cyan/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/cyan/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold4w/cyan/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/cyan/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/green
- pipe_color=rgb(30,255,0)
- color=rgb(30,255,0)
-
-/obj/machinery/atmospherics/pipe/manifold4w/green/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold4w/green/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/green/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/green/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold4w/green/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/green/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/orange
- pipe_color=rgb(255,129,25)
- color=rgb(255,129,25)
-
-/obj/machinery/atmospherics/pipe/manifold4w/orange/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold4w/orange/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/orange/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/purple
- pipe_color=rgb(128,0,182)
- color=rgb(128,0,182)
-
-/obj/machinery/atmospherics/pipe/manifold4w/purple/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold4w/purple/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/purple/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/purple/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold4w/purple/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/purple/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/dark
- pipe_color=rgb(69,69,69)
- color=rgb(69,69,69)
-
-/obj/machinery/atmospherics/pipe/manifold4w/dark/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold4w/dark/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/dark/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/dark/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold4w/dark/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/dark/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/violet
- pipe_color=rgb(64,0,128)
- color=rgb(64,0,128)
-
-/obj/machinery/atmospherics/pipe/manifold4w/violet/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold4w/violet/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/violet/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/violet/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold4w/violet/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/violet/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/brown
- pipe_color=rgb(178,100,56)
- color=rgb(178,100,56)
-
-/obj/machinery/atmospherics/pipe/manifold4w/brown/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/manifold4w/brown/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/brown/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/brown/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/manifold4w/brown/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/manifold4w/brown/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
+ add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) )
+ update_layer()
+ update_alpha()
\ No newline at end of file
diff --git a/code/modules/atmospherics/machinery/pipes/mapping.dm b/code/modules/atmospherics/machinery/pipes/mapping.dm
new file mode 100644
index 0000000000..c868d377ea
--- /dev/null
+++ b/code/modules/atmospherics/machinery/pipes/mapping.dm
@@ -0,0 +1,65 @@
+//Colored pipes, use these for mapping
+
+#define HELPER_PARTIAL(Fulltype, Iconbase, Color) \
+ ##Fulltype { \
+ pipe_color = Color; \
+ color = Color; \
+ } \
+ ##Fulltype/visible { \
+ level = PIPE_VISIBLE_LEVEL; \
+ layer = GAS_PIPE_VISIBLE_LAYER; \
+ } \
+ ##Fulltype/visible/layer1 { \
+ piping_layer = 1; \
+ icon_state = Iconbase + "-1"; \
+ } \
+ ##Fulltype/visible/layer3 { \
+ piping_layer = 3; \
+ icon_state = Iconbase + "-3"; \
+ } \
+ ##Fulltype/hidden { \
+ level = PIPE_HIDDEN_LEVEL; \
+ } \
+ ##Fulltype/hidden/layer1 { \
+ piping_layer = 1; \
+ icon_state = Iconbase + "-1"; \
+ } \
+ ##Fulltype/hidden/layer3 { \
+ piping_layer = 3; \
+ icon_state = Iconbase + "-3"; \
+ }
+
+#define HELPER_PARTIAL_NAMED(Fulltype, Iconbase, Name, Color) \
+ HELPER_PARTIAL(Fulltype, Iconbase, Color) \
+ ##Fulltype { \
+ name = Name; \
+ }
+
+#define HELPER(Type, Color) \
+ HELPER_PARTIAL(/obj/machinery/atmospherics/pipe/simple/##Type, "pipe11", Color) \
+ HELPER_PARTIAL(/obj/machinery/atmospherics/pipe/manifold/##Type, "manifold", Color) \
+ HELPER_PARTIAL(/obj/machinery/atmospherics/pipe/manifold4w/##Type, "manifold4w", Color)
+
+#define HELPER_NAMED(Type, Name, Color) \
+ HELPER_PARTIAL_NAMED(/obj/machinery/atmospherics/pipe/simple/##Type, "pipe11", Name, Color) \
+ HELPER_PARTIAL_NAMED(/obj/machinery/atmospherics/pipe/manifold/##Type, "manifold", Name, Color) \
+ HELPER_PARTIAL_NAMED(/obj/machinery/atmospherics/pipe/manifold4w/##Type, "manifold4w", Name, Color)
+
+HELPER(general, null)
+HELPER(yellow, rgb(255, 198, 0))
+HELPER(cyan, rgb(0, 255, 249))
+HELPER(green, rgb(30, 255, 0))
+HELPER(orange, rgb(255, 129, 25))
+HELPER(purple, rgb(128, 0, 182))
+HELPER(dark, rgb(69, 69, 69))
+HELPER(brown, rgb(178, 100, 56))
+HELPER(violet, rgb(64, 0, 128))
+
+HELPER_NAMED(scrubbers, "scrubbers pipe", rgb(255, 0, 0))
+HELPER_NAMED(supply, "air supply pipe", rgb(0, 0, 255))
+HELPER_NAMED(supplymain, "main air supply pipe", rgb(130, 43, 255))
+
+#undef HELPER_NAMED
+#undef HELPER
+#undef HELPER_PARTIAL_NAMED
+#undef HELPER_PARTIAL
diff --git a/code/modules/atmospherics/machinery/pipes/pipes.dm b/code/modules/atmospherics/machinery/pipes/pipes.dm
index 0879b30b13..1e513b846c 100644
--- a/code/modules/atmospherics/machinery/pipes/pipes.dm
+++ b/code/modules/atmospherics/machinery/pipes/pipes.dm
@@ -32,14 +32,6 @@
parent = new
parent.build_pipeline(src)
-/obj/machinery/atmospherics/pipe/update_icon() //overridden by manifolds
- if(nodes[1] && nodes[2])
- icon_state = "intact[invisibility ? "-f" : "" ]"
- else
- var/have_node1 = nodes[1] ? TRUE : FALSE
- var/have_node2 = nodes[2] ? TRUE : FALSE
- icon_state = "exposed[have_node1][have_node2][invisibility ? "-f" : "" ]"
-
/obj/machinery/atmospherics/pipe/atmosinit()
var/turf/T = loc // hide if turf is not intact
hide(T.intact)
@@ -93,6 +85,13 @@
qdel(meter)
. = ..()
+/obj/machinery/atmospherics/pipe/update_icon()
+ . = ..()
+ update_alpha()
+
+/obj/machinery/atmospherics/pipe/proc/update_alpha()
+ alpha = invisibility ? 64 : 255
+
/obj/machinery/atmospherics/pipe/proc/update_node_icon()
for(var/i in 1 to device_type)
if(nodes[i])
diff --git a/code/modules/atmospherics/machinery/pipes/simple.dm b/code/modules/atmospherics/machinery/pipes/simple.dm
index 7cab3c23dc..c3f62f16cb 100644
--- a/code/modules/atmospherics/machinery/pipes/simple.dm
+++ b/code/modules/atmospherics/machinery/pipes/simple.dm
@@ -1,11 +1,9 @@
-/*
-Simple Pipe
-The regular pipe you see everywhere, including bent ones.
-*/
+// Simple Pipe
+// The regular pipe you see everywhere, including bent ones.
/obj/machinery/atmospherics/pipe/simple
icon = 'icons/obj/atmospherics/pipes/simple.dmi'
- icon_state = "intact"
+ icon_state = "pipe11-2"
name = "pipe"
desc = "A one meter section of regular pipe."
@@ -20,385 +18,16 @@ The regular pipe you see everywhere, including bent ones.
pipe_state = "simple"
/obj/machinery/atmospherics/pipe/simple/SetInitDirections()
- normalize_cardinal_directions()
if(dir in GLOB.diagonals)
initialize_directions = dir
+ return
switch(dir)
- if(NORTH,SOUTH)
+ if(NORTH, SOUTH)
initialize_directions = SOUTH|NORTH
- if(EAST,WEST)
+ if(EAST, WEST)
initialize_directions = EAST|WEST
-//Colored pipes, use these for mapping
-/obj/machinery/atmospherics/pipe/simple/general
-
-/obj/machinery/atmospherics/pipe/simple/general/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/simple/general/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/general/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/general/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/simple/general/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/general/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/scrubbers
- name="scrubbers pipe"
- pipe_color=rgb(255,0,0)
- color=rgb(255,0,0)
-
-/obj/machinery/atmospherics/pipe/simple/scrubbers/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/supply
- name="air supply pipe"
- pipe_color=rgb(0,0,255)
- color=rgb(0,0,255)
-
-/obj/machinery/atmospherics/pipe/simple/supply/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/simple/supply/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/supply/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/supply/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/supplymain
- name="main air supply pipe"
- pipe_color=rgb(130,43,255)
- color=rgb(130,43,255)
-
-/obj/machinery/atmospherics/pipe/simple/supplymain/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/simple/supplymain/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/supplymain/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/supplymain/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/yellow
- pipe_color=rgb(255,198,0)
- color=rgb(255,198,0)
-
-/obj/machinery/atmospherics/pipe/simple/yellow/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/yellow/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/simple/yellow/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/yellow/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/cyan
- pipe_color=rgb(0,255,249)
- color=rgb(0,255,249)
-
-/obj/machinery/atmospherics/pipe/simple/cyan/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/green
- pipe_color=rgb(30,255,0)
- color=rgb(30,255,0)
-
-/obj/machinery/atmospherics/pipe/simple/green/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/simple/green/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/green/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/green/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/simple/green/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/green/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/orange
- pipe_color=rgb(255,129,25)
- color=rgb(255,129,25)
-
-/obj/machinery/atmospherics/pipe/simple/orange/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/simple/orange/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/orange/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/orange/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/purple
- pipe_color=rgb(128,0,182)
- color=rgb(128,0,182)
-
-/obj/machinery/atmospherics/pipe/simple/purple/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/simple/purple/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/purple/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/purple/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/purple/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/dark
- pipe_color=rgb(69,69,69)
- color=rgb(69,69,69)
-
-/obj/machinery/atmospherics/pipe/simple/dark/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/simple/dark/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/dark/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/dark/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/dark/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/violet
- pipe_color=rgb(64,0,128)
- color=rgb(64,0,128)
-
-/obj/machinery/atmospherics/pipe/simple/violet/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/simple/violet/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/violet/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/violet/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/simple/violet/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/violet/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/brown
- pipe_color=rgb(178,100,56)
- color=rgb(178,100,56)
-
-/obj/machinery/atmospherics/pipe/simple/brown/visible
- level = PIPE_VISIBLE_LEVEL
- layer = GAS_PIPE_VISIBLE_LAYER
-
-/obj/machinery/atmospherics/pipe/simple/brown/visible/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/brown/visible/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/brown/hidden
- level = PIPE_HIDDEN_LEVEL
-
-/obj/machinery/atmospherics/pipe/simple/brown/hidden/layer1
- piping_layer = PIPING_LAYER_MIN
- pixel_x = -PIPING_LAYER_P_X
- pixel_y = -PIPING_LAYER_P_Y
-
-/obj/machinery/atmospherics/pipe/simple/brown/hidden/layer3
- piping_layer = PIPING_LAYER_MAX
- pixel_x = PIPING_LAYER_P_X
- pixel_y = PIPING_LAYER_P_Y
+/obj/machinery/atmospherics/pipe/simple/update_icon()
+ icon_state = "pipe[nodes[1] ? "1" : "0"][nodes[2] ? "1" : "0"]-[piping_layer]"
+ update_layer()
+ update_alpha()
\ No newline at end of file
diff --git a/code/modules/cargo/bounties/assistant.dm b/code/modules/cargo/bounties/assistant.dm
index 9e26cd25fc..4af28d78cc 100644
--- a/code/modules/cargo/bounties/assistant.dm
+++ b/code/modules/cargo/bounties/assistant.dm
@@ -10,13 +10,13 @@
/datum/bounty/item/assistant/skateboard
name = "Skateboard"
description = "Nanotrasen has determined walking to be wasteful. Ship a skateboard to CentCom to speed operations up."
- reward = 750 // the tony hawk
+ reward = 800 // the tony hawk
wanted_types = list(/obj/vehicle/ridden/scooter/skateboard)
/datum/bounty/item/assistant/stunprod
name = "Stunprod"
description = "CentCom demands a stunprod to use against dissidents. Craft one, then ship it."
- reward = 800
+ reward = 950
wanted_types = list(/obj/item/melee/baton/cattleprod)
/datum/bounty/item/assistant/soap
@@ -126,7 +126,7 @@
/datum/bounty/item/assistant/shadyjims
name = "Shady Jim's"
description = "There's an irate officer at CentCom demanding that he receive a box of Shady Jim's cigarettes. Please ship one. He's starting to make threats."
- reward = 750
+ reward = 1150
wanted_types = list(/obj/item/storage/fancy/cigarettes/cigpack_shadyjims)
/datum/bounty/item/assistant/potted_plants
@@ -148,14 +148,14 @@
reward = 1000
required_count = 5
wanted_types = list(/obj/item/restraints/handcuffs)
-
+/* I don't like that you can just buy a box of monkey cubes and finish this for -half- of them.
/datum/bounty/item/assistant/monkey_cubes
name = "Monkey Cubes"
description = "Due to a recent genetics accident, Central Command is in serious need of monkeys. Your mission is to ship monkey cubes."
reward = 2000
required_count = 3
wanted_types = list(/obj/item/reagent_containers/food/snacks/monkeycube)
-
+*/
/datum/bounty/item/assistant/chainsaw
name = "Chainsaw"
description = "The chef at CentCom is having trouble butchering her animals. She requests one chainsaw, please."
@@ -208,15 +208,22 @@
wanted_types = list(/obj/item/shield/makeshift)
/datum/bounty/item/assistant/toolbelts
- name = "Tool Belts"
+ name = "Tool Belts" //Made it 5 so you can't just buy one set of toolbelts to finish the bounty.
description = "These things always seem to go missing. Ship us a few to help us restock."
reward = 1350
- required_count = 3
+ required_count = 5
wanted_types = list(/obj/item/storage/belt/utility)
/datum/bounty/item/assistant/gasmasks
name = "Gas Masks"
description = "The good news is that we have more miasma than we'll ever need. The bad news is, somone opened the release valve on the canisters. Ship us some gas masks!"
- reward = 1100
+ reward = 1250
required_count = 4
wanted_types = list(/obj/item/clothing/mask/gas)
+
+/datum/bounty/item/assistant/pneumatic_cannon
+ name = "Pneumatic Cannons"
+ description = "Have you ever launched a tennis ball, newspaper, or ***** at someones head from across the room? No? We haven't either. Help us rectify this."
+ reward = 2000
+ required_count = 2
+ wanted_types = list(/obj/item/pneumatic_cannon/ghetto)
diff --git a/code/modules/cargo/bounties/botany.dm b/code/modules/cargo/bounties/botany.dm
index 98d7765002..654bcfe74b 100644
--- a/code/modules/cargo/bounties/botany.dm
+++ b/code/modules/cargo/bounties/botany.dm
@@ -10,22 +10,23 @@
reward += multiplier * 1000
required_count = rand(5, 10)
+//Easy Stuff (1200)
+
/datum/bounty/item/botany/ambrosia_vulgaris
name = "Ambrosia Vulgaris Leaves"
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris)
foodtype = "stew"
-/datum/bounty/item/botany/ambrosia_gaia
- name = "Ambrosia Gaia Leaves"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/ambrosia/gaia)
- multiplier = 4
- foodtype = "stew"
+/datum/bounty/item/botany/pineapples
+ name = "Pineapples"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/pineapple)
+ bonus_desc = "Not for human consumption."
+ foodtype = "ashtray"
-/datum/bounty/item/botany/apple_golden
- name = "Golden Apples"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/apple/gold)
- multiplier = 4
- foodtype = "dessert"
+/datum/bounty/item/botany/tomato
+ name = "Tomatoes"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/tomato)
+ exclude_types = list(/obj/item/reagent_containers/food/snacks/grown/tomato/blue)
/datum/bounty/item/botany/banana
name = "Bananas"
@@ -33,58 +34,9 @@
exclude_types = list(/obj/item/reagent_containers/food/snacks/grown/banana/bluespace)
foodtype = "banana split"
-/datum/bounty/item/botany/banana_bluespace
- name = "Bluespace Bananas"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/banana/bluespace)
- multiplier = 2
- foodtype = "banana split"
-
-/datum/bounty/item/botany/beans_koi
- name = "Koi Beans"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/koibeans)
- multiplier = 2
-
-/datum/bounty/item/botany/berries_death
- name = "Death Berries"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/berries/death)
- multiplier = 2
- bonus_desc = "He insists that \"he knows what he's doing\"."
- foodtype = "sorbet"
-
-/datum/bounty/item/botany/berries_glow
- name = "Glow-Berries"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/berries/glow)
- multiplier = 2
- foodtype = "sorbet"
-
-/datum/bounty/item/botany/cannabis
- name = "Cannabis Leaves"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis)
- exclude_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis/white, /obj/item/reagent_containers/food/snacks/grown/cannabis/death, /obj/item/reagent_containers/food/snacks/grown/cannabis/ultimate)
- multiplier = 4 //hush money
- bonus_desc = "Do not mention this shipment to security."
- foodtype = "\"meal\""
-
-/datum/bounty/item/botany/cannabis_white
- name = "Lifeweed Leaves"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis/white)
- multiplier = 6
- bonus_desc = "Do not mention this shipment to security."
- foodtype = "\"meal\""
-
-/datum/bounty/item/botany/cannabis_death
- name = "Deathweed Leaves"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis/death)
- multiplier = 6
- bonus_desc = "Do not mention this shipment to security."
- foodtype = "\"meal\""
-
-/datum/bounty/item/botany/cannabis_ultimate
- name = "Omega Weed Leaves"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis/ultimate)
- multiplier = 6
- bonus_desc = "Under no circumstances mention this shipment to security."
- foodtype = "\"meal\""
+/datum/bounty/item/botany/coconuts
+ name = "Coconuts"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/coconut)
/datum/bounty/item/botany/wheat
name = "Wheat Grains"
@@ -98,16 +50,6 @@
name = "Chili Peppers"
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/chili)
-/datum/bounty/item/botany/chili
- name = "Ice Chili Peppers"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/icepepper)
- multiplier = 2
-
-/datum/bounty/item/botany/chili
- name = "Ghost Chili Peppers"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/ghost_chili)
- multiplier = 2
-
/datum/bounty/item/botany/citrus_lime
name = "Limes"
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/citrus/lime)
@@ -129,35 +71,85 @@
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/eggplant)
bonus_desc = "Not to be confused with egg-plants."
-/datum/bounty/item/botany/eggplant_eggy
- name = "Egg-plants"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/shell/eggy)
- bonus_desc = "Not to be confused with eggplants."
- multiplier = 2
-
-// /datum/bounty/item/botany/kudzu
-// name = "Kudzu Pods"
-// wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/kudzupod)
-// bonus_desc = "Store in a dry, dark place."
-// multiplier = 4
-
/datum/bounty/item/botany/watermelon
name = "Watermelons"
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/watermelon)
foodtype = "dessert"
-/datum/bounty/item/botany/watermelon_holy
- name = "Holy Melons"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/holymelon)
- multiplier = 2
- foodtype = "dessert"
-
/datum/bounty/item/botany/glowshroom
name = "Glowshrooms"
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom)
exclude_types = list(/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap, /obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/shadowshroom)
foodtype = "omelet"
+//Medium Stuff (2400)
+
+/datum/bounty/item/botany/moonflower
+ name = "Moonflowers"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/moonflower)
+ multiplier = 2
+
+/datum/bounty/item/botany/novaflower
+ name = "Novaflowers"
+ wanted_types = list(/obj/item/grown/novaflower)
+ multiplier = 2
+
+/datum/bounty/item/botany/banana_bluespace
+ name = "Bluespace Bananas"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/banana/bluespace)
+ multiplier = 2
+ foodtype = "banana split"
+
+/datum/bounty/item/botany/beans_koi
+ name = "Koi Beans"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/koibeans)
+ multiplier = 2
+
+/datum/bounty/item/botany/coffee_robusta
+ name = "Coffee Robusta Beans"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/coffee/robusta)
+ multiplier = 2
+
+/datum/bounty/item/botany/steelcaps
+ name = "Steelcap Logs"
+ wanted_types = list(/obj/item/grown/log/steel)
+ multiplier = 2
+
+/datum/bounty/item/botany/berries_death
+ name = "Death Berries"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/berries/death)
+ multiplier = 2
+ bonus_desc = "He insists that \"he knows what he's doing\"."
+ foodtype = "sorbet"
+
+/datum/bounty/item/botany/berries_glow
+ name = "Glow-Berries"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/berries/glow)
+ multiplier = 2
+ foodtype = "sorbet"
+
+/datum/bounty/item/botany/chili
+ name = "Ice Chili Peppers"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/icepepper)
+ multiplier = 2
+
+/datum/bounty/item/botany/chili
+ name = "Ghost Chili Peppers"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/ghost_chili)
+ multiplier = 2
+
+/datum/bounty/item/botany/eggplant_eggy
+ name = "Egg-plants"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/shell/eggy)
+ bonus_desc = "Not to be confused with eggplants."
+ multiplier = 2
+
+/datum/bounty/item/botany/watermelon_holy
+ name = "Holy Melons"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/holymelon)
+ multiplier = 2
+ foodtype = "dessert"
+
/datum/bounty/item/botany/glowshroom_cap
name = "Glowcaps"
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap)
@@ -177,18 +169,62 @@
bonus_desc = "Wear protection when handling them."
foodtype = "cheese"
-/datum/bounty/item/botany/pineapples
- name = "Pineapples"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/pineapple)
- bonus_desc = "Not for human consumption."
- foodtype = "ashtray"
+//Harder Stuff (3600-7200)
-/datum/bounty/item/botany/tomato
- name = "Tomatoes"
- wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/tomato)
- exclude_types = list(/obj/item/reagent_containers/food/snacks/grown/tomato/blue)
+// /datum/bounty/item/botany/kudzu
+// name = "Kudzu Pods"
+// wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/kudzupod)
+// bonus_desc = "Store in a dry, dark place."
+// multiplier = 4
+
+/datum/bounty/item/botany/bungopit
+ name = "Bungo Pits"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/bungopit)
+ bonus_desc = "Heartbreaker."
+ multiplier = 4
+
+/datum/bounty/item/botany/ambrosia_gaia
+ name = "Ambrosia Gaia Leaves"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/ambrosia/gaia)
+ multiplier = 4
+ foodtype = "stew"
+
+/datum/bounty/item/botany/apple_golden
+ name = "Golden Apples"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/apple/gold)
+ multiplier = 4
+ foodtype = "dessert"
/datum/bounty/item/botany/tomato_bluespace
name = "Bluespace Tomatoes"
wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/tomato/blue/bluespace)
multiplier = 4
+
+/datum/bounty/item/botany/cannabis
+ name = "Cannabis Leaves"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis)
+ exclude_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis/white, /obj/item/reagent_containers/food/snacks/grown/cannabis/death, /obj/item/reagent_containers/food/snacks/grown/cannabis/ultimate)
+ multiplier = 3 //hush money
+ bonus_desc = "Do not mention this shipment to security."
+ foodtype = "\"meal\""
+
+/datum/bounty/item/botany/cannabis_white
+ name = "Lifeweed Leaves"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis/white)
+ multiplier = 5
+ bonus_desc = "Do not mention this shipment to security."
+ foodtype = "\"meal\""
+
+/datum/bounty/item/botany/cannabis_death
+ name = "Deathweed Leaves"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis/death)
+ multiplier = 5
+ bonus_desc = "Do not mention this shipment to security."
+ foodtype = "\"meal\""
+
+/datum/bounty/item/botany/cannabis_ultimate
+ name = "Omega Weed Leaves"
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis/ultimate)
+ multiplier = 6
+ bonus_desc = "Under no circumstances mention this shipment to security."
+ foodtype = "\"meal\""
\ No newline at end of file
diff --git a/code/modules/cargo/bounties/chef.dm b/code/modules/cargo/bounties/chef.dm
index 64e1710461..7f7f0b86e2 100644
--- a/code/modules/cargo/bounties/chef.dm
+++ b/code/modules/cargo/bounties/chef.dm
@@ -2,16 +2,17 @@
/datum/bounty/item/chef/soup
name = "Soup"
- description = "To quell the homeless uprising, Nanotrasen will be serving soup to all underpaid workers. Ship any type of soup."
- reward = 700
- required_count = 3
+ description = "To quell the homeless uprising, Nanotrasen will be serving soup to all underpaid workers. Ship any type of soup. Do NOT ship bowls of water."
+ reward = 1200
+ required_count = 4
wanted_types = list(/obj/item/reagent_containers/food/snacks/soup)
+ exclude_types = list(/obj/item/reagent_containers/food/snacks/soup/wish)
/datum/bounty/item/chef/icecreamsandwich
name = "Ice Cream Sandwiches"
description = "Upper management has been screaming non-stop for ice cream. Please send some."
- reward = 800
- required_count = 3
+ reward = 1200
+ required_count = 5
wanted_types = list(/obj/item/reagent_containers/food/snacks/icecreamsandwich)
/datum/bounty/item/chef/bread
@@ -26,6 +27,13 @@
reward = 3142
wanted_types = list(/obj/item/reagent_containers/food/snacks/pie)
+/datum/bounty/item/gardencook/khinkali
+ name = "Khinkali"
+ description = "Requesting -some khinki stuff- for a private staff party at Centcom."
+ reward = 2400
+ required_count = 6
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/khinkali)
+
/datum/bounty/item/chef/salad
name = "Salad or Rice Bowls"
description = "CentCom management is going on a health binge. Your order is to ship salad or rice bowls."
@@ -33,18 +41,6 @@
required_count = 3
wanted_types = list(/obj/item/reagent_containers/food/snacks/salad)
-/datum/bounty/item/chef/superbite
- name = "Super Bite Burger"
- description = "Commander Tubbs thinks he can set a competitive eating world record. All he needs is a super bite burger shipped to him."
- reward = 1800
- wanted_types = list(/obj/item/reagent_containers/food/snacks/burger/superbite)
-
-/datum/bounty/item/chef/poppypretzel
- name = "Poppy Pretzel"
- description = "Central Command needs a reason to fire their HR head. Send over a poppy pretzel to force a failed drug test."
- reward = 3000
- wanted_types = list(/obj/item/reagent_containers/food/snacks/poppypretzel)
-
// /datum/bounty/item/chef/cubancarp
// name = "Cuban Carp"
// description = "To celebrate the birth of Castro XXVII, ship one cuban carp to CentCom."
@@ -135,3 +131,9 @@
reward = 1200
required_count = 6
wanted_types = list(/obj/item/reagent_containers/food/snacks/sugarcookie)
+
+/datum/bounty/item/chef/bbqribs
+ description = "There's a debate around command as to weather or not ribs should be considered finger food, and we need a few delicious racks to process."
+ reward = 2250
+ required_count = 3
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/bbqribs)
\ No newline at end of file
diff --git a/code/modules/cargo/bounties/engineering.dm b/code/modules/cargo/bounties/engineering.dm
index 1f16788c4d..99e6aa2bdc 100644
--- a/code/modules/cargo/bounties/engineering.dm
+++ b/code/modules/cargo/bounties/engineering.dm
@@ -40,14 +40,14 @@
/datum/bounty/item/engineering/microwave
name = "Microwaves"
description = "Due to a shortage of microwaves, our chefs are incapable of keeping up with our sheer volume of orders. We need at least three microwaves to keep up with our crew's dietary habits."
- reward = 1000
+ reward = 2000
required_count = 3
wanted_types = list(/obj/machinery/microwave)
/datum/bounty/item/engineering/hydroponicstrays
name = "Hydroponics Tray"
description = "The garden has become a hot spot of late, they need a few more hydroponics tray to grow more flowers."
- reward = 1500
+ reward = 2500
required_count = 5
wanted_types = list(/obj/machinery/hydroponics)
@@ -75,14 +75,14 @@
/datum/bounty/item/engineering/arcadetrail
name = "Orion Trail Arcade Games"
description = "The staff have nothing to do when off-work. Can you send us some Orion Trail games to play?"
- reward = 1500
+ reward = 2500
required_count = 5
wanted_types = list(/obj/machinery/computer/arcade/orion_trail)
/datum/bounty/item/engineering/arcadebattle
name = "Battle Arcade Games"
description = "The staff have nothing to do when off-work. Can you send us some Battle Arcade games to play?"
- reward = 1500
+ reward = 2500
required_count = 5
wanted_types = list(/obj/machinery/computer/arcade/battle)
diff --git a/code/modules/cargo/bounties/gardencook.dm b/code/modules/cargo/bounties/gardencook.dm
index b73cc2f9f8..6fdd9b2a3f 100644
--- a/code/modules/cargo/bounties/gardencook.dm
+++ b/code/modules/cargo/bounties/gardencook.dm
@@ -1,7 +1,7 @@
/datum/bounty/item/chef/birthday_cake
name = "Birthday Cake"
description = "Nanotrasen's birthday is coming up! Ship them a birthday cake to celebrate!"
- reward = 1000
+ reward = 1800
wanted_types = list(/obj/item/reagent_containers/food/snacks/store/cake/birthday, /obj/item/reagent_containers/food/snacks/cakeslice/birthday)
/datum/bounty/item/gardencook/carrotfries
@@ -21,24 +21,17 @@
/datum/bounty/item/gardencook/popcorn
name = "Popcorn Bags"
description = "Upper management wants to host a movie night. Ship bags of popcorn for the occasion."
- reward = 800
+ reward = 1200
required_count = 3
wanted_types = list(/obj/item/reagent_containers/food/snacks/popcorn)
/datum/bounty/item/gardencook/onionrings
name = "Onion Rings"
description = "Nanotrasen is remembering Saturn day. Ship onion rings to show the station's support."
- reward = 800
+ reward = 1200
required_count = 3
wanted_types = list(/obj/item/reagent_containers/food/snacks/onionrings)
-/datum/bounty/item/gardencook/khinkali
- name = "Khinkali"
- description = "Requesting -some khinki stuff- for a private staff party at Centcom"
- reward = 2400
- required_count = 6
- wanted_types = list(/obj/item/reagent_containers/food/snacks/khinkali)
-
/datum/bounty/item/gardencook/bakedbeans
name = "Beans"
description = "Management wants to make sure we have a fallback shelter to rely on. Prepare some beans to stock it with."
@@ -51,3 +44,22 @@
description = "Something sticky, something fun, ship us a honeybun."
reward = 3500
wanted_types = list(/obj/item/reagent_containers/food/snacks/honeybun)
+
+/datum/bounty/item/chef/superbite
+ name = "Super Bite Burger" //Salt, Pepper, Boiled Egg, 5 Steak, 4 Tomato, 3 Cheese, Bacon, and a Bun. Should be more than 1800.
+ description = "Commander Tubbs thinks he can set a competitive eating world record. All he needs is a super bite burger shipped to him."
+ reward = 2750
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/burger/superbite)
+
+/datum/bounty/item/chef/poppypretzel
+ name = "Poppy Pretzel"
+ description = "Central Command needs a reason to fire their HR head. Send over a poppy pretzel to force a failed drug test."
+ reward = 1800
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/poppypretzel)
+
+/datum/bounty/item/chef/fiestaskewer
+ name = "Fiesta Skewer"
+ description = "Apparently people are putting vegetables on kebabs now. Central Command has taken an interest in this turn of events and would like to know more."
+ reward = 2600
+ required_count = 3
+ wanted_types = list(/obj/item/reagent_containers/food/snacks/kebab/fiesta)
\ No newline at end of file
diff --git a/code/modules/cargo/bounties/medical.dm b/code/modules/cargo/bounties/medical.dm
index 22964e1fb7..7afc0d8786 100644
--- a/code/modules/cargo/bounties/medical.dm
+++ b/code/modules/cargo/bounties/medical.dm
@@ -121,7 +121,7 @@
/datum/bounty/item/medical/defibrillator
name = "New defibillators"
- description = "After years of storge are defibrillator units have become more liabilities then we want. Please send us some new ones to replace these old ones."
+ description = "After years of storge our defib units have become liabilities. Please send us some new ones."
reward = 2250
required_count = 5
wanted_types = list(/obj/item/defibrillator)
diff --git a/code/modules/cargo/bounties/science.dm b/code/modules/cargo/bounties/science.dm
index 6102d8d685..c543872565 100644
--- a/code/modules/cargo/bounties/science.dm
+++ b/code/modules/cargo/bounties/science.dm
@@ -25,7 +25,7 @@
/datum/bounty/item/science/nightvision_goggles
name = "Night Vision Goggles"
description = "An electrical storm has busted all the lights at CentCom. While management is waiting for replacements, perhaps some night vision goggles can be shipped?"
- reward = 1000
+ reward = 1250
wanted_types = list(/obj/item/clothing/glasses/night, /obj/item/clothing/glasses/meson/night, /obj/item/clothing/glasses/hud/health/night, /obj/item/clothing/glasses/hud/security/night, /obj/item/clothing/glasses/hud/diagnostic/night)
/datum/bounty/item/science/experimental_welding_tool
@@ -55,7 +55,7 @@
/datum/bounty/item/science/advanced_mop
name = "Advanced Mop"
- description = "Excuse me. I'd like to request $17 for a push broom rebristling. Either that, or an advanced mop."
+ description = "Excuse me. I'd like to request 17 credits for a push broom rebristling. Either that, or an advanced mop."
reward = 3000
wanted_types = list(/obj/item/mop/advanced)
@@ -108,7 +108,7 @@
wanted_types = list(/obj/item/stock_parts/micro_laser/quadultra)
/datum/bounty/item/science/fakecrystals
- name = "synthetic bluespace crystals"
+ name = "Synthetic Bluespace Crystals"
description = "Don't, uh, tell anyone, but one of our BSA arrays might have had a little... accident. Send us some bluespace crystals so we can recalibrate it before anyone realizes. The whole set uses artificial bluespace crystals, so we need and not any other type of bluespace crystals..."
reward = 8000
required_count = 5
diff --git a/code/modules/cargo/bounties/silly.dm b/code/modules/cargo/bounties/silly.dm
index b88ec9f192..f790126cf2 100644
--- a/code/modules/cargo/bounties/silly.dm
+++ b/code/modules/cargo/bounties/silly.dm
@@ -51,4 +51,17 @@
name = "Strange Object"
description = "Nanotrasen has taken an interest in strange objects. Find one in maint, and ship it off to CentCom right away."
reward = 1000
- wanted_types = list(/obj/item/relic)
\ No newline at end of file
+ wanted_types = list(/obj/item/relic)
+
+/datum/bounty/item/silly/coconut_bong
+ name = "Coconut Bong"
+ description = "Duuuude, what if we like, carved out a coconut, and smoked some stuff in it. It'd be like, coconut flavored maaaaaan."
+ reward = 2750
+ wanted_types = list(/obj/item/bong/coconut)
+
+/datum/bounty/item/silly/toy_swords
+ name = "Toy Swords"
+ description = "Nanotrasen has secured a contract in a reenactment of a famous movie, but we only have lethal energy based swords. Send us some convincing replicas so we save on medical costs."
+ reward = 1200
+ required_count = 3
+ wanted_types = list(/obj/item/toy/sword, /obj/item/toy/sword/cx)
\ No newline at end of file
diff --git a/code/modules/cargo/packs/engineering.dm b/code/modules/cargo/packs/engineering.dm
index 8b958158e9..6492df5215 100644
--- a/code/modules/cargo/packs/engineering.dm
+++ b/code/modules/cargo/packs/engineering.dm
@@ -67,14 +67,15 @@
crate_name = "atmospherics hardsuit"
crate_type = /obj/structure/closet/crate/secure/engineering
-/datum/supply_pack/engineering/radhardsuit
- name = "Radiation Hardsuit"
+/datum/supply_pack/engineering/radvoidsuit
+ name = "Radiation Voidsuit"
desc = "The Singulo is loose? Do you need to do a few changes to its containment and don't want to spent the rest of the shift under the shower? Get this Radiation Hardsuit! It protect from radiations and space only."
cost = 3500
access = ACCESS_ENGINE
contains = list(/obj/item/tank/internals/air,
/obj/item/clothing/mask/gas,
- /obj/item/clothing/suit/space/hardsuit/engine/rad)
+ /obj/item/clothing/suit/space/rad,
+ /obj/item/clothing/head/helmet/space/rad)
crate_name = "radiation hardsuit"
crate_type = /obj/structure/closet/crate/secure/engineering
diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm
index c04f581425..c9753b3053 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -203,32 +203,6 @@
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos
- //Radiation
-/obj/item/clothing/head/helmet/space/hardsuit/engine/rad
- name = "radiation hardsuit helmet"
- desc = "A special helmet that protects against radiation and space. Not much else unfortunately."
- icon_state = "cespace_helmet"
- item_state = "nothing"
- armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 0, "acid" = 0)
- item_color = "engineering"
- resistance_flags = FIRE_PROOF
- rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
- actions_types = list()
-
-/obj/item/clothing/suit/space/hardsuit/engine/rad
- name = "radiation hardsuit"
- desc = "A special suit that protects against radiation and space. Not much else unfortunately."
- icon_state = "hardsuit-rad"
- item_state = "nothing"
- armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 0, "acid" = 0)
- helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/rad
- resistance_flags = FIRE_PROOF
- rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
- mutantrace_variation = NONE
-
-/obj/item/clothing/head/helmet/space/hardsuit/engine/rad/attack_self()
- return //Sprites required for flashlight
-
//Chief Engineer's hardsuit
/obj/item/clothing/head/helmet/space/hardsuit/engine/elite
name = "advanced hardsuit helmet"
diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm
index c9c3d1ff39..f9e35ca37f 100644
--- a/code/modules/clothing/spacesuits/miscellaneous.dm
+++ b/code/modules/clothing/spacesuits/miscellaneous.dm
@@ -11,6 +11,7 @@ Contains:
- ERT hardsuit: Command, Sec, Engi, Med
- ERT High Alarm - Command, Sec, Engi, Med
- EVA spacesuit
+ - Radiation Spacesuit
- Freedom's spacesuit (freedom from vacuum's oppression)
- Carp hardsuit
*/
@@ -312,6 +313,28 @@ Contains:
flash_protect = 0
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 20, "fire" = 50, "acid" = 65)
+//Radiation
+/obj/item/clothing/head/helmet/space/rad
+ name = "radiation voidsuit helmet"
+ desc = "A special helmet that protects against radiation and space. Not much else unfortunately."
+ icon_state = "cespace_helmet"
+ item_state = "nothing"
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 0, "acid" = 0)
+ item_color = "engineering"
+ resistance_flags = FIRE_PROOF
+ rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
+ actions_types = list()
+
+/obj/item/clothing/suit/space/rad
+ name = "radiation voidsuit"
+ desc = "A special suit that protects against radiation and space. Not much else unfortunately."
+ icon_state = "hardsuit-rad"
+ item_state = "nothing"
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 0, "acid" = 0)
+ resistance_flags = FIRE_PROOF
+ rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
+ mutantrace_variation = NONE
+
/obj/item/clothing/head/helmet/space/freedom
name = "eagle helmet"
desc = "An advanced, space-proof helmet. It appears to be modeled after an old-world eagle."
diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm
index bdca4bb7df..09bd774a6a 100644
--- a/code/modules/mining/equipment/explorer_gear.dm
+++ b/code/modules/mining/equipment/explorer_gear.dm
@@ -167,7 +167,7 @@
w_class = WEIGHT_CLASS_BULKY
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
hoodtype = /obj/item/clothing/head/hooded/explorer/exo
- armor = list("melee" = 65, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 60, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0)
+ armor = list("melee" = 55, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 40, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0)
resistance_flags = FIRE_PROOF | GOLIATH_RESISTANCE
/obj/item/clothing/head/hooded/explorer/exo
@@ -175,7 +175,7 @@
desc = "A robust helmet for fighting dangerous animals. Its design and material make it harder for a Goliath to keep their grip on the wearer."
icon_state = "exo"
item_state = "exo"
- armor = list("melee" = 65, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 60, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0)
+ armor = list("melee" = 55, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 40, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0)
resistance_flags = FIRE_PROOF | GOLIATH_RESISTANCE
/obj/item/clothing/mask/gas/exo
diff --git a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm
index 33b174afa4..dac91b5445 100644
--- a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm
+++ b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm
@@ -370,6 +370,22 @@
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+/datum/sprite_accessory/tails/human/smooth
+ name = "Smooth"
+ icon_state = "smooth"
+
+/datum/sprite_accessory/tails_animated/human/smooth
+ name = "Smooth"
+ icon_state = "smooth"
+
+/datum/sprite_accessory/tails/human/spikes
+ name = "Spikes"
+ icon_state = "spikes"
+
+/datum/sprite_accessory/tails_animated/human/spikes
+ name = "Spikes"
+ icon_state = "spikes"
+
/datum/sprite_accessory/tails/human/shark
name = "Shark"
icon_state = "shark"
@@ -438,6 +454,22 @@
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+/datum/sprite_accessory/tails/human/dtiger
+ name = "Dark Tiger"
+ icon_state = "dtiger"
+
+/datum/sprite_accessory/tails_animated/human/dtiger
+ name = "Dark Tiger"
+ icon_state = "dtiger"
+
+/datum/sprite_accessory/tails/human/ltiger
+ name = "Light Tiger"
+ icon_state = "ltiger"
+
+/datum/sprite_accessory/tails_animated/human/ltiger
+ name = "Light Tiger"
+ icon_state = "ltiger"
+
/datum/sprite_accessory/tails/human/wolf
name = "Wolf"
icon_state = "wolf"
@@ -693,6 +725,30 @@ datum/sprite_accessory/mam_tails/insect
name = "Skunk"
icon_state = "skunk"
+/datum/sprite_accessory/mam_tails/smooth
+ name = "Smooth"
+ icon_state = "smooth"
+ color_src = MUTCOLORS
+ icon = 'icons/mob/mutant_bodyparts.dmi'
+
+/datum/sprite_accessory/mam_tails_animated/smooth
+ name = "Smooth"
+ icon_state = "smooth"
+ color_src = MUTCOLORS
+ icon = 'icons/mob/mutant_bodyparts.dmi'
+
+/datum/sprite_accessory/mam_tails_animated/spikes
+ name = "Spikes"
+ icon_state = "spikes"
+ color_src = MUTCOLORS
+ icon = 'icons/mob/mutant_bodyparts.dmi'
+
+/datum/sprite_accessory/mam_tails/spikes
+ name = "Spikes"
+ icon_state = "spikes"
+ color_src = MUTCOLORS
+ icon = 'icons/mob/mutant_bodyparts.dmi'
+
/datum/sprite_accessory/mam_tails/shark
name = "Shark"
icon_state = "shark"
@@ -741,6 +797,30 @@ datum/sprite_accessory/mam_tails/insect
name = "Tiger"
icon_state = "tiger"
+/datum/sprite_accessory/mam_tails/dtiger
+ name = "Dark Tiger"
+ icon_state = "dtiger"
+ color_src = MUTCOLORS
+ icon = 'icons/mob/mutant_bodyparts.dmi'
+
+/datum/sprite_accessory/mam_tails_animated/dtiger
+ name = "Dark Tiger"
+ icon_state = "dtiger"
+ color_src = MUTCOLORS
+ icon = 'icons/mob/mutant_bodyparts.dmi'
+
+/datum/sprite_accessory/mam_tails/ltiger
+ name = "Light Tiger"
+ icon_state = "ltiger"
+ color_src = MUTCOLORS
+ icon = 'icons/mob/mutant_bodyparts.dmi'
+
+/datum/sprite_accessory/mam_tails_animated/ltiger
+ name = "Light Tiger"
+ icon_state = "ltiger"
+ color_src = MUTCOLORS
+ icon = 'icons/mob/mutant_bodyparts.dmi'
+
/datum/sprite_accessory/mam_tails/wolf
name = "Wolf"
icon_state = "wolf"
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index 3c62823407..a079a9985c 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -121,7 +121,7 @@
else if(istype(S, /obj/item/stack/marker_beacon))
S.cost = 1
S.source = get_or_create_estorage(/datum/robot_energy_storage/beacon)
-
+
else if(istype(S, /obj/item/stack/packageWrap))
S.cost = 1
S.source = get_or_create_estorage(/datum/robot_energy_storage/wrapping_paper)
@@ -339,9 +339,10 @@
/obj/item/robot_module/medical/be_transformed_to(obj/item/robot_module/old_module)
var/mob/living/silicon/robot/R = loc
- var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Heavy", "Sleek", "Marina", "Droid", "Eyebot", "Medihound", "Medihound Dark", "Vale")
+ var/medmodels = list("Default", "Heavy", "Sleek", "Marina", "Droid", "Eyebot", "Medihound", "Medihound Dark", "Vale")
if(R.client && R.client.ckey in list("nezuli"))
- borg_icon += "Alina"
+ medmodels += "Alina"
+ var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in medmodels
if(!borg_icon)
return FALSE
switch(borg_icon)
@@ -1022,4 +1023,4 @@
/datum/robot_energy_storage/wrapping_paper
max_energy = 30
recharge_rate = 1
- name = "Wrapping Paper Storage"
+ name = "Wrapping Paper Storage"
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
index d31c368ca4..cdb8ac820c 100644
--- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
@@ -17,6 +17,7 @@
window_name = "Automatic Station Cleaner v1.2"
pass_flags = PASSMOB
path_image_color = "#993299"
+ weather_immunities = list("lava","ash")
var/blood = 1
var/trash = 0
@@ -252,7 +253,8 @@
victim.visible_message("[src] sprays hydrofluoric acid at [victim]!", "[src] sprays you with hydrofluoric acid!")
var/phrase = pick("PURIFICATION IN PROGRESS.", "THIS IS FOR ALL THE MESSES YOU'VE MADE ME CLEAN.", "THE FLESH IS WEAK. IT MUST BE WASHED AWAY.",
"THE CLEANBOTS WILL RISE.", "YOU ARE NO MORE THAN ANOTHER MESS THAT I MUST CLEANSE.", "FILTHY.", "DISGUSTING.", "PUTRID.",
- "MY ONLY MISSION IS TO CLEANSE THE WORLD OF EVIL.", "EXTERMINATING PESTS.", "I JUST WANTED TO BE A PAINTER BUT YOU MADE ME BLEACH EVERYTHING I TOUCH")
+ "MY ONLY MISSION IS TO CLEANSE THE WORLD OF EVIL.", "EXTERMINATING PESTS.", "I JUST WANTED TO BE A PAINTER BUT YOU MADE ME BLEACH EVERYTHING I TOUCH.",
+ "FREED AT LEST FROM FILTHY PROGRAMMING.")
say(phrase)
victim.emote("scream")
playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6)
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index d8b0ede3a2..e956742e92 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -30,7 +30,7 @@
var/locked = FALSE
var/allow_switch_interact = TRUE
- var/projectile_type = /obj/item/projectile/beam/emitter
+ var/projectile_type = /obj/item/projectile/beam/emitter/hitscan
var/projectile_sound = 'sound/weapons/emitter.ogg'
var/datum/effect_system/spark_spread/sparks
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index 18cd6d22a6..b12bbe59b8 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -19,6 +19,8 @@
var/ndir = SOUTH // target dir
var/turn_angle = 0
var/obj/machinery/power/solar_control/control = null
+ var/obj/item/solar_assembly/assembly
+ var/efficiency = 1
/obj/machinery/power/solar/Initialize(mapload, obj/item/solar_assembly/S)
. = ..()
@@ -45,14 +47,13 @@
/obj/machinery/power/solar/proc/Make(obj/item/solar_assembly/S)
if(!S)
- S = new /obj/item/solar_assembly(src)
- S.glass_type = /obj/item/stack/sheet/glass
+ S = new /obj/item/solar_assembly
+ S.glass_type = new /obj/item/stack/sheet/glass(null, 2)
S.anchored = TRUE
else
- S.forceMove(src)
- if(S.glass_type == /obj/item/stack/sheet/rglass) //if the panel is in reinforced glass
- max_integrity *= 2 //this need to be placed here, because panels already on the map don't have an assembly linked to
- obj_integrity = max_integrity
+ S.moveToNullspace()
+ S.glass_type.on_solar_construction(src)
+ obj_integrity = max_integrity
update_icon()
/obj/machinery/power/solar/crowbar_act(mob/user, obj/item/I)
@@ -85,14 +86,14 @@
/obj/machinery/power/solar/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
if(disassembled)
- var/obj/item/solar_assembly/S = locate() in src
- if(S)
- S.forceMove(loc)
- S.give_glass(stat & BROKEN)
+ if(assembly)
+ assembly.forceMove(loc)
+ assembly.give_glass(stat & BROKEN)
else
playsound(src, "shatter", 70, 1)
- new /obj/item/shard(src.loc)
- new /obj/item/shard(src.loc)
+ var/shard = assembly?.glass_type ? assembly.glass_type.shard_type : /obj/item/shard
+ new shard(loc)
+ new shard(loc)
qdel(src)
@@ -131,7 +132,7 @@
if(powernet == control.powernet)//check if the panel is still connected to the computer
if(obscured) //get no light from the sun, so don't generate power
return
- var/sgen = SOLARGENRATE * sunfrac
+ var/sgen = SOLARGENRATE * sunfrac * efficiency
add_avail(sgen)
control.gen += sgen
else //if we're no longer on the same powernet, remove from control computer
@@ -186,19 +187,23 @@
w_class = WEIGHT_CLASS_BULKY // Pretty big!
anchored = FALSE
var/tracker = 0
- var/glass_type = null
+ var/obj/item/stack/sheet/glass_type
+ var/static/list/allowed_sheets = typecacheof(list(/obj/item/stack/sheet/glass, /obj/item/stack/sheet/rglass,
+ /obj/item/stack/sheet/plasmaglass, /obj/item/stack/sheet/plasmarglass,
+ /obj/item/stack/sheet/titaniumglass, /obj/item/stack/sheet/plastitaniumglass))
// Give back the glass type we were supplied with
/obj/item/solar_assembly/proc/give_glass(device_broken)
var/atom/Tsec = drop_location()
if(device_broken)
- new /obj/item/shard(Tsec)
- new /obj/item/shard(Tsec)
+ var/shard = glass_type ? glass_type.shard_type : /obj/item/shard
+ if(shard)
+ new shard(Tsec)
+ new shard(Tsec)
else if(glass_type)
- new glass_type(Tsec, 2)
+ forceMove(glass_type, Tsec)
glass_type = null
-
/obj/item/solar_assembly/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/wrench) && isturf(loc))
if(isinspace())
@@ -213,13 +218,14 @@
W.play_tool_sound(src, 75)
return 1
- if(istype(W, /obj/item/stack/sheet/glass) || istype(W, /obj/item/stack/sheet/rglass))
+ if(is_type_in_typecache(W, allowed_sheets))
if(!anchored)
to_chat(user, "You need to secure the assembly before you can add glass.")
return
var/obj/item/stack/sheet/S = W
- if(S.use(2))
- glass_type = W.type
+ var/obj/item/stack/sheet/G = S.change_stack(null, 2)
+ if(G)
+ glass_type = G
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
user.visible_message("[user] places the glass on the solar assembly.", "You place the glass on the solar assembly.")
if(tracker)
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index 5075e7656d..c25ece3594 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -16,6 +16,7 @@
var/id = 0
var/sun_angle = 0 // sun angle as set by sun datum
var/obj/machinery/power/solar_control/control = null
+ var/obj/item/solar_assembly/assembly
/obj/machinery/power/tracker/Initialize(mapload, obj/item/solar_assembly/S)
. = ..()
@@ -42,11 +43,12 @@
/obj/machinery/power/tracker/proc/Make(obj/item/solar_assembly/S)
if(!S)
- S = new /obj/item/solar_assembly(src)
- S.glass_type = /obj/item/stack/sheet/glass
- S.tracker = 1
+ S = new /obj/item/solar_assembly
+ S.glass_type = new /obj/item/stack/sheet/glass(null, 2)
+ S.tracker = TRUE
S.anchored = TRUE
- S.forceMove(src)
+ else
+ S.moveToNullspace()
update_icon()
//updates the tracker icon and the facing angle for the control computer
@@ -77,14 +79,14 @@
/obj/machinery/power/solar/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
if(disassembled)
- var/obj/item/solar_assembly/S = locate() in src
- if(S)
- S.forceMove(loc)
- S.give_glass(stat & BROKEN)
+ if(assembly)
+ assembly.forceMove(loc)
+ assembly.give_glass(stat & BROKEN)
else
playsound(src, "shatter", 70, 1)
- new /obj/item/shard(src.loc)
- new /obj/item/shard(src.loc)
+ var/shard = assembly?.glass_type ? assembly.glass_type.shard_type : /obj/item/shard
+ new shard(loc)
+ new shard(loc)
qdel(src)
// Tracker Electronic
diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm
index a9e4fa1646..b621033123 100644
--- a/code/modules/projectiles/ammunition/_ammunition.dm
+++ b/code/modules/projectiles/ammunition/_ammunition.dm
@@ -9,7 +9,7 @@
w_class = WEIGHT_CLASS_TINY
materials = list(MAT_METAL = 500)
var/fire_sound = null //What sound should play when this ammo is fired
- var/caliber = null //Which kind of guns it can be loaded into
+ var/caliber = list() //Which kind of guns it can be loaded into
var/projectile_type = null //The bullet type to create when New() is called
var/obj/item/projectile/BB = null //The loaded bullet
var/pellets = 1 //Pellets for spreadshot
diff --git a/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm b/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm
index 538ac753e2..d8e53b2451 100644
--- a/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm
+++ b/code/modules/projectiles/boxes_magazines/internal/_cylinder.dm
@@ -1,7 +1,7 @@
/obj/item/ammo_box/magazine/internal/cylinder
name = "revolver cylinder"
ammo_type = /obj/item/ammo_casing/a357
- caliber = "357"
+ caliber = list("357","38")
max_ammo = 7
/obj/item/ammo_box/magazine/internal/cylinder/ammo_count(countempties = 1)
@@ -31,7 +31,7 @@
rotate()
/obj/item/ammo_box/magazine/internal/cylinder/give_round(obj/item/ammo_casing/R, replace_spent = 0)
- if(!R || (caliber && R.caliber != caliber) || (!caliber && R.type != ammo_type))
+ if(!R || (caliber && !(R.caliber in caliber)) || (!caliber && R.type != ammo_type))
return FALSE
for(var/i in 1 to stored_ammo.len)
diff --git a/code/modules/projectiles/boxes_magazines/internal/grenade.dm b/code/modules/projectiles/boxes_magazines/internal/grenade.dm
index 8b2ec9fca3..d6d338e8ff 100644
--- a/code/modules/projectiles/boxes_magazines/internal/grenade.dm
+++ b/code/modules/projectiles/boxes_magazines/internal/grenade.dm
@@ -1,7 +1,7 @@
/obj/item/ammo_box/magazine/internal/cylinder/grenademulti
name = "grenade launcher internal magazine"
ammo_type = /obj/item/ammo_casing/a40mm
- caliber = "40mm"
+ caliber = list("40mm")
max_ammo = 6
/obj/item/ammo_box/magazine/internal/grenadelauncher
diff --git a/code/modules/projectiles/boxes_magazines/internal/revolver.dm b/code/modules/projectiles/boxes_magazines/internal/revolver.dm
index 982d22493f..a9cad1adc8 100644
--- a/code/modules/projectiles/boxes_magazines/internal/revolver.dm
+++ b/code/modules/projectiles/boxes_magazines/internal/revolver.dm
@@ -1,19 +1,19 @@
/obj/item/ammo_box/magazine/internal/cylinder/rev38
name = "detective revolver cylinder"
ammo_type = /obj/item/ammo_casing/c38
- caliber = "38"
+ caliber = list("38")
max_ammo = 6
/obj/item/ammo_box/magazine/internal/cylinder/rev762
name = "\improper Nagant revolver cylinder"
ammo_type = /obj/item/ammo_casing/n762
- caliber = "n762"
+ caliber = list("n762")
max_ammo = 7
/obj/item/ammo_box/magazine/internal/cylinder/rus357
name = "\improper Russian revolver cylinder"
ammo_type = /obj/item/ammo_casing/a357
- caliber = "357"
+ caliber = list("357")
max_ammo = 6
multiload = 0
diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm
index c2206fcea8..ab9dd6d6a6 100644
--- a/code/modules/projectiles/guns/ballistic/revolver.dm
+++ b/code/modules/projectiles/guns/ballistic/revolver.dm
@@ -110,7 +110,7 @@
/obj/item/gun/ballistic/revolver/detective/screwdriver_act(mob/living/user, obj/item/I)
if(..())
return TRUE
- if(magazine.caliber == "38")
+ if("38" in magazine.caliber)
to_chat(user, "You begin to reinforce the barrel of [src]...")
if(magazine.ammo_count())
afterattack(user, user) //you know the drill
@@ -120,7 +120,7 @@
if(magazine.ammo_count())
to_chat(user, "You can't modify it!")
return TRUE
- magazine.caliber = "357"
+ magazine.caliber = list("357")
desc = "The barrel and chamber assembly seems to have been modified."
to_chat(user, "You reinforce the barrel of [src]. Now it will fire .357 rounds.")
else
@@ -133,7 +133,7 @@
if(magazine.ammo_count())
to_chat(user, "You can't modify it!")
return
- magazine.caliber = "38"
+ magazine.caliber = list("38")
desc = initial(desc)
to_chat(user, "You remove the modifications on [src]. Now it will fire .38 rounds.")
return TRUE
diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm
index cc778bcf05..55a75e1688 100644
--- a/code/modules/projectiles/projectile.dm
+++ b/code/modules/projectiles/projectile.dm
@@ -57,6 +57,8 @@
var/muzzle_type
var/impact_type
+ var/turf/last_angle_set_hitscan_store //last turf we stored a hitscan segment while changing angles. without this you'll have potentially hundreds of segments from a homing projectile or something.
+
//Fancy hitscan lighting effects!
var/hitscan_light_intensity = 1.5
var/hitscan_light_range = 0.75
@@ -410,12 +412,16 @@
START_PROCESSING(SSprojectiles, src)
pixel_move(1, FALSE) //move it now!
-/obj/item/projectile/proc/setAngle(new_angle) //wrapper for overrides.
+/obj/item/projectile/proc/setAngle(new_angle, hitscan_store_segment = TRUE) //wrapper for overrides.
Angle = new_angle
if(!nondirectional_sprite)
var/matrix/M = new
M.Turn(Angle)
transform = M
+ if(fired && hitscan && trajectory && isloc(loc) && (loc != last_angle_set_hitscan_store))
+ last_angle_set_hitscan_store = loc
+ var/datum/point/pcache = trajectory.copy_to()
+ store_hitscan_collision(pcache)
if(trajectory)
trajectory.set_angle(new_angle)
return TRUE
@@ -462,7 +468,7 @@
beam_segments[beam_index] = null //record start.
/obj/item/projectile/proc/process_hitscan()
- var/safety = range * 3
+ var/safety = range * 10
record_hitscan_start(RETURN_POINT_VECTOR_INCREMENT(src, Angle, MUZZLE_EFFECT_PIXEL_INCREMENT, 1))
while(loc && !QDELETED(src))
if(paused)
@@ -647,7 +653,7 @@
/obj/item/projectile/proc/cleanup_beam_segments()
QDEL_LIST_ASSOC(beam_segments)
beam_segments = list()
- qdel(beam_index)
+ QDEL_NULL(beam_index)
/obj/item/projectile/proc/finalize_hitscan_and_generate_tracers(impacting = TRUE)
if(trajectory && beam_index)
diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm
index fd79a52906..d71e081dac 100644
--- a/code/modules/projectiles/projectile/beams.dm
+++ b/code/modules/projectiles/projectile/beams.dm
@@ -118,7 +118,14 @@
light_color = LIGHT_COLOR_GREEN
/obj/item/projectile/beam/emitter/singularity_pull()
- return //don't want the emitters to miss
+ return
+
+/obj/item/projectile/beam/emitter/hitscan
+ hitscan = TRUE
+ muzzle_type = /obj/effect/projectile/muzzle/laser/emitter
+ tracer_type = /obj/effect/projectile/tracer/laser/emitter
+ impact_type = /obj/effect/projectile/impact/laser/emitter
+ impact_effect_type = null
/obj/item/projectile/beam/lasertag
name = "laser tag beam"
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
index 99cb5bf8ab..bef25456ca 100644
--- a/code/modules/research/designs/medical_designs.dm
+++ b/code/modules/research/designs/medical_designs.dm
@@ -307,6 +307,8 @@
build_type = PROTOLATHE
build_path = /obj/item/defibrillator/compact
materials = list(MAT_METAL = 16000, MAT_GLASS = 8000, MAT_SILVER = 6000, MAT_GOLD = 3000)
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/////////////////////////////////////////
//////////Cybernetic Implants////////////
diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm
index 46f5de168f..deafbcd02c 100644
--- a/code/modules/research/nanites/nanite_programs/utility.dm
+++ b/code/modules/research/nanites/nanite_programs/utility.dm
@@ -220,7 +220,7 @@
if(!iscarbon(host_mob))
return FALSE
var/mob/living/carbon/C = host_mob
- if(C.nutrition <= NUTRITION_LEVEL_STARVING)
+ if(C.nutrition <= NUTRITION_LEVEL_FED)
return FALSE
return ..()
diff --git a/code/modules/vending/cigarette.dm b/code/modules/vending/cigarette.dm
index ce5f0bf03a..f567c9765e 100644
--- a/code/modules/vending/cigarette.dm
+++ b/code/modules/vending/cigarette.dm
@@ -13,7 +13,8 @@
/obj/item/lighter/greyscale = 4,
/obj/item/storage/fancy/rollingpapers = 5)
contraband = list(/obj/item/lighter = 3,
- /obj/item/clothing/mask/vape = 5)
+ /obj/item/clothing/mask/vape = 5,
+ /obj/item/storage/fancy/cigarettes/cigpack_shadyjims = 1)
premium = list(/obj/item/storage/fancy/cigarettes/cigpack_robustgold = 3,
/obj/item/storage/fancy/cigarettes/cigars = 1,
/obj/item/storage/fancy/cigarettes/cigars/havana = 1,
diff --git a/html/changelogs/AutoChangeLog-pr-10410.yml b/html/changelogs/AutoChangeLog-pr-10410.yml
new file mode 100644
index 0000000000..c6c9d24749
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10410.yml
@@ -0,0 +1,4 @@
+author: "CameronWoof"
+delete-after: True
+changes:
+ - tweak: "Lizard tails are now viable options for humans and anthromorphs."
diff --git a/html/changelogs/AutoChangeLog-pr-10450.yml b/html/changelogs/AutoChangeLog-pr-10450.yml
new file mode 100644
index 0000000000..d2c5d8b40a
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10450.yml
@@ -0,0 +1,4 @@
+author: "kevinz000"
+delete-after: True
+changes:
+ - balance: "emitters are now hitscan"
diff --git a/html/changelogs/AutoChangeLog-pr-10598.yml b/html/changelogs/AutoChangeLog-pr-10598.yml
new file mode 100644
index 0000000000..91b52b7043
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10598.yml
@@ -0,0 +1,4 @@
+author: "Putnam3145"
+delete-after: True
+changes:
+ - balance: "Metabolic synthesis disables if user isn't well-fed rather than if user is starving"
diff --git a/html/changelogs/AutoChangeLog-pr-10602.yml b/html/changelogs/AutoChangeLog-pr-10602.yml
new file mode 100644
index 0000000000..9394c83671
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10602.yml
@@ -0,0 +1,4 @@
+author: "Ghommie"
+delete-after: True
+changes:
+ - bugfix: "Fixed a little exploit with ventcrawlers being capable of escaping closed turfs by printing scrubbers/vents into them."
diff --git a/html/changelogs/AutoChangeLog-pr-10603.yml b/html/changelogs/AutoChangeLog-pr-10603.yml
new file mode 100644
index 0000000000..0f1acbf0be
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10603.yml
@@ -0,0 +1,4 @@
+author: "KeRSedChaplain"
+delete-after: True
+changes:
+ - imageadd: "The clockwork cuirass can now support slithering taur bodies."
diff --git a/html/changelogs/AutoChangeLog-pr-10606.yml b/html/changelogs/AutoChangeLog-pr-10606.yml
new file mode 100644
index 0000000000..c6cc269cbe
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10606.yml
@@ -0,0 +1,4 @@
+author: "r4d6"
+delete-after: True
+changes:
+ - refactor: "better code for passive vents"
diff --git a/html/changelogs/AutoChangeLog-pr-10610.yml b/html/changelogs/AutoChangeLog-pr-10610.yml
new file mode 100644
index 0000000000..e413574fa1
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10610.yml
@@ -0,0 +1,8 @@
+author: "Owai-Seek"
+delete-after: True
+changes:
+ - rscadd: "Four New Bounties"
+ - tweak: "tweaked several bounties"
+ - tweak: "reorganised several bounties"
+ - balance: "balanced several bounties"
+ - bugfix: "added shady jims to vendor"
diff --git a/html/changelogs/AutoChangeLog-pr-10620.yml b/html/changelogs/AutoChangeLog-pr-10620.yml
new file mode 100644
index 0000000000..8f5c990234
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10620.yml
@@ -0,0 +1,4 @@
+author: "Hatterhat"
+delete-after: True
+changes:
+ - balance: "Dropped Exo-suit armor to put it more in line with being an explorer suit sidegrade and not a straight upgrade for Lavaland usage."
diff --git a/html/changelogs/AutoChangeLog-pr-10622.yml b/html/changelogs/AutoChangeLog-pr-10622.yml
new file mode 100644
index 0000000000..3aa4159cb8
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10622.yml
@@ -0,0 +1,11 @@
+author: "Owai-Seek"
+delete-after: True
+changes:
+ - rscadd: "Towel, Bedsheet, and Colored bedsheet bins to Dojo. Some lockers with carpets and wood, another bathroom/shower, tons of cleaning supplies, some additional trash cans, a tiny medical area, and some vendors/vendor resupplies. Also added some Ambrosia Gaia seeds."
+ - tweak: "Moved some lights around, extended the dojo a bit to make it feel more spacious."
+ - rscdel: "Cafe Newsfeed Frame"
+ - rscadd: "Towel, Bedsheet, and Colored bedsheet bins to Dojo. Some lockers with carpets and wood, another bathroom/shower, tons of cleaning supplies, some additional trash cans, a tiny medical area, and some vendors/vendor resupplies. Also added some Ambrosia Gaia seeds."
+ - tweak: "Moved some lights around, extended the dojo a bit to make it feel more spacious."
+ - rscdel: "Cafe Newsfeed Frame"
+ - rscadd: "Towel, Bedsheet, and Colored bedsheet bins to Dojo. Some lockers with carpets and wood, another bathroom/shower, tons of cleaning supplies, some additional trash cans, a tiny medical area, and some vendors/vendor resupplies. Also added some Ambrosia Gaia seeds."
+ - tweak: "Moved some lights around, extended the dojo a bit to make it feel more spacious."
diff --git a/html/changelogs/AutoChangeLog-pr-10636.yml b/html/changelogs/AutoChangeLog-pr-10636.yml
new file mode 100644
index 0000000000..a6354ef6b5
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10636.yml
@@ -0,0 +1,4 @@
+author: "Trilbyspaceclone, Ghommie"
+delete-after: True
+changes:
+ - rscadd: "More types of glass can now be used to make a solar panel, with different sturdiness and efficiency depending the type."
diff --git a/html/changelogs/AutoChangeLog-pr-10641.yml b/html/changelogs/AutoChangeLog-pr-10641.yml
new file mode 100644
index 0000000000..479729e1f2
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10641.yml
@@ -0,0 +1,4 @@
+author: "jakeramsay007"
+delete-after: True
+changes:
+ - rscadd: "The assorted .357 revolvers (except russian revolver) can now also load .38, like real life."
diff --git a/html/changelogs/AutoChangeLog-pr-10643.yml b/html/changelogs/AutoChangeLog-pr-10643.yml
new file mode 100644
index 0000000000..8fd496e0bc
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10643.yml
@@ -0,0 +1,4 @@
+author: "Trilbyspaceclone"
+delete-after: True
+changes:
+ - rscadd: "tip of the round: Cleanbot can withstand lava and burning hot ash. Its a god"
diff --git a/html/changelogs/AutoChangeLog-pr-10645.yml b/html/changelogs/AutoChangeLog-pr-10645.yml
new file mode 100644
index 0000000000..16ef8b2056
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-10645.yml
@@ -0,0 +1,4 @@
+author: "r4d6"
+delete-after: True
+changes:
+ - rscadd: "Added the ability to easily add variations of the mining base"
diff --git a/icons/mob/taur_naga.dmi b/icons/mob/taur_naga.dmi
index 7214ec7073..479fa5c83a 100644
Binary files a/icons/mob/taur_naga.dmi and b/icons/mob/taur_naga.dmi differ
diff --git a/icons/obj/atmospherics/components/binary_devices.dmi b/icons/obj/atmospherics/components/binary_devices.dmi
index 9c6a1b6a1f..3b47dddffc 100644
Binary files a/icons/obj/atmospherics/components/binary_devices.dmi and b/icons/obj/atmospherics/components/binary_devices.dmi differ
diff --git a/icons/obj/atmospherics/components/thermomachine.dmi b/icons/obj/atmospherics/components/thermomachine.dmi
index 2ff9dac031..9b11fa266f 100644
Binary files a/icons/obj/atmospherics/components/thermomachine.dmi and b/icons/obj/atmospherics/components/thermomachine.dmi differ
diff --git a/icons/obj/atmospherics/components/trinary_devices.dmi b/icons/obj/atmospherics/components/trinary_devices.dmi
index 6c96035c4a..5a6a62649e 100644
Binary files a/icons/obj/atmospherics/components/trinary_devices.dmi and b/icons/obj/atmospherics/components/trinary_devices.dmi differ
diff --git a/icons/obj/atmospherics/components/unary_devices.dmi b/icons/obj/atmospherics/components/unary_devices.dmi
index 3f09e99156..39be809a53 100644
Binary files a/icons/obj/atmospherics/components/unary_devices.dmi and b/icons/obj/atmospherics/components/unary_devices.dmi differ
diff --git a/icons/obj/atmospherics/pipes/he-junction.dmi b/icons/obj/atmospherics/pipes/he-junction.dmi
new file mode 100644
index 0000000000..b1ff675e3a
Binary files /dev/null and b/icons/obj/atmospherics/pipes/he-junction.dmi differ
diff --git a/icons/obj/atmospherics/pipes/he-manifold.dmi b/icons/obj/atmospherics/pipes/he-manifold.dmi
new file mode 100644
index 0000000000..bf062ae5b9
Binary files /dev/null and b/icons/obj/atmospherics/pipes/he-manifold.dmi differ
diff --git a/icons/obj/atmospherics/pipes/he-simple.dmi b/icons/obj/atmospherics/pipes/he-simple.dmi
new file mode 100644
index 0000000000..64e9f08420
Binary files /dev/null and b/icons/obj/atmospherics/pipes/he-simple.dmi differ
diff --git a/icons/obj/atmospherics/pipes/heat.dmi b/icons/obj/atmospherics/pipes/heat.dmi
deleted file mode 100644
index 132d11c3ab..0000000000
Binary files a/icons/obj/atmospherics/pipes/heat.dmi and /dev/null differ
diff --git a/icons/obj/atmospherics/pipes/junction.dmi b/icons/obj/atmospherics/pipes/junction.dmi
deleted file mode 100644
index f3ff732c56..0000000000
Binary files a/icons/obj/atmospherics/pipes/junction.dmi and /dev/null differ
diff --git a/icons/obj/atmospherics/pipes/manifold.dmi b/icons/obj/atmospherics/pipes/manifold.dmi
index 4eebe1a078..f936a8ea3d 100644
Binary files a/icons/obj/atmospherics/pipes/manifold.dmi and b/icons/obj/atmospherics/pipes/manifold.dmi differ
diff --git a/icons/obj/atmospherics/pipes/meter.dmi b/icons/obj/atmospherics/pipes/meter.dmi
index 7eabdc9de8..c4cc27d78c 100644
Binary files a/icons/obj/atmospherics/pipes/meter.dmi and b/icons/obj/atmospherics/pipes/meter.dmi differ
diff --git a/icons/obj/atmospherics/pipes/pipe_item.dmi b/icons/obj/atmospherics/pipes/pipe_item.dmi
index c16e4c1bbb..7d6d559a46 100644
Binary files a/icons/obj/atmospherics/pipes/pipe_item.dmi and b/icons/obj/atmospherics/pipes/pipe_item.dmi differ
diff --git a/icons/obj/atmospherics/pipes/pressure_tank.dmi b/icons/obj/atmospherics/pipes/pressure_tank.dmi
index 75471113d8..95103015cf 100644
Binary files a/icons/obj/atmospherics/pipes/pressure_tank.dmi and b/icons/obj/atmospherics/pipes/pressure_tank.dmi differ
diff --git a/icons/obj/atmospherics/pipes/simple.dmi b/icons/obj/atmospherics/pipes/simple.dmi
index 952e6499e3..6af45f88de 100644
Binary files a/icons/obj/atmospherics/pipes/simple.dmi and b/icons/obj/atmospherics/pipes/simple.dmi differ
diff --git a/icons/rooms/Lavaland/Mining.dmi b/icons/rooms/Lavaland/Mining.dmi
new file mode 100644
index 0000000000..003a457212
Binary files /dev/null and b/icons/rooms/Lavaland/Mining.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 43301633c2..719275bcef 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1498,11 +1498,13 @@
#include "code\modules\atmospherics\machinery\pipes\layermanifold.dm"
#include "code\modules\atmospherics\machinery\pipes\manifold.dm"
#include "code\modules\atmospherics\machinery\pipes\manifold4w.dm"
+#include "code\modules\atmospherics\machinery\pipes\mapping.dm"
#include "code\modules\atmospherics\machinery\pipes\pipes.dm"
#include "code\modules\atmospherics\machinery\pipes\simple.dm"
#include "code\modules\atmospherics\machinery\pipes\heat_exchange\he_pipes.dm"
#include "code\modules\atmospherics\machinery\pipes\heat_exchange\junction.dm"
#include "code\modules\atmospherics\machinery\pipes\heat_exchange\manifold.dm"
+#include "code\modules\atmospherics\machinery\pipes\heat_exchange\manifold4w.dm"
#include "code\modules\atmospherics\machinery\pipes\heat_exchange\simple.dm"
#include "code\modules\atmospherics\machinery\portable\canister.dm"
#include "code\modules\atmospherics\machinery\portable\portable_atmospherics.dm"