diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 4bbcdb6ee31..449d4aa086d 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -1303,6 +1303,17 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron,
/area/hallway/secondary/entry)
+"afy" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/crate,
+/turf/open/floor/iron,
+/area/engineering/break_room)
"afz" = (
/obj/effect/spawner/randomcolavend,
/obj/effect/turf_decal/delivery,
@@ -3453,6 +3464,11 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
+/obj/item/camera_film{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/camera_film,
/turf/open/floor/iron/dark,
/area/service/bar/atrium)
"aub" = (
@@ -4710,6 +4726,16 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/grimy,
/area/service/library/abandoned)
+"aFI" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 9
+ },
+/obj/machinery/modular_computer/console/preset/cargochat/security{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/security/brig)
"aFT" = (
/obj/structure/table/wood,
/obj/item/flashlight/lamp,
@@ -5926,6 +5952,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
+/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron,
/area/hallway/secondary/service)
"aOG" = (
@@ -7757,13 +7784,12 @@
/turf/open/floor/iron,
/area/hallway/primary/fore)
"bdV" = (
-/obj/machinery/computer/cargo/request{
- dir = 8
- },
/obj/machinery/light{
dir = 1
},
-/obj/effect/turf_decal/bot,
+/obj/item/kirbyplants{
+ icon_state = "plant-21"
+ },
/turf/open/floor/iron,
/area/hallway/primary/fore)
"beo" = (
@@ -17136,11 +17162,10 @@
/area/security/brig)
"ciH" = (
/obj/structure/disposalpipe/segment,
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 4
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 10
},
-/obj/effect/turf_decal/tile/red{
+/obj/machinery/computer/cargo/request{
dir = 8
},
/turf/open/floor/iron,
@@ -23091,28 +23116,31 @@
/turf/open/floor/iron/white,
/area/medical/storage)
"cWw" = (
-/obj/effect/landmark/start/paramedic,
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 9
},
-/turf/open/floor/iron/white,
+/obj/machinery/modular_computer/console/preset/cargochat/medical{
+ dir = 1
+ },
+/turf/open/floor/iron,
/area/medical/storage)
"cWx" = (
/obj/machinery/light_switch{
pixel_x = -8;
pixel_y = -24
},
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
/obj/machinery/firealarm{
dir = 1;
pixel_x = 32;
pixel_y = -24
},
-/turf/open/floor/iron/white,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 5
+ },
+/obj/machinery/computer/cargo/request{
+ dir = 1
+ },
+/turf/open/floor/iron,
/area/medical/storage)
"cWy" = (
/obj/structure/table/glass,
@@ -25445,6 +25473,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
+/obj/effect/landmark/start/paramedic,
/turf/open/floor/iron,
/area/medical/medbay/central)
"deJ" = (
@@ -25594,23 +25623,26 @@
},
/obj/item/storage/box/gloves,
/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron,
-/area/science/research)
-"dfk" = (
-/obj/structure/table,
-/obj/effect/decal/cleanable/dirt,
/obj/item/crowbar,
/obj/item/wrench,
/obj/item/clothing/mask/gas,
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/turf/open/floor/iron,
+/area/science/research)
+"dfk" = (
+/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/bot,
+/obj/machinery/computer/cargo/request,
+/obj/effect/turf_decal/trimline/brown/filled/line,
/turf/open/floor/iron,
/area/science/research)
"dfl" = (
-/obj/item/kirbyplants/random,
/obj/item/storage/pod{
pixel_x = 32
},
-/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/bot,
+/obj/machinery/modular_computer/console/preset/cargochat/science,
+/obj/effect/turf_decal/trimline/brown/filled/line,
/turf/open/floor/iron,
/area/science/research)
"dfm" = (
@@ -39578,20 +39610,11 @@
/turf/open/floor/plating,
/area/maintenance/port)
"ext" = (
-/obj/structure/table/reinforced,
-/obj/item/paper_bin,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/cargo/storage)
+/turf/open/floor/iron/grimy,
+/area/service/bar)
"exw" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -41692,21 +41715,12 @@
/turf/open/floor/iron,
/area/science/misc_lab/range)
"eYh" = (
-/obj/structure/table/reinforced,
-/obj/item/stack/package_wrap,
-/obj/item/hand_labeler,
-/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{
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/obj/machinery/modular_computer/console/preset/cargochat/service{
dir = 8
},
/turf/open/floor/iron,
-/area/cargo/storage)
+/area/hallway/secondary/service)
"eYi" = (
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/green{
@@ -42801,6 +42815,26 @@
},
/turf/open/floor/iron,
/area/maintenance/starboard/fore)
+"fna" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/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
+ },
+/obj/machinery/door/window/southleft{
+ req_access_txt = "31"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/cargo/storage)
"fnc" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -44409,9 +44443,14 @@
/turf/open/floor/iron/cafeteria,
/area/service/theater)
"fLm" = (
-/obj/structure/sign/poster/contraband/random,
-/turf/closed/wall,
-/area/service/bar)
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/obj/machinery/computer/cargo/request{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/hallway/secondary/service)
"fLT" = (
/obj/machinery/computer/station_alert{
dir = 4
@@ -44488,17 +44527,7 @@
},
/area/commons/dorms)
"fNl" = (
-/obj/structure/chair/stool/bar,
-/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
- },
+/obj/effect/turf_decal/trimline/brown/filled/line,
/turf/open/floor/iron,
/area/engineering/break_room)
"fNp" = (
@@ -46401,6 +46430,23 @@
},
/turf/open/floor/iron/dark,
/area/engineering/atmos)
+"gpL" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/item/kirbyplants/random,
+/obj/structure/window{
+ dir = 8
+ },
+/obj/structure/window{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/cargo/storage)
"gqi" = (
/obj/structure/closet/wardrobe/grey,
/obj/effect/turf_decal/tile/neutral{
@@ -47639,12 +47685,6 @@
/turf/open/floor/iron/dark,
/area/engineering/transit_tube)
"gJm" = (
-/obj/structure/table/reinforced,
-/obj/machinery/microwave{
- desc = "Cooks and boils stuff, somehow.";
- pixel_x = -3;
- pixel_y = 5
- },
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -47655,6 +47695,11 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
+/obj/structure/window{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/item/trash/chips,
/turf/open/floor/iron,
/area/cargo/storage)
"gJq" = (
@@ -48230,6 +48275,20 @@
},
/turf/closed/wall/r_wall,
/area/engineering/atmos/upper)
+"gSu" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/machinery/modular_computer/console/preset/cargochat/cargo,
+/obj/structure/window{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/cargo/storage)
"gSw" = (
/obj/structure/table/wood,
/obj/item/storage/fancy/donut_box,
@@ -49379,6 +49438,25 @@
},
/turf/open/floor/iron,
/area/engineering/atmos)
+"hjz" = (
+/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
+ },
+/obj/structure/table/reinforced,
+/obj/item/storage/box/donkpockets,
+/obj/structure/window{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/cargo/storage)
"hjC" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -52737,6 +52815,16 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/commons/fitness/recreation)
+"icV" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/structure/table/reinforced,
+/turf/open/floor/iron,
+/area/cargo/storage)
"ide" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/storage/bag/bio,
@@ -55381,6 +55469,24 @@
/obj/machinery/power/apc/auto_name/east,
/turf/open/floor/iron,
/area/cargo/miningoffice)
+"iNR" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/structure/table/reinforced,
+/obj/machinery/computer/cargo,
+/obj/structure/window{
+ dir = 4
+ },
+/obj/structure/window{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/cargo/storage)
"iNS" = (
/obj/structure/chair/office{
dir = 4
@@ -58585,20 +58691,14 @@
/turf/open/floor/plating,
/area/service/theater/abandoned)
"jIf" = (
-/obj/structure/chair/stool/bar,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/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
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 9
},
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/crate,
/turf/open/floor/iron,
/area/engineering/break_room)
"jIn" = (
@@ -61878,6 +61978,9 @@
"kCc" = (
/obj/effect/landmark/start/bartender,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/open/floor/iron/grimy,
/area/service/bar)
"kCh" = (
@@ -65247,8 +65350,6 @@
/turf/open/floor/iron,
/area/engineering/break_room)
"luw" = (
-/obj/structure/table/reinforced,
-/obj/item/storage/box/donkpockets,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -65259,6 +65360,11 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
+/obj/structure/chair/office{
+ dir = 1
+ },
+/obj/effect/landmark/start/cargo_technician,
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/cargo/storage)
"luH" = (
@@ -67244,7 +67350,9 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
dir = 9
},
-/obj/machinery/airalarm/directional/east,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 10
+ },
/turf/open/floor/iron,
/area/hallway/secondary/service)
"lWc" = (
@@ -67261,10 +67369,9 @@
/turf/open/floor/iron,
/area/hallway/primary/central/fore)
"lWJ" = (
-/obj/structure/table/reinforced,
-/obj/item/folder/yellow,
-/obj/item/pen,
-/obj/effect/turf_decal/bot,
+/obj/structure/chair{
+ dir = 8
+ },
/turf/open/floor/iron,
/area/engineering/break_room)
"lWS" = (
@@ -71215,6 +71322,12 @@
/obj/structure/extinguisher_cabinet/directional/west,
/turf/open/floor/iron,
/area/commons/storage/tools)
+"mXx" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 6
+ },
+/turf/open/floor/iron,
+/area/engineering/break_room)
"mXI" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
@@ -73460,6 +73573,16 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
+/obj/structure/closet/crate/bin,
+/obj/structure/window,
+/obj/structure/window{
+ dir = 8
+ },
+/obj/item/trash/cheesie,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/trash/can{
+ pixel_x = -8
+ },
/turf/open/floor/iron,
/area/cargo/storage)
"nAV" = (
@@ -75076,19 +75199,14 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/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
- },
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
},
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 5
+ },
+/obj/structure/table/reinforced,
+/obj/item/reagent_containers/food/drinks/soda_cans/thirteenloko,
/turf/open/floor/iron,
/area/engineering/break_room)
"nUj" = (
@@ -82914,9 +83032,6 @@
/turf/open/floor/wood,
/area/command/meeting_room/council)
"pTN" = (
-/obj/machinery/computer/cargo{
- dir = 8
- },
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -82930,6 +83045,17 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
+/obj/structure/table/reinforced,
+/obj/machinery/microwave{
+ desc = "Cooks and boils stuff, somehow.";
+ pixel_x = -3;
+ pixel_y = 5
+ },
+/obj/structure/window,
+/obj/structure/window{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/cargo/storage)
"pUe" = (
@@ -84041,26 +84167,10 @@
/turf/open/floor/plating/airless,
/area/space/nearstation)
"qhV" = (
-/obj/structure/table/wood,
/obj/machinery/status_display/evac{
pixel_x = -32
},
-/obj/item/camera_film{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/camera_film,
-/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/iron/dark,
+/turf/closed/wall,
/area/service/bar/atrium)
"qiu" = (
/obj/machinery/camera{
@@ -85315,6 +85425,15 @@
"qzE" = (
/turf/open/floor/engine,
/area/engineering/supermatter)
+"qzF" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 10
+ },
+/obj/machinery/computer/cargo/request{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/engineering/break_room)
"qzP" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -92202,11 +92321,11 @@
/turf/open/floor/iron,
/area/commons/fitness/recreation)
"sqP" = (
-/obj/structure/disposalpipe/segment{
- dir = 10
- },
/obj/structure/cable,
/obj/effect/turf_decal/delivery,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/open/floor/iron,
/area/service/bar)
"sqY" = (
@@ -95707,10 +95826,10 @@
/turf/open/floor/iron,
/area/ai_monitored/security/armory)
"tlU" = (
-/obj/structure/table/reinforced,
-/obj/item/folder/yellow,
-/obj/item/lightreplacer,
-/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/obj/structure/chair/stool,
/turf/open/floor/iron,
/area/engineering/break_room)
"tme" = (
@@ -96898,6 +97017,7 @@
/obj/effect/turf_decal/tile/yellow{
dir = 8
},
+/obj/item/lightreplacer,
/turf/open/floor/iron,
/area/engineering/break_room)
"tDT" = (
@@ -100112,6 +100232,7 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
dir = 8
},
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/cargo/storage)
"urZ" = (
@@ -102619,7 +102740,10 @@
/turf/open/floor/iron,
/area/maintenance/port/aft)
"vcN" = (
-/obj/item/kirbyplants/random,
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
/turf/open/floor/iron/dark,
/area/service/bar)
"vcU" = (
@@ -104454,6 +104578,9 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 9
+ },
/turf/open/floor/iron,
/area/hallway/secondary/service)
"vDG" = (
@@ -108162,11 +108289,17 @@
/turf/open/floor/iron/grimy,
/area/command/heads_quarters/captain/private)
"wCr" = (
-/obj/structure/table/wood,
-/obj/item/stack/package_wrap,
-/obj/item/hand_labeler,
-/turf/open/floor/iron/dark,
-/area/service/bar)
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/structure/sign/poster/random{
+ pixel_x = 32
+ },
+/turf/open/floor/iron,
+/area/hallway/secondary/service)
"wCM" = (
/obj/structure/sign/nanotrasen,
/turf/closed/wall,
@@ -108564,6 +108697,9 @@
/area/service/hydroponics/garden/abandoned)
"wIT" = (
/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
/turf/open/floor/iron/grimy,
/area/service/bar)
"wIU" = (
@@ -110917,22 +111053,8 @@
/turf/open/floor/iron,
/area/engineering/main)
"xpT" = (
-/obj/machinery/disposal/bin,
-/obj/structure/disposalpipe/trunk{
- 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
- },
/obj/machinery/airalarm/directional/west,
-/turf/open/floor/iron/dark,
+/turf/closed/wall,
/area/service/bar)
"xpW" = (
/obj/structure/disposalpipe/segment{
@@ -112028,6 +112150,10 @@
/obj/effect/turf_decal/tile/brown{
dir = 4
},
+/obj/structure/table/reinforced,
+/obj/item/clothing/gloves/cargo_gauntlet,
+/obj/item/clothing/gloves/cargo_gauntlet,
+/obj/item/clothing/gloves/cargo_gauntlet,
/turf/open/floor/iron,
/area/cargo/storage)
"xFF" = (
@@ -113876,9 +114002,12 @@
/turf/open/floor/iron,
/area/security/prison)
"yfr" = (
-/obj/structure/table/reinforced,
-/obj/item/reagent_containers/food/drinks/soda_cans/thirteenloko,
-/obj/effect/turf_decal/bot,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 8
+ },
+/obj/machinery/modular_computer/console/preset/cargochat/engineering{
+ dir = 4
+ },
/turf/open/floor/iron,
/area/engineering/break_room)
"yfF" = (
@@ -139372,7 +139501,7 @@ kzH
jnE
jIf
yfr
-rka
+qzF
nQy
oPF
xBa
@@ -139627,7 +139756,7 @@ pFk
pFk
goy
pBT
-jIf
+afy
lWJ
fNl
qhm
@@ -139886,7 +140015,7 @@ pvd
pBT
nUh
tlU
-fNl
+mXx
qhm
hAc
hax
@@ -148853,7 +148982,7 @@ vDE
lVX
aMZ
aOB
-aYB
+wCr
jqh
aTB
aVm
@@ -149107,9 +149236,9 @@ qlP
vrR
aXI
fLm
-aXI
+eYh
+ncV
ncV
-wYm
ncV
mlg
ncV
@@ -149363,7 +149492,7 @@ qya
oxd
sqP
xpT
-wCr
+aXI
aXI
qhV
kIC
@@ -150132,7 +150261,7 @@ qxA
aXI
pkT
lyS
-gUH
+ext
gUH
mvD
hpD
@@ -157078,7 +157207,7 @@ jpQ
jpQ
uld
xFE
-ext
+jpQ
hJN
rhn
wXV
@@ -157334,8 +157463,8 @@ jpQ
crG
ffH
uld
-eJd
-eYh
+icV
+jpQ
oWP
lvG
bGr
@@ -158105,8 +158234,8 @@ hkY
jpQ
iuR
uld
-xFE
-jpQ
+gpL
+hjz
nAU
tII
ffH
@@ -158362,9 +158491,9 @@ sMH
kXs
jpQ
hXn
-eJd
+gSu
luw
-oWP
+fna
urJ
vma
eHP
@@ -158619,7 +158748,7 @@ hkY
kXs
ffH
tsk
-eJd
+iNR
gJm
pTN
fQy
@@ -165854,7 +165983,7 @@ bkw
cgX
cdp
bkw
-cgX
+aFI
ciH
ckl
clD
diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
index 01a1872866d..7b722abe57b 100644
--- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm
+++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
@@ -8434,6 +8434,9 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
dir = 1
},
+/obj/effect/turf_decal/siding/brown/corner{
+ dir = 4
+ },
/turf/open/floor/iron/showroomfloor,
/area/hallway/secondary/service)
"aGE" = (
@@ -8562,6 +8565,9 @@
name = "Service Hall Maintenance";
req_one_access_txt = "22;25;26;28;35;37;38;46;70"
},
+/obj/effect/turf_decal/siding/brown/corner{
+ dir = 1
+ },
/turf/open/floor/plating,
/area/hallway/secondary/service)
"aGQ" = (
@@ -10596,6 +10602,9 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
},
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
/turf/open/floor/iron/white,
/area/medical/medbay/aft)
"aUw" = (
@@ -10617,15 +10626,17 @@
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"aUK" = (
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 4
- },
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
dir = 4
},
-/turf/open/floor/iron/white,
+/obj/structure/window/reinforced,
+/obj/effect/turf_decal/trimline/brown/filled/end,
+/obj/machinery/computer/cargo/request{
+ dir = 8
+ },
+/turf/open/floor/iron,
/area/medical/medbay/aft)
"aUL" = (
/obj/effect/turf_decal/tile/red{
@@ -14749,7 +14760,6 @@
/obj/structure/sign/warning/nosmoking/circle{
pixel_x = 32
},
-/obj/structure/bed/roller,
/turf/open/floor/iron/white,
/area/medical/medbay)
"bon" = (
@@ -15208,7 +15218,6 @@
/obj/structure/extinguisher_cabinet{
pixel_x = 27
},
-/obj/structure/bed/roller,
/turf/open/floor/iron/white,
/area/medical/medbay)
"bqv" = (
@@ -15897,15 +15906,16 @@
dir = 8
},
/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/blue/filled/corner,
/turf/open/floor/iron/white,
/area/medical/medbay/aft)
"bsK" = (
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 4
- },
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 6
+ },
/turf/open/floor/iron/white,
/area/medical/medbay/aft)
"bsL" = (
@@ -16133,11 +16143,8 @@
/turf/open/floor/iron,
/area/hallway/primary/central)
"btP" = (
-/obj/structure/extinguisher_cabinet{
- pixel_x = -5;
- pixel_y = 30
- },
-/turf/open/floor/iron/white,
+/obj/machinery/computer/cargo/request,
+/turf/open/floor/iron,
/area/science/research)
"btR" = (
/obj/effect/turf_decal/trimline/green/filled/line{
@@ -16158,10 +16165,8 @@
/turf/open/floor/iron/white,
/area/medical/medbay/aft)
"btS" = (
-/obj/machinery/firealarm{
- pixel_y = 24
- },
-/turf/open/floor/iron/white,
+/obj/machinery/modular_computer/console/preset/cargochat/science,
+/turf/open/floor/iron,
/area/science/research)
"btT" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
@@ -16237,6 +16242,7 @@
dir = 4;
pixel_x = -32
},
+/obj/structure/bed/roller,
/turf/open/floor/iron/white,
/area/medical/medbay/aft)
"buh" = (
@@ -16511,6 +16517,9 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
dir = 4
},
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
/turf/open/floor/iron/white,
/area/science/research)
"bve" = (
@@ -16740,6 +16749,9 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
},
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 27
+ },
/turf/open/floor/iron/white/side{
dir = 9
},
@@ -23868,6 +23880,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 8
},
+/obj/item/folder/yellow,
/turf/open/floor/iron,
/area/cargo/storage)
"cmw" = (
@@ -26883,6 +26896,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
dir = 5
},
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
/turf/open/floor/iron,
/area/cargo/office)
"cRQ" = (
@@ -26901,7 +26918,11 @@
/area/science/mixing)
"cSk" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
-/turf/open/floor/iron/showroomfloor,
+/obj/machinery/modular_computer/console/preset/cargochat/service,
+/obj/effect/turf_decal/stripes/white/line{
+ dir = 5
+ },
+/turf/open/floor/wood,
/area/hallway/secondary/service)
"cSo" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
@@ -27658,6 +27679,17 @@
/obj/item/folder/blue,
/turf/open/floor/wood,
/area/commons/vacant_room/office)
+"dsw" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/iron/white/side{
+ dir = 10
+ },
+/area/science/research)
"dtd" = (
/obj/structure/rack,
/obj/item/clothing/mask/gas,
@@ -29177,6 +29209,9 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
dir = 8
},
+/obj/effect/turf_decal/siding/brown{
+ dir = 1
+ },
/turf/open/floor/iron/showroomfloor,
/area/hallway/secondary/service)
"eBl" = (
@@ -29460,6 +29495,15 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/hallway/primary/central)
+"eLU" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 5
+ },
+/turf/open/floor/iron/white,
+/area/medical/medbay/aft)
"eMc" = (
/obj/machinery/door/airlock/command{
name = "MiniSat Access";
@@ -32735,16 +32779,23 @@
/turf/open/floor/iron,
/area/commons/locker)
"gZK" = (
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 4
- },
/obj/machinery/light{
dir = 4
},
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/turf/open/floor/iron/white,
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/obj/effect/turf_decal/trimline/brown/filled/end{
+ dir = 1
+ },
+/obj/machinery/modular_computer/console/preset/cargochat/medical{
+ dir = 8
+ },
+/turf/open/floor/iron,
/area/medical/medbay/aft)
"gZQ" = (
/obj/machinery/light/small{
@@ -33122,6 +33173,12 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 4
},
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
/turf/open/floor/iron,
/area/cargo/office)
"hrJ" = (
@@ -33308,6 +33365,22 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
+"hyN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/brown{
+ dir = 1
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/hallway/secondary/service)
"hyS" = (
/obj/effect/turf_decal/loading_area,
/turf/open/floor/iron,
@@ -34676,6 +34749,13 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/grimy,
/area/service/chapel/office)
+"itD" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/cargo_gauntlet,
+/obj/item/clothing/gloves/cargo_gauntlet,
+/obj/item/clothing/gloves/cargo_gauntlet,
+/turf/open/floor/iron,
+/area/cargo/storage)
"itG" = (
/obj/item/beacon,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
@@ -36007,6 +36087,25 @@
},
/turf/open/floor/iron,
/area/commons/dorms)
+"job" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/iron/white,
+/area/science/research)
"jot" = (
/obj/structure/disposalpipe/segment{
dir = 9
@@ -36760,6 +36859,9 @@
dir = 8
},
/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 4
+ },
/turf/open/floor/iron/white,
/area/medical/medbay/aft)
"jQv" = (
@@ -38386,6 +38488,12 @@
/obj/machinery/power/apc/auto_name/south,
/obj/effect/turf_decal/tile/brown,
/obj/structure/cable,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
/turf/open/floor/iron,
/area/cargo/office)
"kTm" = (
@@ -39476,6 +39584,29 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/dark,
/area/security/interrogation)
+"lMe" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/computer/cargo/request{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown,
+/turf/open/floor/iron,
+/area/engineering/break_room)
"lNo" = (
/obj/structure/cable,
/obj/machinery/holopad,
@@ -40609,12 +40740,20 @@
/turf/closed/wall,
/area/medical/pharmacy)
"myg" = (
-/obj/structure/table,
/obj/machinery/firealarm{
dir = 4;
pixel_x = -24
},
-/obj/item/folder/yellow,
+/obj/machinery/modular_computer/console/preset/cargochat/cargo{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/cargo/office)
"myl" = (
@@ -42170,16 +42309,18 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
dir = 4
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
dir = 4
},
+/obj/machinery/computer/cargo/request{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/brown/filled/end{
+ dir = 4
+ },
/turf/open/floor/iron,
/area/security/office)
"nxx" = (
@@ -42765,7 +42906,9 @@
/turf/open/floor/iron/white/corner,
/area/hallway/secondary/entry)
"nQF" = (
-/obj/machinery/computer/cargo/request,
+/obj/item/kirbyplants{
+ icon_state = "plant-21"
+ },
/turf/open/floor/iron,
/area/cargo/office)
"nQH" = (
@@ -42995,6 +43138,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
dir = 4
},
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
/turf/open/floor/iron,
/area/cargo/office)
"ocC" = (
@@ -44048,6 +44198,14 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron,
/area/commons/fitness)
+"oTY" = (
+/obj/structure/chair/office{
+ dir = 8
+ },
+/obj/effect/landmark/start/cargo_technician,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/iron,
+/area/cargo/office)
"oUd" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
dir = 4
@@ -45637,6 +45795,18 @@
/obj/effect/spawner/structure/window/plasma/reinforced,
/turf/open/floor/plating,
/area/engineering/supermatter)
+"pWx" = (
+/obj/machinery/firealarm{
+ pixel_y = 24
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown,
+/turf/open/floor/iron/white/side{
+ dir = 6
+ },
+/area/science/research)
"pWC" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -48081,16 +48251,18 @@
/obj/structure/disposalpipe/segment{
dir = 5
},
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
dir = 5
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
dir = 5
},
+/obj/machinery/modular_computer/console/preset/cargochat/cargo{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/brown/filled/end{
+ dir = 8
+ },
/turf/open/floor/iron,
/area/security/office)
"rIH" = (
@@ -48482,6 +48654,7 @@
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 8
},
+/obj/structure/bed/roller,
/turf/open/floor/iron/white,
/area/medical/medbay/aft)
"rTL" = (
@@ -48851,6 +49024,22 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/maintenance/aft)
+"skk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/iron/white,
+/area/science/research)
"skv" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
@@ -48991,6 +49180,12 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron/dark,
/area/security/execution/transfer)
+"soE" = (
+/obj/effect/turf_decal/siding/brown{
+ dir = 4
+ },
+/turf/open/floor/iron/showroomfloor,
+/area/hallway/secondary/service)
"sph" = (
/obj/effect/landmark/event_spawn,
/obj/structure/cable,
@@ -49422,12 +49617,14 @@
/turf/open/floor/plating,
/area/engineering/main)
"sFa" = (
-/obj/structure/table,
/obj/machinery/airalarm{
dir = 4;
pixel_x = -22
},
-/obj/item/multitool,
+/obj/machinery/computer/cargo{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/cargo/office)
"sFw" = (
@@ -51852,6 +52049,26 @@
},
/turf/open/floor/carpet/blue,
/area/medical/psychology)
+"umA" = (
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/modular_computer/console/preset/cargochat/engineering{
+ dir = 8
+ },
+/obj/structure/window/reinforced,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown,
+/turf/open/floor/iron,
+/area/engineering/break_room)
"umE" = (
/obj/machinery/power/apc/auto_name/west,
/obj/structure/disposalpipe/segment,
@@ -52318,6 +52535,9 @@
/obj/structure/disposalpipe/segment{
dir = 9
},
+/obj/effect/turf_decal/trimline/blue/filled/corner{
+ dir = 4
+ },
/turf/open/floor/iron/white,
/area/medical/medbay/aft)
"uyv" = (
@@ -52533,6 +52753,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/purple/visible,
/turf/open/floor/iron/dark,
/area/engineering/supermatter/room)
+"uDw" = (
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/structure/table,
+/obj/item/food/cheesiehonkers,
+/turf/open/floor/iron,
+/area/cargo/office)
"uDE" = (
/obj/structure/disposalpipe/segment,
/obj/effect/landmark/start/hangover,
@@ -57036,6 +57265,13 @@
pixel_x = 6;
pixel_y = -5
},
+/obj/item/multitool,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/item/trash/cheesie,
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/cargo/office)
"xJs" = (
@@ -57463,7 +57699,9 @@
dir = 4
},
/obj/effect/decal/cleanable/cobweb/cobweb2,
-/turf/open/floor/iron/showroomfloor,
+/obj/machinery/computer/cargo/request,
+/obj/effect/turf_decal/stripes/white/line,
+/turf/open/floor/wood,
/area/hallway/secondary/service)
"xXc" = (
/obj/machinery/door/airlock/maintenance{
@@ -79203,7 +79441,7 @@ rSS
hFZ
mmg
uIw
-dCr
+itD
dCr
sbp
jIx
@@ -79972,8 +80210,8 @@ pmz
xjK
xjK
hrF
-xjK
-xjK
+oTY
+uDw
oOH
tZP
lQH
@@ -88480,8 +88718,8 @@ rEM
hZo
iWy
xLS
-tzL
-tzL
+lMe
+umA
tzL
tzL
ddj
@@ -96389,7 +96627,7 @@ aro
aro
jjD
fPh
-qzO
+soE
aGB
pUe
aAe
@@ -96904,7 +97142,7 @@ boP
boP
cVb
xWM
-pOR
+hyN
xfm
wSh
krf
@@ -97197,7 +97435,7 @@ bvo
bsK
gZK
aUK
-bsK
+eLU
btT
qMQ
eIZ
@@ -102074,7 +102312,7 @@ cHV
cIa
jFl
box
-bWr
+pWx
bvc
byf
byf
@@ -102332,7 +102570,7 @@ cIb
bsT
box
btP
-aRU
+job
byi
bzz
bAE
@@ -102589,7 +102827,7 @@ bqd
aPm
box
btS
-aRU
+job
byi
bwN
bAG
@@ -102845,8 +103083,8 @@ cHX
cIc
aPm
buj
-bpZ
-bve
+dsw
+skk
byj
bwM
aUs
diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm
index 8f194670579..b44d1350178 100644
--- a/_maps/map_files/KiloStation/KiloStation.dmm
+++ b/_maps/map_files/KiloStation/KiloStation.dmm
@@ -4307,8 +4307,10 @@
/turf/open/floor/engine,
/area/ai_monitored/turret_protected/ai)
"ajq" = (
-/obj/effect/spawner/lootdrop/glowstick,
/obj/effect/decal/cleanable/dirt,
+/obj/machinery/computer/cargo/request{
+ dir = 8
+ },
/turf/open/floor/plating{
icon_state = "platingdmg1"
},
@@ -16839,11 +16841,11 @@
/obj/effect/turf_decal/siding/blue{
dir = 4
},
-/obj/item/kirbyplants{
- icon_state = "plant-10"
- },
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/east,
+/obj/machinery/modular_computer/console/preset/cargochat/medical{
+ dir = 8
+ },
/turf/open/floor/iron/showroomfloor,
/area/medical/medbay/central)
"aQC" = (
@@ -18432,16 +18434,36 @@
/turf/open/floor/iron/showroomfloor,
/area/medical/medbay/central)
"aTu" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
/obj/effect/turf_decal/tile/blue,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/effect/turf_decal/tile/blue,
-/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/siding/blue{
dir = 4
},
-/obj/structure/cable,
+/obj/structure/table,
+/obj/item/clipboard{
+ pixel_x = -6
+ },
+/obj/item/reagent_containers/glass/beaker/cryoxadone{
+ pixel_x = 6;
+ pixel_y = 10
+ },
+/obj/item/reagent_containers/glass/beaker/cryoxadone{
+ pixel_x = 6
+ },
+/obj/item/reagent_containers/glass/beaker/cryoxadone{
+ pixel_x = -6;
+ pixel_y = 10
+ },
+/obj/item/reagent_containers/glass/beaker/cryoxadone{
+ pixel_x = -6
+ },
+/obj/item/reagent_containers/dropper,
+/obj/item/reagent_containers/syringe,
/turf/open/floor/iron/showroomfloor,
/area/medical/medbay/central)
"aTv" = (
@@ -25152,18 +25174,19 @@
},
/area/maintenance/port)
"bgj" = (
-/obj/effect/turf_decal/tile/purple,
-/obj/effect/turf_decal/tile/purple{
- dir = 8
- },
-/obj/effect/turf_decal/tile/purple,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 1
},
/obj/structure/disposalpipe/segment{
dir = 4
},
-/turf/open/floor/iron/showroomfloor,
+/obj/machinery/computer/cargo/request{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/brown/filled/end{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
/area/science/research)
"bgk" = (
/obj/machinery/firealarm{
@@ -27569,7 +27592,6 @@
/turf/open/floor/iron/dark,
/area/ai_monitored/turret_protected/aisat/atmos)
"bpL" = (
-/obj/effect/turf_decal/bot,
/obj/effect/turf_decal/tile/brown,
/obj/effect/turf_decal/tile/brown{
dir = 4
@@ -27581,7 +27603,9 @@
/obj/effect/turf_decal/tile/yellow{
dir = 1
},
-/obj/machinery/computer/cargo/request,
+/obj/item/kirbyplants{
+ icon_state = "plant-05"
+ },
/turf/open/floor/iron,
/area/hallway/primary/starboard)
"bpM" = (
@@ -29860,6 +29884,15 @@
/area/maintenance/central)
"bAT" = (
/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/brown/filled/end{
+ dir = 8
+ },
+/obj/machinery/modular_computer/console/preset/cargochat/cargo{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
/turf/open/floor/plating{
icon_state = "panelscorched"
},
@@ -43536,10 +43569,9 @@
/turf/open/floor/plating,
/area/maintenance/port/aft)
"cli" = (
-/obj/structure/grille,
/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
+/turf/closed/wall,
+/area/engineering/main)
"clj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -43835,13 +43867,17 @@
},
/area/maintenance/port/aft)
"cmg" = (
-/obj/effect/turf_decal/stripes/corner{
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/modular_computer/console/preset/cargochat/science{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/brown/filled/end{
dir = 8
},
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/loot_site_spawner,
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
+/turf/open/floor/iron/dark,
+/area/science/research)
"cmh" = (
/obj/structure/sign/poster/contraband/random,
/turf/closed/wall,
@@ -44044,14 +44080,11 @@
/turf/open/floor/iron,
/area/security/brig)
"cmB" = (
-/obj/structure/closet/radiation,
-/obj/structure/grille/broken,
-/obj/effect/decal/cleanable/cobweb,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating{
- icon_state = "platingdmg3"
+/obj/machinery/computer/cargo/request{
+ dir = 1
},
-/area/maintenance/starboard/aft)
+/turf/open/floor/iron/dark,
+/area/engineering/main)
"cmC" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -55960,8 +55993,6 @@
/turf/open/floor/iron/dark,
/area/command/gateway)
"eHO" = (
-/obj/effect/turf_decal/delivery,
-/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -55972,6 +56003,11 @@
dir = 8;
pixel_x = 28
},
+/obj/structure/rack,
+/obj/item/clothing/gloves/cargo_gauntlet,
+/obj/item/clothing/gloves/cargo_gauntlet,
+/obj/item/clothing/gloves/cargo_gauntlet,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
/turf/open/floor/iron/dark,
/area/cargo/storage)
"eIc" = (
@@ -63170,16 +63206,9 @@
/turf/open/floor/iron/grimy,
/area/security/prison)
"iuQ" = (
-/obj/structure/table/reinforced,
-/obj/item/clipboard,
-/obj/item/clothing/accessory/armband/deputy,
-/obj/item/clothing/accessory/armband/deputy,
-/obj/item/clothing/accessory/armband/deputy,
-/obj/item/clothing/accessory/armband/deputy,
-/obj/item/clothing/accessory/armband/deputy,
-/obj/effect/turf_decal/tile/red,
-/obj/item/food/donut,
-/obj/item/inspector,
+/obj/machinery/modular_computer/console/preset/cargochat/security{
+ dir = 4
+ },
/turf/open/floor/iron/dark,
/area/security/office)
"ive" = (
@@ -63461,13 +63490,11 @@
/area/service/hydroponics)
"iDo" = (
/obj/effect/turf_decal/tile/red,
-/obj/item/kirbyplants{
- icon_state = "plant-21"
- },
/obj/machinery/light_switch{
pixel_x = 24;
pixel_y = -24
},
+/obj/machinery/photocopier,
/turf/open/floor/iron,
/area/security/office)
"iDq" = (
@@ -64763,6 +64790,7 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
dir = 8
},
+/obj/effect/loot_site_spawner,
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
"jrx" = (
@@ -65682,6 +65710,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark,
/area/cargo/storage)
+"jRt" = (
+/obj/structure/closet/radiation,
+/obj/structure/grille/broken,
+/obj/effect/decal/cleanable/cobweb,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating{
+ icon_state = "platingdmg3"
+ },
+/area/maintenance/starboard/aft)
"jRT" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -66487,6 +66524,7 @@
dir = 8
},
/obj/structure/cable,
+/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/iron,
/area/engineering/main)
"klG" = (
@@ -67482,7 +67520,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
dir = 5
},
-/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
dir = 5
},
@@ -67490,8 +67527,8 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
dir = 5
},
-/turf/open/floor/plating,
-/area/maintenance/starboard/aft)
+/turf/closed/wall/rust,
+/area/engineering/main)
"kJJ" = (
/obj/effect/turf_decal/tile/red{
dir = 8
@@ -68016,13 +68053,11 @@
/area/cargo/office)
"kXl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/plating{
- icon_state = "panelscorched"
- },
+/obj/structure/sign/warning/electricshock,
+/turf/closed/wall/rust,
/area/maintenance/starboard/aft)
"kXs" = (
/obj/effect/turf_decal/tile/neutral,
@@ -69615,10 +69650,14 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
+/obj/machinery/suit_storage_unit/engine,
/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/obj/machinery/airalarm{
+ dir = 8;
pixel_x = 24
},
-/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/iron/dark,
/area/engineering/main)
"lNt" = (
@@ -69779,6 +69818,13 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/iron/dark,
/area/service/bar)
+"lRf" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/computer/chef_order{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/maintenance/central)
"lRg" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -69992,6 +70038,7 @@
/obj/effect/turf_decal/bot,
/obj/machinery/holopad,
/obj/effect/landmark/start/hangover,
+/obj/machinery/icecream_vat,
/turf/open/floor/iron/showroomfloor,
/area/service/bar/atrium)
"lXw" = (
@@ -74063,6 +74110,12 @@
},
/turf/open/floor/iron,
/area/command/heads_quarters/hop)
+"ojw" = (
+/obj/structure/sign/departments/cargo{
+ pixel_x = 32
+ },
+/turf/open/floor/iron/dark,
+/area/engineering/main)
"ojM" = (
/obj/effect/turf_decal/delivery,
/obj/effect/turf_decal/tile/neutral{
@@ -78623,27 +78676,10 @@
/obj/effect/turf_decal/siding/blue{
dir = 4
},
-/obj/structure/table,
-/obj/item/clipboard{
- pixel_x = -6
- },
-/obj/item/reagent_containers/glass/beaker/cryoxadone{
- pixel_x = 6;
- pixel_y = 10
- },
-/obj/item/reagent_containers/glass/beaker/cryoxadone{
- pixel_x = 6
- },
-/obj/item/reagent_containers/glass/beaker/cryoxadone{
- pixel_x = -6;
- pixel_y = 10
- },
-/obj/item/reagent_containers/glass/beaker/cryoxadone{
- pixel_x = -6
- },
-/obj/item/reagent_containers/dropper,
-/obj/item/reagent_containers/syringe,
/obj/structure/cable,
+/obj/machinery/computer/cargo/request{
+ dir = 8
+ },
/turf/open/floor/iron/showroomfloor,
/area/medical/medbay/central)
"qIv" = (
@@ -79116,6 +79152,21 @@
/obj/structure/sign/warning/securearea,
/turf/closed/wall/r_wall,
/area/engineering/storage/tech)
+"qUX" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/turf_decal/trimline/brown/filled/end{
+ dir = 4
+ },
+/obj/machinery/computer/cargo/request{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ icon_state = "platingdmg1"
+ },
+/area/maintenance/starboard/aft)
"qVF" = (
/obj/effect/turf_decal/tile/red{
dir = 8
@@ -79631,9 +79682,6 @@
/obj/effect/turf_decal/tile/yellow{
dir = 1
},
-/obj/effect/turf_decal/loading_area{
- dir = 8
- },
/obj/effect/turf_decal/tile/red{
dir = 1
},
@@ -79919,6 +79967,14 @@
},
/turf/open/floor/iron/dark,
/area/engineering/break_room)
+"roY" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/closed/wall,
+/area/engineering/main)
"rph" = (
/obj/effect/turf_decal/tile/brown,
/obj/effect/turf_decal/tile/brown{
@@ -81541,18 +81597,13 @@
/turf/open/floor/iron/showroomfloor,
/area/science/xenobiology)
"soq" = (
-/obj/machinery/suit_storage_unit/engine,
-/obj/effect/turf_decal/delivery,
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
-/obj/machinery/airalarm{
- dir = 8;
- pixel_x = 24
- },
+/obj/effect/turf_decal/bot,
/turf/open/floor/iron/dark,
/area/engineering/main)
"sox" = (
@@ -81722,6 +81773,11 @@
/obj/structure/sign/warning/securearea,
/turf/closed/wall/r_wall,
/area/hallway/secondary/entry)
+"stO" = (
+/obj/structure/grille,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating,
+/area/maintenance/starboard/aft)
"stX" = (
/obj/structure/toilet,
/obj/machinery/light/small{
@@ -82785,7 +82841,6 @@
/turf/open/floor/iron/showroomfloor,
/area/service/library)
"sXu" = (
-/obj/machinery/photocopier,
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 8
@@ -82796,6 +82851,9 @@
/obj/structure/disposalpipe/segment{
dir = 6
},
+/obj/machinery/computer/cargo/request{
+ dir = 1
+ },
/turf/open/floor/iron/dark,
/area/security/office)
"sXv" = (
@@ -83657,16 +83715,10 @@
/turf/open/floor/iron/dark,
/area/construction/mining/aux_base)
"tAZ" = (
-/obj/effect/turf_decal/bot,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red,
-/obj/machinery/icecream_vat,
/obj/structure/extinguisher_cabinet{
pixel_x = -26
},
-/turf/open/floor/iron/showroomfloor,
+/turf/closed/wall,
/area/service/kitchen)
"tBb" = (
/obj/effect/turf_decal/loading_area,
@@ -84253,6 +84305,10 @@
/obj/structure/cable,
/turf/open/floor/carpet/green,
/area/service/library)
+"tON" = (
+/obj/machinery/modular_computer/console/preset/cargochat/engineering,
+/turf/open/floor/iron/dark,
+/area/engineering/main)
"tOO" = (
/obj/machinery/light/small{
dir = 1
@@ -86845,21 +86901,20 @@
/area/space/nearstation)
"viF" = (
/obj/structure/table/reinforced,
-/obj/item/folder/red{
- pixel_x = -2;
- pixel_y = -2
- },
-/obj/item/folder/blue{
- pixel_x = 2;
- pixel_y = 2
- },
-/obj/item/lighter,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
+/obj/item/clipboard,
+/obj/item/clothing/accessory/armband/deputy,
+/obj/item/clothing/accessory/armband/deputy,
+/obj/item/clothing/accessory/armband/deputy,
+/obj/item/clothing/accessory/armband/deputy,
+/obj/item/clothing/accessory/armband/deputy,
+/obj/item/food/donut,
+/obj/item/inspector,
/turf/open/floor/iron/dark,
/area/security/office)
"viG" = (
@@ -88672,9 +88727,6 @@
/obj/effect/turf_decal/tile/brown{
dir = 4
},
-/obj/effect/turf_decal/loading_area{
- dir = 8
- },
/obj/effect/turf_decal/tile/yellow,
/obj/effect/turf_decal/tile/brown{
dir = 1
@@ -88839,6 +88891,14 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/command/heads_quarters/ce)
+"wnX" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable,
+/obj/effect/spawner/lootdrop/glowstick,
+/turf/open/floor/plating{
+ icon_state = "panelscorched"
+ },
+/area/maintenance/central)
"woB" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "ceprivate";
@@ -91039,7 +91099,7 @@
/area/cargo/qm)
"xwt" = (
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/computer/chef_order{
+/obj/machinery/modular_computer/console/preset/cargochat/service{
dir = 8
},
/turf/open/floor/plating{
@@ -91281,6 +91341,15 @@
/obj/structure/table/reinforced,
/obj/item/crowbar/red,
/obj/item/radio/headset/headset_sec,
+/obj/item/folder/blue{
+ pixel_x = 2;
+ pixel_y = 2
+ },
+/obj/item/folder/red{
+ pixel_x = -2;
+ pixel_y = -2
+ },
+/obj/item/lighter,
/turf/open/floor/iron/dark,
/area/security/office)
"xDW" = (
@@ -92296,6 +92365,13 @@
},
/turf/open/floor/iron,
/area/service/hydroponics)
+"yey" = (
+/obj/machinery/door/airlock/engineering/glass{
+ name = "Cargo Requests";
+ req_access_txt = "32"
+ },
+/turf/open/floor/iron/dark,
+/area/engineering/main)
"yeV" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -124880,7 +124956,7 @@ aox
buB
ajq
xwt
-uuQ
+lRf
sox
ref
ref
@@ -125664,7 +125740,7 @@ bvV
aIN
aox
bAM
-bDk
+wnX
rPt
gaR
xIB
@@ -129807,7 +129883,7 @@ vwG
qLv
qLv
qGy
-qGy
+yey
ucO
qGy
nUj
@@ -130062,13 +130138,13 @@ bSJ
bSI
bGH
bGr
-bEg
-bAT
-bOC
+mpx
+tON
+ojw
cmB
-bOb
+mpx
+jRt
cmh
-cmg
fdx
cKV
nUj
@@ -130319,12 +130395,12 @@ vDB
dzk
dzk
kXl
-dzk
+roY
kJv
-bOb
-bEg
+mpx
+mpx
cli
-bAT
+stO
bGr
jqE
bOb
@@ -130575,8 +130651,8 @@ gnI
bSN
bOb
fiv
+bGr
cmp
-bSI
oKC
vDB
jAE
@@ -130786,7 +130862,7 @@ aYS
aZt
bbl
aOi
-bep
+cmg
aYe
aXQ
aXY
@@ -132871,7 +132947,7 @@ nFZ
hzt
vfo
bTw
-bAv
+qUX
bOc
bOc
bOc
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index 205267b6937..501113bc858 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -3137,7 +3137,6 @@
name = "Cargo Desk";
req_access_txt = "50"
},
-/obj/item/newspaper,
/obj/item/paper_bin{
pixel_x = -3;
pixel_y = 9
@@ -3146,6 +3145,8 @@
dir = 4
},
/obj/machinery/door/firedoor,
+/obj/item/newspaper,
+/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/iron,
/area/cargo/sorting)
"arf" = (
@@ -3996,6 +3997,12 @@
/obj/effect/turf_decal/trimline/red/filled/corner{
dir = 8
},
+/obj/structure/rack,
+/obj/item/storage/toolbox/mechanical{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/storage/toolbox/electrical,
/turf/open/floor/iron,
/area/security/brig)
"axv" = (
@@ -4005,6 +4012,10 @@
/obj/effect/turf_decal/trimline/red/filled/corner{
dir = 4
},
+/obj/structure/table,
+/obj/machinery/recharger{
+ pixel_y = 4
+ },
/turf/open/floor/iron,
/area/security/brig)
"axI" = (
@@ -7170,7 +7181,6 @@
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 8
},
-/obj/effect/turf_decal/trimline/brown/filled/corner,
/turf/open/floor/iron,
/area/construction/storage_wing)
"aXq" = (
@@ -19156,7 +19166,7 @@
pixel_y = -5
},
/obj/machinery/airalarm/directional/south,
-/turf/open/floor/iron/white,
+/turf/open/floor/iron,
/area/science/misc_lab)
"cWl" = (
/obj/effect/turf_decal/tile/neutral{
@@ -19248,10 +19258,10 @@
/turf/open/floor/iron/white,
/area/medical/storage)
"cXm" = (
-/obj/structure/table,
-/obj/item/paper_bin,
-/obj/item/pen,
-/turf/open/floor/iron/white,
+/obj/machinery/computer/cargo/request{
+ dir = 4
+ },
+/turf/open/floor/iron,
/area/science/misc_lab)
"cXA" = (
/obj/effect/turf_decal/stripes/line{
@@ -23298,19 +23308,21 @@
/turf/open/floor/iron,
/area/security/brig)
"ego" = (
-/obj/effect/turf_decal/trimline/red/filled/corner{
- dir = 1
- },
-/obj/structure/table,
-/obj/machinery/recharger{
- pixel_y = 4
- },
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
dir = 10
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
dir = 10
},
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 8
+ },
+/obj/machinery/computer/cargo/request{
+ dir = 8
+ },
/turf/open/floor/iron,
/area/security/brig)
"egB" = (
@@ -24342,7 +24354,13 @@
/obj/structure/chair/office{
dir = 8
},
-/turf/open/floor/iron/white,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/purple/filled/warning{
+ dir = 4
+ },
+/turf/open/floor/iron,
/area/science/misc_lab)
"eCg" = (
/obj/machinery/door/airlock/maintenance{
@@ -24873,18 +24891,9 @@
/turf/open/floor/iron/white,
/area/medical/medbay/central)
"eKu" = (
-/obj/structure/table/reinforced,
-/obj/machinery/door/window/westright{
- name = "Cargo Desk";
- req_access_txt = "50"
- },
-/obj/effect/spawner/lootdrop/maintenance,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/trimline/brown/filled/corner,
/turf/open/floor/iron,
-/area/cargo/sorting)
+/area/construction/storage_wing)
"eKv" = (
/obj/effect/turf_decal/siding/purple{
dir = 1
@@ -27675,8 +27684,8 @@
dir = 8
},
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/computer/chef_order{
- dir = 1
+/obj/structure/reagent_dispensers/plumbed{
+ dir = 8
},
/turf/open/floor/iron,
/area/hallway/secondary/service)
@@ -28924,6 +28933,9 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
dir = 8
},
+/obj/vehicle/ridden/wheelchair{
+ dir = 1
+ },
/turf/open/floor/iron/white,
/area/medical/treatment_center)
"gbO" = (
@@ -30659,6 +30671,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
dir = 8
},
+/obj/machinery/computer/cargo{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
/turf/open/floor/iron,
/area/cargo/sorting)
"gGb" = (
@@ -30985,12 +31006,6 @@
/turf/open/floor/iron/white,
/area/science/nanite)
"gLn" = (
-/obj/machinery/computer/cargo/request{
- dir = 4
- },
-/obj/structure/window/reinforced{
- dir = 8
- },
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
dir = 4
},
@@ -31001,7 +31016,8 @@
pixel_y = 32
},
/obj/machinery/door/firedoor,
-/turf/open/floor/iron,
+/obj/effect/spawner/structure/window/reinforced,
+/turf/open/floor/plating,
/area/cargo/sorting)
"gMj" = (
/obj/effect/decal/cleanable/dirt,
@@ -32507,14 +32523,11 @@
/turf/open/floor/iron,
/area/commons/fitness/recreation)
"hoa" = (
-/obj/item/book/manual/wiki/engineering_construction{
- pixel_y = 3
+/obj/machinery/computer/cargo/request,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
},
-/obj/structure/table/glass,
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow{
+/obj/effect/turf_decal/trimline/yellow/filled/warning{
dir = 4
},
/turf/open/floor/iron,
@@ -33641,7 +33654,7 @@
pixel_x = 32
},
/obj/effect/decal/cleanable/dirt,
-/obj/structure/reagent_dispensers/plumbed{
+/obj/machinery/modular_computer/console/preset/cargochat/service{
dir = 8
},
/turf/open/floor/iron,
@@ -34728,6 +34741,7 @@
"ibT" = (
/obj/machinery/power/apc/auto_name/north,
/obj/structure/cable,
+/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/white,
/area/science/misc_lab)
"icq" = (
@@ -36854,11 +36868,13 @@
/turf/open/floor/iron/dark,
/area/engineering/storage/tcomms)
"iPj" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{
- dir = 1
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 5
},
-/obj/effect/turf_decal/tile/purple,
-/turf/open/floor/iron/white,
+/obj/effect/turf_decal/trimline/purple/filled/warning{
+ dir = 5
+ },
+/turf/open/floor/iron,
/area/science/misc_lab)
"iPl" = (
/obj/structure/disposalpipe/segment{
@@ -37298,6 +37314,15 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/engineering/break_room)
+"iXg" = (
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 10
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/warning{
+ dir = 10
+ },
+/turf/open/floor/iron,
+/area/engineering/break_room)
"iXv" = (
/obj/item/wrench,
/turf/open/floor/iron,
@@ -40571,6 +40596,10 @@
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/decal/cleanable/dirt,
+/obj/item/broken_bottle{
+ pixel_x = 9;
+ pixel_y = -4
+ },
/turf/open/floor/iron,
/area/maintenance/starboard)
"kfU" = (
@@ -40967,23 +40996,22 @@
/turf/open/floor/iron,
/area/ai_monitored/command/storage/eva)
"knk" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
/obj/structure/sign/warning/coldtemp{
pixel_y = 32
},
-/obj/vehicle/ridden/wheelchair,
/obj/item/radio/intercom{
pixel_x = -28
},
-/turf/open/floor/iron/white,
+/obj/machinery/modular_computer/console/preset/cargochat/medical{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/blue/filled/warning{
+ dir = 4
+ },
+/turf/open/floor/iron,
/area/medical/treatment_center)
"kny" = (
/obj/structure/table,
@@ -42454,7 +42482,6 @@
pixel_y = 32
},
/obj/structure/table/glass,
-/obj/item/folder/yellow,
/obj/effect/turf_decal/tile/yellow{
dir = 1
},
@@ -42464,6 +42491,10 @@
/obj/effect/turf_decal/stripes/corner{
dir = 4
},
+/obj/item/book/manual/wiki/engineering_construction{
+ pixel_y = 3
+ },
+/obj/item/folder/yellow,
/turf/open/floor/iron,
/area/engineering/break_room)
"kPq" = (
@@ -43072,20 +43103,12 @@
/turf/open/floor/iron/dark,
/area/science/genetics)
"laG" = (
-/obj/item/paper_bin{
- pixel_x = -3;
- pixel_y = 7
+/obj/machinery/modular_computer/console/preset/cargochat/engineering,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 8
},
-/obj/item/pen,
-/obj/structure/table/glass,
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 1
+/obj/effect/turf_decal/trimline/yellow/filled/warning{
+ dir = 8
},
/turf/open/floor/iron,
/area/engineering/break_room)
@@ -44353,13 +44376,19 @@
/turf/open/floor/iron,
/area/hallway/secondary/exit/departure_lounge)
"lwC" = (
-/obj/structure/chair/office{
- dir = 4
- },
-/obj/effect/landmark/start/cargo_technician,
/obj/structure/disposalpipe/segment{
dir = 4
},
+/obj/machinery/modular_computer/console/preset/cargochat/cargo{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/brown,
/turf/open/floor/iron,
/area/cargo/sorting)
"lwJ" = (
@@ -44845,7 +44874,9 @@
/area/security/brig)
"lGw" = (
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/vending/cigarette,
+/obj/machinery/computer/cargo/request{
+ dir = 8
+ },
/turf/open/floor/iron,
/area/maintenance/starboard)
"lGS" = (
@@ -49351,6 +49382,8 @@
/obj/effect/turf_decal/tile/purple{
dir = 1
},
+/obj/item/paper_bin,
+/obj/item/pen,
/turf/open/floor/iron/white,
/area/science/misc_lab)
"nfZ" = (
@@ -52679,6 +52712,13 @@
/obj/effect/turf_decal/tile/brown{
dir = 1
},
+/obj/item/clothing/gloves/cargo_gauntlet{
+ pixel_y = -3
+ },
+/obj/item/clothing/gloves/cargo_gauntlet,
+/obj/item/clothing/gloves/cargo_gauntlet{
+ pixel_y = 3
+ },
/turf/open/floor/iron,
/area/cargo/storage)
"okF" = (
@@ -63090,6 +63130,12 @@
/area/maintenance/starboard)
"rBt" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 6
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/warning{
+ dir = 6
+ },
/turf/open/floor/iron,
/area/engineering/break_room)
"rBv" = (
@@ -63358,6 +63404,10 @@
pixel_y = -4
},
/obj/machinery/duct,
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 4
+ },
+/obj/item/trash/candy,
/turf/open/floor/iron,
/area/maintenance/starboard)
"rIv" = (
@@ -69415,14 +69465,11 @@
/turf/open/floor/iron,
/area/hallway/primary/starboard)
"tFj" = (
-/obj/item/trash/candy,
/obj/machinery/light{
dir = 8
},
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 4
- },
+/obj/machinery/vending/cigarette,
/turf/open/floor/iron,
/area/maintenance/starboard)
"tFm" = (
@@ -73578,11 +73625,14 @@
/turf/open/floor/iron,
/area/command/gateway)
"uXk" = (
-/obj/machinery/computer/cargo/request{
- dir = 1
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/obj/structure/window/reinforced,
-/obj/machinery/door/firedoor,
+/obj/structure/chair/office{
+ dir = 4
+ },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/iron,
/area/cargo/sorting)
"uXo" = (
@@ -75685,15 +75735,17 @@
/turf/open/floor/iron,
/area/construction/storage_wing)
"vJv" = (
-/obj/structure/rack,
-/obj/item/storage/toolbox/mechanical{
- pixel_x = -4;
- pixel_y = 4
- },
-/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/item/storage/toolbox/electrical,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 10
+ },
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 10
+ },
+/obj/machinery/modular_computer/console/preset/cargochat/security{
+ dir = 8
+ },
/turf/open/floor/iron,
/area/security/brig)
"vJG" = (
@@ -76362,11 +76414,19 @@
/turf/open/floor/iron,
/area/security/office)
"vUQ" = (
-/obj/structure/table,
/obj/machinery/light{
dir = 8
},
-/turf/open/floor/iron/white,
+/obj/machinery/modular_computer/console/preset/cargochat/science{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/purple/filled/warning{
+ dir = 1
+ },
+/turf/open/floor/iron,
/area/science/misc_lab)
"vUX" = (
/obj/effect/turf_decal/stripes/corner{
@@ -77186,13 +77246,12 @@
dir = 9
},
/obj/structure/cable,
-/obj/item/broken_bottle{
- pixel_x = 9;
- pixel_y = -4
- },
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
dir = 4
},
+/obj/machinery/computer/chef_order{
+ dir = 8
+ },
/turf/open/floor/plating{
icon_state = "panelscorched"
},
@@ -78764,18 +78823,20 @@
/area/command/heads_quarters/hop)
"wMX" = (
/obj/structure/cable,
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
dir = 4
},
/obj/machinery/duct,
-/turf/open/floor/iron/white,
+/obj/machinery/computer/cargo/request{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/blue/filled/warning{
+ dir = 4
+ },
+/turf/open/floor/iron,
/area/medical/treatment_center)
"wNe" = (
/obj/effect/turf_decal/tile/brown{
@@ -80583,7 +80644,13 @@
"xtp" = (
/obj/structure/table,
/obj/effect/turf_decal/trimline/blue/filled/corner,
-/turf/open/floor/iron/white,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/trimline/purple/filled/warning{
+ dir = 4
+ },
+/turf/open/floor/iron,
/area/science/misc_lab)
"xtq" = (
/obj/structure/table,
@@ -103515,8 +103582,8 @@ uZj
mVk
aUk
lgC
-aXq
-uXk
+eKu
+iFZ
svm
eGZ
oYk
@@ -104805,7 +104872,7 @@ ahH
ahH
kCM
nnh
-dYB
+uXk
dYB
dYB
kwS
@@ -105319,7 +105386,7 @@ ckk
heS
iFZ
gLn
-eKu
+itM
arc
itM
vKw
@@ -125623,7 +125690,7 @@ pko
bAJ
xMa
laG
-xwN
+iXg
soC
qvX
bfX
diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm
index cc463f78e50..d3d20dad6be 100644
--- a/_maps/map_files/tramstation/tramstation.dmm
+++ b/_maps/map_files/tramstation/tramstation.dmm
@@ -1864,12 +1864,16 @@
/turf/open/floor/iron,
/area/security/prison)
"agw" = (
-/obj/effect/turf_decal/trimline/red/filled/line{
- dir = 1
- },
/obj/structure/disposalpipe/segment{
dir = 6
},
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 6
+ },
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 6
+ },
+/obj/machinery/computer/cargo/request,
/turf/open/floor/iron,
/area/security/office)
"agx" = (
@@ -2732,12 +2736,6 @@
dir = 4
},
/obj/machinery/airalarm/directional/east,
-/obj/item/paper_bin{
- pixel_x = -2;
- pixel_y = 4
- },
-/obj/structure/table,
-/obj/item/pen,
/turf/open/floor/iron,
/area/cargo/office)
"ajz" = (
@@ -4536,8 +4534,9 @@
/area/hallway/secondary/entry)
"apd" = (
/obj/effect/turf_decal/trimline/green/filled/line,
-/obj/structure/cable,
-/obj/machinery/power/apc/auto_name/south,
+/obj/machinery/modular_computer/console/preset/cargochat/service{
+ dir = 1
+ },
/turf/open/floor/iron/dark,
/area/service/hydroponics)
"apf" = (
@@ -8811,6 +8810,10 @@
dir = 6
},
/obj/machinery/firealarm/directional/east,
+/obj/structure/table,
+/obj/item/clothing/gloves/cargo_gauntlet,
+/obj/item/clothing/gloves/cargo_gauntlet,
+/obj/item/clothing/gloves/cargo_gauntlet,
/turf/open/floor/iron,
/area/cargo/storage)
"aBG" = (
@@ -13608,12 +13611,19 @@
/turf/open/floor/engine,
/area/engineering/supermatter/room)
"aZC" = (
-/mob/living/simple_animal/hostile/lizard/space{
- dir = 4;
- name = "Stuck-In-Rock"
+/obj/structure/ladder,
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
},
-/turf/open/floor/plating/asteroid/airless,
-/area/mine/explored)
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/science/research)
"aZE" = (
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
@@ -14286,11 +14296,10 @@
/turf/open/floor/iron/dark,
/area/command/bridge)
"bli" = (
-/obj/structure/table,
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 1
},
-/obj/item/folder/yellow,
+/obj/machinery/modular_computer/console/preset/cargochat/cargo,
/turf/open/floor/iron,
/area/cargo/office)
"blp" = (
@@ -17967,15 +17976,16 @@
/turf/open/floor/plating,
/area/service/hydroponics)
"cFC" = (
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -3;
- pixel_y = 7
- },
-/obj/item/pen,
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/chair/stool,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/warning{
+ dir = 1
+ },
/turf/open/floor/iron,
/area/engineering/break_room)
"cFF" = (
@@ -19500,6 +19510,9 @@
/area/hallway/primary/tram/right)
"dlU" = (
/obj/machinery/rnd/production/protolathe/department/engineering,
+/obj/effect/turf_decal/trimline/yellow/filled/end{
+ dir = 8
+ },
/turf/open/floor/iron,
/area/engineering/break_room)
"dmb" = (
@@ -20037,6 +20050,17 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/white,
/area/medical/storage)
+"duA" = (
+/obj/structure/cable,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 10
+ },
+/obj/effect/turf_decal/trimline/red/filled/warning{
+ dir = 10
+ },
+/obj/machinery/modular_computer/console/preset/cargochat/security,
+/turf/open/floor/iron,
+/area/security/office)
"duJ" = (
/obj/structure/table,
/obj/effect/turf_decal/trimline/yellow/filled/line{
@@ -20122,18 +20146,15 @@
/turf/open/floor/iron/dark,
/area/service/bar)
"dvM" = (
-/obj/structure/table,
/obj/structure/cable,
/obj/machinery/navbeacon/wayfinding/engineering,
-/obj/item/book/manual/wiki/engineering_hacking{
- pixel_x = 2;
- pixel_y = 3
- },
-/obj/item/book/manual/wiki/engineering_guide{
- pixel_x = -2
- },
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/modular_computer/console/preset/cargochat/engineering{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/obj/effect/turf_decal/trimline/yellow/filled/warning,
/turf/open/floor/iron,
/area/engineering/break_room)
"dvQ" = (
@@ -25928,7 +25949,20 @@
/turf/open/floor/iron,
/area/engineering/engine_smes)
"fNC" = (
-/obj/structure/chair/stool,
+/obj/structure/table,
+/obj/item/book/manual/wiki/engineering_hacking{
+ pixel_x = 2;
+ pixel_y = 3
+ },
+/obj/item/book/manual/wiki/engineering_guide{
+ pixel_x = -2
+ },
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 9
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/warning{
+ dir = 9
+ },
/turf/open/floor/iron,
/area/engineering/break_room)
"fNJ" = (
@@ -29042,6 +29076,22 @@
},
/turf/open/floor/wood,
/area/service/library)
+"hbz" = (
+/obj/machinery/modular_computer/console/preset/cargochat/science{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/science/research)
"hbS" = (
/obj/effect/turf_decal/trimline/blue/filled/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{
@@ -30987,6 +31037,12 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/engineering/atmos)
+"hLj" = (
+/obj/effect/turf_decal/trimline/green/filled/line,
+/obj/structure/cable,
+/obj/machinery/power/apc/auto_name/south,
+/turf/open/floor/iron/dark,
+/area/service/hydroponics)
"hLl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
dir = 5
@@ -31170,6 +31226,9 @@
dir = 4
},
/obj/effect/landmark/start/cargo_technician,
+/obj/structure/chair/office{
+ dir = 1
+ },
/turf/open/floor/iron,
/area/cargo/office)
"hPF" = (
@@ -31974,11 +32033,14 @@
/turf/open/floor/iron,
/area/commons/dorms)
"ijq" = (
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 1
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 10
},
-/obj/machinery/medical_kiosk,
-/turf/open/floor/iron/white,
+/obj/effect/turf_decal/trimline/blue/filled/warning{
+ dir = 10
+ },
+/obj/machinery/modular_computer/console/preset/cargochat/medical,
+/turf/open/floor/iron,
/area/medical/medbay/central)
"ijL" = (
/obj/structure/closet/crate,
@@ -42047,7 +42109,18 @@
dir = 4
},
/obj/structure/cable,
+/obj/item/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/pen,
/obj/item/airlock_painter,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 6
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/warning{
+ dir = 6
+ },
/turf/open/floor/iron,
/area/engineering/break_room)
"mkm" = (
@@ -45843,6 +45916,22 @@
},
/turf/open/floor/iron,
/area/engineering/atmos)
+"nQJ" = (
+/obj/structure/window/reinforced,
+/obj/structure/table,
+/obj/item/flashlight/lamp,
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/science/research)
"nQP" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 4
@@ -46881,6 +46970,7 @@
dir = 6;
network = list("ss13","cargo")
},
+/obj/item/multitool,
/turf/open/floor/iron,
/area/cargo/office)
"ole" = (
@@ -50763,6 +50853,23 @@
},
/turf/open/floor/iron,
/area/engineering/break_room)
+"pLT" = (
+/obj/structure/window/reinforced{
+ dir = 1;
+ pixel_y = 1
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/science/research)
"pLY" = (
/obj/effect/turf_decal/trimline/brown/filled/corner,
/obj/structure/disposalpipe/segment,
@@ -52044,11 +52151,10 @@
/turf/open/floor/iron/white,
/area/security/brig)
"qqw" = (
-/obj/structure/table,
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 1
},
-/obj/item/multitool,
+/obj/machinery/computer/cargo,
/turf/open/floor/iron,
/area/cargo/office)
"qqM" = (
@@ -52387,6 +52493,13 @@
},
/turf/open/floor/circuit,
/area/ai_monitored/turret_protected/ai)
+"qxK" = (
+/obj/effect/turf_decal/trimline/green/filled/line,
+/obj/machinery/computer/cargo/request{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/service/hydroponics)
"qyb" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2{
dir = 5
@@ -53126,6 +53239,12 @@
pixel_y = 6
},
/obj/item/reagent_containers/food/drinks/soda_cans/thirteenloko,
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 10
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/warning{
+ dir = 10
+ },
/turf/open/floor/iron,
/area/engineering/break_room)
"qMv" = (
@@ -54765,12 +54884,15 @@
/turf/open/floor/plating,
/area/maintenance/central/secondary)
"ruX" = (
-/obj/machinery/computer/cargo/request{
- dir = 8
- },
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 5
},
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = -2;
+ pixel_y = 4
+ },
+/obj/item/pen,
/turf/open/floor/iron,
/area/cargo/office)
"rvc" = (
@@ -55333,6 +55455,9 @@
/area/science/research)
"rFc" = (
/obj/machinery/rnd/production/circuit_imprinter,
+/obj/effect/turf_decal/trimline/yellow/filled/end{
+ dir = 4
+ },
/turf/open/floor/iron,
/area/engineering/break_room)
"rFf" = (
@@ -57322,6 +57447,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/circuit,
/area/ai_monitored/command/nuke_storage)
+"ssQ" = (
+/mob/living/simple_animal/hostile/lizard/space{
+ dir = 4;
+ name = "Stuck-In-Rock"
+ },
+/turf/open/floor/plating/asteroid/airless,
+/area/mine/explored)
"ssR" = (
/obj/machinery/mech_bay_recharge_port{
dir = 8
@@ -58152,11 +58284,10 @@
/turf/open/floor/wood,
/area/commons/vacant_room/office)
"sMu" = (
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 5
- },
-/obj/item/kirbyplants/random,
-/turf/open/floor/iron/white,
+/obj/effect/turf_decal/trimline/brown/filled/line,
+/obj/effect/turf_decal/trimline/blue/filled/warning,
+/obj/machinery/computer/cargo/request,
+/turf/open/floor/iron,
/area/medical/medbay/central)
"sMM" = (
/obj/machinery/door/poddoor/massdriver_toxins,
@@ -64994,6 +65125,10 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/line,
/turf/open/floor/iron,
/area/engineering/break_room)
"voD" = (
@@ -66166,6 +66301,19 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/engineering/break_room)
+"vNE" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/trimline/purple/filled/line{
+ dir = 8
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/sign/departments/mait{
+ pixel_x = -32
+ },
+/turf/open/floor/iron/white,
+/area/science/research)
"vNK" = (
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 8
@@ -66936,6 +67084,9 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/hallway/primary/port)
+"wcv" = (
+/turf/closed/wall/r_wall,
+/area/mine/explored)
"wcK" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -67353,7 +67504,7 @@
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 9
},
-/obj/item/kirbyplants/random,
+/obj/machinery/medical_kiosk,
/turf/open/floor/iron/white,
/area/medical/medbay/central)
"wjB" = (
@@ -67467,6 +67618,20 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/maintenance/port/fore)
+"wmE" = (
+/obj/structure/window/reinforced,
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/science/research)
"wmH" = (
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 4
@@ -71559,6 +71724,18 @@
},
/turf/open/openspace,
/area/hallway/primary/tram/center)
+"xLP" = (
+/obj/machinery/computer/cargo/request{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/brown/filled/line{
+ dir = 5
+ },
+/obj/effect/turf_decal/trimline/yellow/filled/warning{
+ dir = 5
+ },
+/turf/open/floor/iron,
+/area/engineering/break_room)
"xLT" = (
/turf/open/floor/engine,
/area/science/explab)
@@ -71896,6 +72073,26 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/maintenance/tram/mid)
+"xRS" = (
+/obj/structure/window/reinforced{
+ dir = 1;
+ pixel_y = 1
+ },
+/obj/machinery/computer/cargo/request{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/science/research)
"xRY" = (
/obj/item/radio/intercom{
pixel_y = -29
@@ -72564,6 +72761,20 @@
/obj/item/trash/syndi_cakes,
/turf/open/floor/iron,
/area/maintenance/tram/left)
+"ydX" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/ladder,
+/obj/structure/sign/departments/cargo{
+ pixel_x = -32
+ },
+/obj/effect/turf_decal/trimline/brown/filled/end{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/science/research)
"yec" = (
/obj/effect/turf_decal/trimline/yellow/warning,
/obj/effect/decal/cleanable/dirt,
@@ -105175,7 +105386,7 @@ jyL
bhs
mEl
oaG
-fNC
+xLP
mkc
rFc
cGs
@@ -113150,7 +113361,7 @@ aJy
aJy
aJy
aJy
-aae
+oJR
aJo
qnH
aJo
@@ -113403,15 +113614,15 @@ xqx
tOo
wGY
aae
-aae
-aBM
+cZx
+pLT
aZC
+wmE
aBM
-aae
aJo
qnH
aJo
-aae
+aBM
aae
lQG
lPd
@@ -113660,16 +113871,16 @@ dpv
lWK
wGY
aae
-aBM
-aBM
-aBM
-iox
+ieJ
+xRS
+hbz
+nQJ
aBM
aJo
qnH
aJo
-aae
-aae
+ssQ
+aBM
lQG
eWI
cVq
@@ -113920,13 +114131,13 @@ der
der
der
der
-aBM
-aae
+wcv
+dVo
aJo
qnH
aJo
-aae
-aae
+iox
+aBM
lQG
ezA
wos
@@ -114182,7 +114393,7 @@ aae
aJo
qnH
aJo
-aae
+aBM
aae
lQG
lPd
@@ -159363,7 +159574,7 @@ aCc
ajo
sUz
nqs
-aQg
+qxK
amK
aGY
adp
@@ -160391,7 +160602,7 @@ mMK
ayr
gXp
pbS
-aQg
+hLj
amK
acW
hFl
@@ -173219,7 +173430,7 @@ fAM
roQ
dPO
ajp
-ajx
+duA
nBV
jSw
gAL
@@ -178939,9 +179150,9 @@ eaF
eaF
eaF
eaF
-eaF
+vNE
vEw
-eaF
+ydX
eaF
eaF
eaF
diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm
index 2c02936589b..de15296025f 100644
--- a/code/__DEFINES/dcs/signals.dm
+++ b/code/__DEFINES/dcs/signals.dm
@@ -293,6 +293,11 @@
///Called right after the atom changes the value of light_flags to a different one, from base of [/atom/proc/set_light_flags]: (old_flags)
#define COMSIG_ATOM_UPDATE_LIGHT_FLAGS "atom_update_light_flags"
+///signal sent out by an atom when it checks if it can be pulled, for additional checks
+#define COMSIG_ATOM_CAN_BE_PULLED "movable_can_be_pulled"
+ #define COMSIG_ATOM_CANT_PULL (1 << 0)
+///signal sent out by an atom when it is no longer being pulled by something else
+#define COMSIG_ATOM_NO_LONGER_PULLED "movable_no_longer_pulled"
///called for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels)
#define COMSIG_ATOM_INTERCEPT_Z_FALL "movable_intercept_z_impact"
///called on a movable (NOT living) when it starts pulling (atom/movable/pulled, state, force)
diff --git a/code/datums/components/strong_pull.dm b/code/datums/components/strong_pull.dm
new file mode 100644
index 00000000000..c9ac73af8a2
--- /dev/null
+++ b/code/datums/components/strong_pull.dm
@@ -0,0 +1,43 @@
+
+/*
+This component attaches to mobs, and makes their pulls !strong!
+Basically, the items they pull cannot be pulled (except by the puller)
+*/
+/datum/component/strong_pull
+ var/atom/movable/strongpulling
+
+/datum/component/strong_pull/Initialize()
+ if(!isliving(parent))
+ return COMPONENT_INCOMPATIBLE
+ RegisterSignal(parent, COMSIG_LIVING_START_PULL, .proc/on_pull)
+
+/**
+ * Called when the parent grabs something, adds signals to the object to reject interactions
+ */
+/datum/component/strong_pull/proc/on_pull(datum/source, atom/movable/pulled, state, force)
+ SIGNAL_HANDLER
+ strongpulling = pulled
+ RegisterSignal(strongpulling, COMSIG_ATOM_CAN_BE_PULLED, .proc/reject_further_pulls)
+ RegisterSignal(strongpulling, COMSIG_ATOM_NO_LONGER_PULLED, .proc/lost_strong_grip)
+ if(istype(strongpulling, /obj/structure/closet) && !istype(strongpulling, /obj/structure/closet/body_bag))
+ var/obj/structure/closet/grabbed_closet = strongpulling
+ grabbed_closet.strong_grab = TRUE
+
+/**
+ * Signal for rejecting further grabs
+ */
+/datum/component/strong_pull/proc/reject_further_pulls(datum/source, mob/living/puller)
+ SIGNAL_HANDLER
+ if(puller != parent)//for increasing grabs, you need to have a valid pull. thus, parent should be able to pull the same object again
+ return COMSIG_ATOM_CANT_PULL
+
+/**
+ * Called when the hooked object is no longer pulled, and unhooks it
+ */
+/datum/component/strong_pull/proc/lost_strong_grip(datum/source, atom/movable/last_puller)
+ SIGNAL_HANDLER
+ UnregisterSignal(strongpulling, list(COMSIG_ATOM_CAN_BE_PULLED, COMSIG_ATOM_NO_LONGER_PULLED))
+ if(istype(strongpulling, /obj/structure/closet))
+ var/obj/structure/closet/ungrabbed_closet = strongpulling
+ ungrabbed_closet.strong_grab = FALSE
+ strongpulling = null
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 3436ff17fc3..4e168d30bc7 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -284,6 +284,7 @@
/atom/movable/proc/stop_pulling()
if(pulling)
+ SEND_SIGNAL(pulling, COMSIG_ATOM_NO_LONGER_PULLED, src)
pulling.set_pulledby(null)
setGrabState(GRAB_PASSIVE)
pulling = null
@@ -1058,6 +1059,8 @@
/atom/movable/proc/can_be_pulled(user, grab_state, force)
if(src == user || !isturf(loc))
return FALSE
+ if(SEND_SIGNAL(src, COMSIG_ATOM_CAN_BE_PULLED, user) & COMSIG_ATOM_CANT_PULL)
+ return FALSE
if(anchored || throwing)
return FALSE
if(force < (move_resist * MOVE_FORCE_PULL_RATIO))
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 552659aa155..4b01a11f60f 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -41,6 +41,8 @@
var/icon_welded = "welded"
/// Whether a skittish person can dive inside this closet. Disable if opening the closet causes "bad things" to happen or that it leads to a logical inconsistency.
var/divable = TRUE
+ /// true whenever someone with the strong pull component is dragging this, preventing opening
+ var/strong_grab = FALSE
/obj/structure/closet/Initialize(mapload)
if(mapload && !opened) // if closed, any item at the crate's loc is put in the contents
@@ -115,11 +117,14 @@
return TRUE
if(welded || locked)
return FALSE
+ if(strong_grab)
+ to_chat(user, "[pulledby] has an incredibly strong grip on [src], preventing it from opening.")
+ return FALSE
var/turf/T = get_turf(src)
for(var/mob/living/L in T)
if(L.anchored || horizontal && L.mob_size > MOB_SIZE_TINY && L.density)
if(user)
- to_chat(user, "There's something large on top of [src], preventing it from opening." )
+ to_chat(user, "There's something large on top of [src], preventing it from opening.")
return FALSE
return TRUE
diff --git a/code/modules/clothing/gloves/special.dm b/code/modules/clothing/gloves/special.dm
new file mode 100644
index 00000000000..7a7d773054d
--- /dev/null
+++ b/code/modules/clothing/gloves/special.dm
@@ -0,0 +1,24 @@
+
+/obj/item/clothing/gloves/cargo_gauntlet
+ name = "\improper H.A.U.L. gauntlets"
+ desc = "These clunky gauntlets allow you to drag things with more confidence on them not getting nabbed from you."
+ icon_state = "haul_gauntlet"
+ inhand_icon_state = "bgloves"
+ transfer_prints = FALSE
+ equip_delay_self = 3 SECONDS
+ equip_delay_other = 4 SECONDS
+ clothing_traits = list(TRAIT_CHUNKYFINGERS)
+ undyeable = TRUE
+ var/datum/component/strong_pull/pull_component
+
+/obj/item/clothing/gloves/cargo_gauntlet/equipped(mob/user, slot)
+ . = ..()
+ if(slot != ITEM_SLOT_GLOVES)
+ return
+ to_chat(user, "You feel the gauntlets activate as soon as you fit them on, making your pulls stronger!")
+ pull_component = user.AddComponent(/datum/component/strong_pull)
+
+/obj/item/clothing/gloves/cargo_gauntlet/dropped(mob/user)
+ . = ..()
+ to_chat(user, "You have lost the grip power of [src]!")
+ QDEL_NULL(pull_component)
diff --git a/code/modules/jobs/job_types/cargo_technician.dm b/code/modules/jobs/job_types/cargo_technician.dm
index 1aead01edad..da781bd2979 100644
--- a/code/modules/jobs/job_types/cargo_technician.dm
+++ b/code/modules/jobs/job_types/cargo_technician.dm
@@ -34,5 +34,5 @@
ears = /obj/item/radio/headset/headset_cargo
uniform = /obj/item/clothing/under/rank/cargo/tech
l_hand = /obj/item/export_scanner
- backpack_contents = list(/obj/item/modular_computer/tablet/preset/cargo=1)
+ backpack_contents = list(/obj/item/modular_computer/tablet/preset/cargo = 1)
id_trim = /datum/id_trim/job/cargo_technician
diff --git a/code/modules/jobs/job_types/quartermaster.dm b/code/modules/jobs/job_types/quartermaster.dm
index 0f1f1a51b72..dd234145cad 100644
--- a/code/modules/jobs/job_types/quartermaster.dm
+++ b/code/modules/jobs/job_types/quartermaster.dm
@@ -39,7 +39,7 @@
shoes = /obj/item/clothing/shoes/sneakers/brown
glasses = /obj/item/clothing/glasses/sunglasses
l_hand = /obj/item/clipboard
- backpack_contents = list(/obj/item/modular_computer/tablet/preset/cargo=1)
+ backpack_contents = list(/obj/item/modular_computer/tablet/preset/cargo/quartermaster = 1)
chameleon_extras = /obj/item/stamp/qm
diff --git a/code/modules/modular_computers/NTNet/NTNRC/conversation.dm b/code/modules/modular_computers/NTNet/NTNRC/conversation.dm
index 27eb3a6ae97..5588865ca21 100644
--- a/code/modules/modular_computers/NTNet/NTNRC/conversation.dm
+++ b/code/modules/modular_computers/NTNet/NTNRC/conversation.dm
@@ -5,7 +5,14 @@
var/title = "Untitled Conversation"
var/datum/computer_file/program/chatclient/operator // "Administrator" of this channel. Creator starts as channel's operator,
var/list/messages = list()
- var/list/clients = list()
+ ///chat clients who are active or minimized
+ var/list/active_clients = list()
+ ///chat clients who have exited out of the program.
+ var/list/offline_clients = list()
+ ///clients muted by operator
+ var/list/muted_clients = list()
+ //if a channel is strong, it cannot be renamed or deleted.
+ var/strong = FALSE
var/password
var/static/ntnrc_uid = 0
@@ -25,12 +32,12 @@
return ..()
/datum/ntnet_conversation/proc/add_message(message, username)
- message = "[station_time_timestamp()] [username]: [message]"
+ message = "[station_time_timestamp(format = "hh:mm")] [username]: [message]"
messages.Add(message)
trim_message_list()
/datum/ntnet_conversation/proc/add_status_message(message)
- messages.Add("[station_time_timestamp()] -!- [message]")
+ messages.Add("[station_time_timestamp(format = "hh:mm")] -!- [message]")
trim_message_list()
/datum/ntnet_conversation/proc/trim_message_list()
@@ -38,39 +45,61 @@
return
messages = messages.Copy(messages.len-50 ,0)
-/datum/ntnet_conversation/proc/add_client(datum/computer_file/program/chatclient/C)
- if(!istype(C))
+/datum/ntnet_conversation/proc/add_client(datum/computer_file/program/chatclient/new_user, silent = FALSE)
+ if(!istype(new_user))
return
- clients.Add(C)
- add_status_message("[C.username] has joined the channel.")
+ active_clients.Add(new_user)
+ if(!silent)
+ add_status_message("[new_user.username] has joined the channel.")
// No operator, so we assume the channel was empty. Assign this user as operator.
if(!operator)
- changeop(C)
+ changeop(new_user)
-/datum/ntnet_conversation/proc/remove_client(datum/computer_file/program/chatclient/C)
- if(!istype(C) || !(C in clients))
+/datum/ntnet_conversation/proc/remove_client(datum/computer_file/program/chatclient/leaving)
+ if(!istype(leaving) || !(leaving in active_clients))
return
- clients.Remove(C)
- add_status_message("[C.username] has left the channel.")
+ active_clients.Remove(leaving)
+ add_status_message("[leaving.username] has left the channel.")
// Channel operator left, pick new operator
- if(C == operator)
+ if(leaving == operator)
operator = null
- if(clients.len)
- var/datum/computer_file/program/chatclient/newop = pick(clients)
+ if(active_clients.len)
+ var/datum/computer_file/program/chatclient/newop = pick(active_clients)
changeop(newop)
+/datum/ntnet_conversation/proc/go_offline(datum/computer_file/program/chatclient/offline)
+ if(!istype(offline) || !(offline in active_clients))
+ return
+ active_clients.Remove(offline)
+ offline_clients.Add(offline)
+
+/datum/ntnet_conversation/proc/mute_user(datum/computer_file/program/chatclient/op, datum/computer_file/program/chatclient/muted)
+ if(operator != op) //sanity even if the person shouldn't be able to see the mute button
+ return
+ if(muted in muted_clients)
+ muted_clients.Remove(muted)
+ muted.computer.alert_call(muted, "You have been unmuted from [title]!", 'sound/machines/ping.ogg')
+ else
+ muted_clients.Add(muted)
+ muted.computer.alert_call(muted, "You have been muted from [title]!")
+
+/datum/ntnet_conversation/proc/ping_user(datum/computer_file/program/chatclient/pinger, datum/computer_file/program/chatclient/pinged)
+ if(pinger in muted_clients) //oh my god fuck off
+ return
+ add_status_message("[pinger.username] pinged [pinged.username].")
+ pinged.computer.alert_call(pinged, "You have been pinged in [title] by [pinger.username]!", 'sound/machines/ping.ogg')
/datum/ntnet_conversation/proc/changeop(datum/computer_file/program/chatclient/newop)
if(istype(newop))
operator = newop
add_status_message("Channel operator status transferred to [newop.username].")
-/datum/ntnet_conversation/proc/change_title(newtitle, datum/computer_file/program/chatclient/client)
- if(operator != client)
- return FALSE // Not Authorised
+/datum/ntnet_conversation/proc/change_title(newtitle, datum/computer_file/program/chatclient/renamer)
+ if(operator != renamer || strong)
+ return FALSE // Not Authorised or channel cannot be editted
- add_status_message("[client.username] has changed channel title from [title] to [newtitle]")
+ add_status_message("[renamer.username] has changed channel title from [title] to [newtitle]")
title = newtitle
#undef MAX_CHANNELS
diff --git a/code/modules/modular_computers/computers/item/tablet_presets.dm b/code/modules/modular_computers/computers/item/tablet_presets.dm
index f781acd35a4..db2f4d51b3b 100644
--- a/code/modules/modular_computers/computers/item/tablet_presets.dm
+++ b/code/modules/modular_computers/computers/item/tablet_presets.dm
@@ -30,6 +30,16 @@
install_component(new /obj/item/computer_hardware/network_card)
install_component(new /obj/item/computer_hardware/printer/mini)
hard_drive.store_file(new /datum/computer_file/program/shipping)
+ var/datum/computer_file/program/chatclient/chatprogram
+ chatprogram = new
+ hard_drive.store_file(chatprogram)
+ chatprogram.username = get_cargochat_username()
+
+/obj/item/modular_computer/tablet/preset/cargo/proc/get_cargochat_username()
+ return "cargonian_[rand(1,999)]"
+
+/obj/item/modular_computer/tablet/preset/cargo/quartermaster/get_cargochat_username()
+ return "quartermaster"
/obj/item/modular_computer/tablet/preset/advanced/atmos/Initialize() //This will be defunct and will be replaced when NtOS PDAs are done
. = ..()
diff --git a/code/modules/modular_computers/computers/machinery/console_presets.dm b/code/modules/modular_computers/computers/machinery/console_presets.dm
index b1fa926b699..5909faf0767 100644
--- a/code/modules/modular_computers/computers/machinery/console_presets.dm
+++ b/code/modules/modular_computers/computers/machinery/console_presets.dm
@@ -106,3 +106,68 @@
var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
hard_drive.store_file(new/datum/computer_file/program/chatclient())
hard_drive.store_file(new/datum/computer_file/program/arcade())
+
+// ===== CARGO CHAT CONSOLES =====
+/obj/machinery/modular_computer/console/preset/cargochat
+ name = "cargo chatroom console"
+ desc = "A stationary computer. This one comes preloaded with a chatroom for your cargo requests."
+ ///chat client installed on this computer, just helpful for linking all the computers
+ var/datum/computer_file/program/chatclient/chatprogram
+
+/obj/machinery/modular_computer/console/preset/cargochat/install_programs()
+ var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
+ chatprogram = new
+ chatprogram.computer = cpu
+ hard_drive.store_file(chatprogram)
+ chatprogram.username = "[lowertext(console_department)]_department"
+ chatprogram.program_state = PROGRAM_STATE_ACTIVE
+ cpu.active_program = chatprogram
+
+//ONE PER MAP PLEASE, IT MAKES A CARGOBUS FOR EACH ONE OF THESE
+/obj/machinery/modular_computer/console/preset/cargochat/cargo
+ console_department = "Cargo"
+ name = "department chatroom console"
+ desc = "A stationary computer. This one comes preloaded with a chatroom for incoming cargo requests. You may moderate it from this computer."
+
+/obj/machinery/modular_computer/console/preset/cargochat/cargo/install_programs()
+ var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD]
+
+ //adding chat, setting it as the active window immediately
+ chatprogram = new
+ chatprogram.computer = cpu
+ hard_drive.store_file(chatprogram)
+ chatprogram.program_state = PROGRAM_STATE_ACTIVE
+ cpu.active_program = chatprogram
+
+ //setting up chat
+ chatprogram.username = "cargo_requests_operator"
+ var/datum/ntnet_conversation/cargochat = new
+ cargochat.operator = chatprogram //adding operator before joining the chat prevents an unnecessary message about switching op from showing
+ cargochat.add_client(chatprogram)
+ cargochat.title = "#cargobus"
+ cargochat.strong = TRUE
+ chatprogram.active_channel = cargochat.id
+
+/obj/machinery/modular_computer/console/preset/cargochat/cargo/LateInitialize()
+ . = ..()
+ var/datum/ntnet_conversation/cargochat = SSnetworks.station_network.get_chat_channel_by_id(chatprogram.active_channel)
+ for(var/obj/machinery/modular_computer/console/preset/cargochat/cargochat_console in GLOB.machines)
+ if(cargochat_console == src)
+ continue
+ cargochat_console.chatprogram.active_channel = chatprogram.active_channel
+ cargochat.add_client(cargochat_console.chatprogram, silent = TRUE)
+
+/obj/machinery/modular_computer/console/preset/cargochat/service
+ console_department = "Service"
+
+/obj/machinery/modular_computer/console/preset/cargochat/engineering
+ console_department = "Engineering"
+
+/obj/machinery/modular_computer/console/preset/cargochat/science
+ console_department = "Science"
+
+/obj/machinery/modular_computer/console/preset/cargochat/security
+ console_department = "Security"
+
+/obj/machinery/modular_computer/console/preset/cargochat/medical
+ console_department = "Medical"
diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm
index 4031126d2f1..1e57e0861a8 100644
--- a/code/modules/modular_computers/computers/machinery/modular_computer.dm
+++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm
@@ -4,28 +4,41 @@
name = "modular computer"
desc = "An advanced computer."
- use_power = IDLE_POWER_USE
- idle_power_usage = 5
- var/hardware_flag = 0 // A flag that describes this device type
- var/last_power_usage = 0 // Power usage during last tick
-
// Modular computers can run on various devices. Each DEVICE (Laptop, Console, Tablet,..)
// must have it's own DMI file. Icon states must be called exactly the same in all files, but may look differently
// If you create a program which is limited to Laptops and Consoles you don't have to add it's icon_state overlay for Tablets too, for example.
-
icon = null
icon_state = null
- var/icon_state_unpowered = null // Icon state when the computer is turned off.
- var/icon_state_powered = null // Icon state when the computer is turned on.
- var/screen_icon_state_menu = "menu" // Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.
- var/screen_icon_screensaver = "standby" // Icon state overlay when the computer is powered, but not 'switched on'.
- var/max_hardware_size = 0 // Maximal hardware size. Currently, tablets have 1, laptops 2 and consoles 3. Limits what hardware types can be installed.
- var/steel_sheet_cost = 10 // Amount of steel sheets refunded when disassembling an empty frame of this computer.
- var/light_strength = 0 // Light luminosity when turned on
- var/base_active_power_usage = 100 // Power usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too.
- var/base_idle_power_usage = 10 // Power usage when the computer is idle and screen is off (currently only applies to laptops)
- var/obj/item/modular_computer/processor/cpu = null // CPU that handles most logic while this type only handles power and other specific things.
+ use_power = IDLE_POWER_USE
+ idle_power_usage = 5
+ ///A flag that describes this device type
+ var/hardware_flag = 0
+ ///Power usage during last tick
+ var/last_power_usage = 0
+
+
+ ///Icon state when the computer is turned off.
+ var/icon_state_unpowered = null
+ ///Icon state when the computer is turned on.
+ var/icon_state_powered = null
+ ///Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.
+ var/screen_icon_state_menu = "menu"
+ ///Icon state overlay when the computer is powered, but not 'switched on'.
+ var/screen_icon_screensaver = "standby"
+ ///Maximal hardware size. Currently, tablets have 1, laptops 2 and consoles 3. Limits what hardware types can be installed.
+ var/max_hardware_size = 0
+ ///Amount of steel sheets refunded when disassembling an empty frame of this computer.
+ var/steel_sheet_cost = 10
+ ///Light luminosity when turned on
+ var/light_strength = 0
+ ///Power usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too.
+ var/base_active_power_usage = 100
+ ///Power usage when the computer is idle and screen is off (currently only applies to laptops)
+ var/base_idle_power_usage = 10
+
+ ///CPU that handles most logic while this type only handles power and other specific things.
+ var/obj/item/modular_computer/processor/cpu = null
/obj/machinery/modular_computer/Initialize()
. = ..()
diff --git a/code/modules/modular_computers/computers/machinery/modular_console.dm b/code/modules/modular_computers/computers/machinery/modular_console.dm
index 93dc5b303c2..aa6108fcbde 100644
--- a/code/modules/modular_computers/computers/machinery/modular_console.dm
+++ b/code/modules/modular_computers/computers/machinery/modular_console.dm
@@ -16,7 +16,8 @@
light_strength = 2
max_integrity = 300
integrity_failure = 0.5
- var/console_department = "" // Used in New() to set network tag according to our area.
+ ///Used in New() to set network tag according to our area.
+ var/console_department = ""
/obj/machinery/modular_computer/console/buildable/Initialize()
. = ..()
diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm
index dc485262f15..a36da232db3 100644
--- a/code/modules/modular_computers/file_system/program.dm
+++ b/code/modules/modular_computers/file_system/program.dm
@@ -27,10 +27,10 @@
var/ntnet_status = 1
/// Bitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination) or PROGRAM_ALL
var/usage_flags = PROGRAM_ALL
- /// Whether the program can be downloaded from NTNet. Set to 0 to disable.
- var/available_on_ntnet = 1
- /// Whether the program can be downloaded from SyndiNet (accessible via emagging the computer). Set to 1 to enable.
- var/available_on_syndinet = 0
+ /// Whether the program can be downloaded from NTNet. Set to FALSE to disable.
+ var/available_on_ntnet = TRUE
+ /// Whether the program can be downloaded from SyndiNet (accessible via emagging the computer). Set to TRUE to enable.
+ var/available_on_syndinet = FALSE
/// Name of the tgui interface
var/tgui_id
/// Example: "something.gif" - a header image that will be rendered in computer's UI when this program is running at background. Images are taken from /icons/program_icons. Be careful not to use too large images!
diff --git a/code/modules/modular_computers/file_system/programs/ntnrc_client.dm b/code/modules/modular_computers/file_system/programs/ntnrc_client.dm
index 8779414e397..a4201e4b6a5 100644
--- a/code/modules/modular_computers/file_system/programs/ntnrc_client.dm
+++ b/code/modules/modular_computers/file_system/programs/ntnrc_client.dm
@@ -1,3 +1,4 @@
+
/datum/computer_file/program/chatclient
filename = "ntnrc_client"
filedesc = "Chat Client"
@@ -5,12 +6,13 @@
program_icon_state = "command"
extended_desc = "This program allows communication over NTNRC network"
size = 8
- requires_ntnet = 1
+ requires_ntnet = TRUE
requires_ntnet_feature = NTNET_COMMUNICATION
ui_header = "ntnrc_idle.gif"
- available_on_ntnet = 1
+ available_on_ntnet = TRUE
tgui_id = "NtosNetChat"
program_icon = "comment-alt"
+ alert_able = TRUE
var/last_message // Used to generate the toolbar icon
var/username
var/active_channel
@@ -37,7 +39,7 @@
var/message = reject_bad_text(params["message"])
if(!message)
return
- if(channel.password && !(src in channel.clients))
+ if(channel.password && (!(src in channel.active_clients) && !(src in channel.offline_clients)))
if(channel.password == message)
channel.add_client(src)
return TRUE
@@ -57,7 +59,7 @@
active_channel = new_target
channel = SSnetworks.station_network.get_chat_channel_by_id(new_target)
- if(!(src in channel.clients) && !channel.password)
+ if((!(src in channel.active_clients) && !(src in channel.offline_clients)) && !channel.password)
channel.add_client(src)
return TRUE
if("PRG_leavechannel")
@@ -90,12 +92,12 @@
return TRUE
if("PRG_changename")
var/newname = sanitize(params["new_name"])
- if(!newname)
+ newname = replacetext(newname, " ", "_")
+ if(!newname || newname == username)
return
- for(var/C in SSnetworks.station_network.chat_channels)
- var/datum/ntnet_conversation/chan = C
- if(src in chan.clients)
- chan.add_status_message("[username] is now known as [newname].")
+ for(var/datum/ntnet_conversation/anychannel as anything in SSnetworks.station_network.chat_channels)
+ if(src in anychannel.active_clients)
+ anychannel.add_status_message("[username] is now known as [newname].")
username = newname
return TRUE
if("PRG_savelog")
@@ -146,6 +148,18 @@
channel.password = new_password
return TRUE
+ if("PRG_mute_user")
+ if(!authed)
+ return
+ var/datum/computer_file/program/chatclient/muted = locate(params["ref"]) in channel.active_clients + channel.offline_clients
+ channel.mute_user(src, muted)
+ return TRUE
+ if("PRG_ping_user")
+ if(!authed)
+ return
+ var/datum/computer_file/program/chatclient/pinged = locate(params["ref"]) in channel.active_clients + channel.offline_clients
+ channel.ping_user(src, pinged)
+ return TRUE
/datum/computer_file/program/chatclient/process_tick()
. = ..()
@@ -163,10 +177,19 @@
else
ui_header = "ntnrc_idle.gif"
+/datum/computer_file/program/chatclient/run_program(mob/living/user)
+ . = ..()
+ if(!.)
+ return
+ for(var/datum/ntnet_conversation/channel as anything in SSnetworks.station_network.chat_channels)
+ if(src in channel.offline_clients)
+ channel.offline_clients.Remove(src)
+ channel.active_clients.Add(src)
+
/datum/computer_file/program/chatclient/kill_program(forced = FALSE)
- for(var/C in SSnetworks.station_network.chat_channels)
- var/datum/ntnet_conversation/channel = C
- channel.remove_client(src)
+ for(var/datum/ntnet_conversation/channel as anything in SSnetworks.station_network.chat_channels)
+ channel.go_offline(src)
+ active_channel = null
..()
/datum/computer_file/program/chatclient/ui_static_data(mob/user)
@@ -193,6 +216,7 @@
data["all_channels"] = all_channels
data["active_channel"] = active_channel
+ data["selfref"] = REF(src) //used to verify who is you, as usernames can be copied.
data["username"] = username
data["adminmode"] = netadmin_mode
var/datum/ntnet_conversation/channel = SSnetworks.station_network.get_chat_channel_by_id(active_channel)
@@ -204,21 +228,25 @@
if(netadmin_mode)
authed = TRUE
var/list/clients = list()
- for(var/C in channel.clients)
- if(C == src)
+ for(var/datum/computer_file/program/chatclient/channel_client as anything in channel.active_clients + channel.offline_clients)
+ if(channel_client == src)
authed = TRUE
- var/datum/computer_file/program/chatclient/cl = C
clients.Add(list(list(
- "name" = cl.username
+ "name" = channel_client.username,
+ "status" = channel_client.program_state,
+ "muted" = (channel_client in channel.muted_clients),
+ "operator" = channel.operator == channel_client,
+ "ref" = REF(channel_client)
)))
data["authed"] = authed
//no fishing for ui data allowed
if(authed)
+ data["strong"] = channel.strong
data["clients"] = clients
var/list/messages = list()
- for(var/M in channel.messages)
+ for(var/message in channel.messages)
messages.Add(list(list(
- "msg" = M
+ "msg" = message
)))
data["messages"] = messages
data["is_operator"] = (channel.operator == src) || netadmin_mode
diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi
index e577ce1fc77..ba080c9a8c9 100644
Binary files a/icons/mob/clothing/hands.dmi and b/icons/mob/clothing/hands.dmi differ
diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi
index 7f3a028b933..98e7ff9d204 100644
Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 32df6b0d183..53204781f6c 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -548,6 +548,7 @@
#include "code\datums\components\squeak.dm"
#include "code\datums\components\stationloving.dm"
#include "code\datums\components\stationstuck.dm"
+#include "code\datums\components\strong_pull.dm"
#include "code\datums\components\summoning.dm"
#include "code\datums\components\surgery_initiator.dm"
#include "code\datums\components\swabbing.dm"
@@ -1961,6 +1962,7 @@
#include "code\modules\clothing\gloves\boxing.dm"
#include "code\modules\clothing\gloves\color.dm"
#include "code\modules\clothing\gloves\miscellaneous.dm"
+#include "code\modules\clothing\gloves\special.dm"
#include "code\modules\clothing\gloves\tacklers.dm"
#include "code\modules\clothing\head\_head.dm"
#include "code\modules\clothing\head\beanie.dm"
diff --git a/tgui/packages/tgui/interfaces/NtosNetChat.js b/tgui/packages/tgui/interfaces/NtosNetChat.js
index 6e70c8cd15e..56def6773f3 100644
--- a/tgui/packages/tgui/interfaces/NtosNetChat.js
+++ b/tgui/packages/tgui/interfaces/NtosNetChat.js
@@ -1,38 +1,114 @@
import { useBackend } from '../backend';
-import { Box, Button, Icon, Input, Section, Table } from '../components';
+import { Box, Button, Dimmer, Icon, Input, Section, Stack, Table, Tooltip } from '../components';
import { NtosWindow } from '../layouts';
+import { StackingConsole } from './StackingConsole';
+
+// byond defines for the program state
+const CLIENT_ONLINE = 2;
+const CLIENT_AWAY = 1;
+const CLIENT_OFFLINE = 0;
+
+const STATUS2TEXT = {
+ 0: "Offline",
+ 1: "Away",
+ 2: "Online",
+};
+
+const NoChannelDimmer = (props, context) => {
+ const { act, data } = useBackend(context);
+ const { owner } = data;
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Click a channel to start chatting!
+
+
+ (If you're new, you may wannaa set your name in the bottom left!)
+
+
+
+ );
+};
export const NtosNetChat = (props, context) => {
const { act, data } = useBackend(context);
const {
+ title,
can_admin,
adminmode,
authed,
username,
active_channel,
is_operator,
+ strong,
+ selfref,
all_channels = [],
clients = [],
messages = [],
} = data;
const in_channel = (active_channel !== null);
const authorized = (authed || adminmode);
+ // this list has cliented ordered from their status. online > away > offline
+ const displayed_clients = clients.sort((clientA, clientB) => {
+ if (clientA.operator) {
+ return -1;
+ }
+ if (clientB.operator) {
+ return 1;
+ }
+ return clientB.status - clientA.status;
+ });
+ const client_color = (client) => {
+ if (client.operator) {
+ return "green";
+ }
+ switch (client.status) {
+ case CLIENT_ONLINE:
+ return "white";
+ case CLIENT_AWAY:
+ return "yellow";
+ case CLIENT_OFFLINE:
+ default:
+ return "label";
+ }
+ };
+ // client from this computer!
+ const this_client = clients.find(client => client.ref === selfref);
return (
-
-
-
-
-
+
+
+
+
+
{
id: channel.id,
})} />
))}
-
- act('PRG_changename', {
- new_name: value,
- })} />
- {!!can_admin && (
-
-
-
+ mt={1}
+ content={username + '...'}
+ currentValue={username}
+ onCommit={(e, value) => act('PRG_changename', {
+ new_name: value,
+ })} />
+ {!!can_admin && (
+
)
+ ) || (
+
)}
-
+
+
+ {!!in_channel && (
act('PRG_speak', {
message: value,
})} />
-
-
-
- {clients.map(client => (
-
- {client.name}
-
- ))}
-
- {(in_channel && authorized) && (
- <>
- act('PRG_savelog', {
- log_name: value,
- })} />
- act('PRG_leavechannel')} />
- >
- )}
- {!!is_operator && authed && (
- <>
- act('PRG_deletechannel')} />
- act('PRG_renamechannel', {
- new_name: value,
- })} />
- act('PRG_setpassword', {
- new_password: value,
- })} />
- >
- )}
-
-
-
-
+ )}
+
+
+ {!!in_channel && (
+ <>
+
+
+
+
+
+
+ {displayed_clients.map(client => (
+
+
+ {client.name}
+
+ {client !== this_client && (
+ <>
+
+
+ {!!is_operator && (
+
+
+ )}
+ >
+ )}
+
+ ))}
+
+
+
+
+
+ Settings for {title}:
+
+
+ {!!(in_channel && authorized) && (
+ <>
+ act('PRG_savelog', {
+ log_name: value,
+ })} />
+ act('PRG_leavechannel')} />
+ >
+ )}
+ {!!(is_operator && authed) && (
+ <>
+ act('PRG_deletechannel')} />
+ act('PRG_renamechannel', {
+ new_name: value,
+ })} />
+ act('PRG_setpassword', {
+ new_password: value,
+ })} />
+ >
+ )}
+
+
+
+
+ >
+ )}
+
);