diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm
index 804b0f5e667a..f22c3e9f4a85 100644
--- a/_maps/RandomZLevels/snowdin.dmm
+++ b/_maps/RandomZLevels/snowdin.dmm
@@ -10726,7 +10726,7 @@
/area/awaymission/snowdin/post/mining_main)
"IV" = (
/obj/structure/table,
-/obj/machinery/microwave/engineering/cell_included,
+/obj/machinery/microwave,
/obj/effect/turf_decal/tile/neutral/half/contrasted,
/turf/open/floor/iron,
/area/awaymission/snowdin/post/mining_main)
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index be832e901aca..877d47ba4ff8 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -25209,19 +25209,6 @@
},
/turf/open/floor/iron/white,
/area/station/medical/virology)
-"eiY" = (
-/obj/machinery/camera/directional/north{
- c_tag = "Engineering Hallway - Starboard";
- name = "hallway camera"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/yellow{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"ejc" = (
/turf/open/floor/iron/chapel{
dir = 8
@@ -25235,6 +25222,14 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
+"eju" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"ejy" = (
/obj/machinery/duct,
/obj/effect/turf_decal/tile/purple/half/contrasted{
@@ -26947,6 +26942,13 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
+"eJF" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/item/radio/intercom/directional/east,
+/turf/open/floor/iron/textured,
+/area/station/engineering/atmos)
"eJG" = (
/obj/structure/closet/crate/goldcrate,
/obj/machinery/airalarm/directional/south,
@@ -28299,12 +28301,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/fore)
-"fbP" = (
-/obj/structure/table/reinforced,
-/obj/machinery/microwave/engineering/cell_included,
-/obj/structure/sign/poster/random/directional/west,
-/turf/open/floor/wood,
-/area/station/engineering/break_room)
"fbS" = (
/obj/structure/cable,
/turf/open/floor/iron/dark,
@@ -41244,13 +41240,6 @@
},
/turf/open/floor/plating,
/area/station/command/heads_quarters/qm)
-"iDB" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/obj/item/radio/intercom/directional/east,
-/turf/open/floor/iron/textured,
-/area/station/engineering/atmos)
"iDG" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -42052,6 +42041,19 @@
},
/turf/open/floor/iron/white,
/area/station/maintenance/fore)
+"iPl" = (
+/obj/machinery/camera/directional/north{
+ c_tag = "Engineering Hallway - Starboard";
+ name = "hallway camera"
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"iPu" = (
/obj/structure/table/wood,
/obj/item/camera,
@@ -59003,13 +59005,6 @@
dir = 4
},
/area/station/hallway/secondary/entry)
-"nHU" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/structure/chair/stool/directional/east,
-/obj/effect/landmark/start/hangover,
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/commons/locker)
"nHW" = (
/obj/machinery/hydroponics/soil,
/obj/effect/decal/cleanable/dirt,
@@ -60512,6 +60507,13 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/security/checkpoint/engineering)
+"obe" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/structure/chair/stool/directional/east,
+/obj/effect/landmark/start/hangover,
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/commons/locker)
"obD" = (
/obj/structure/disposalpipe/junction{
dir = 1
@@ -72524,14 +72526,6 @@
/obj/effect/turf_decal/trimline/neutral/filled/corner,
/turf/open/floor/iron,
/area/station/commons/fitness/recreation)
-"rts" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/yellow{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"rtx" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/security/glass{
@@ -81304,6 +81298,15 @@
},
/turf/open/floor/iron/grimy,
/area/station/command/heads_quarters/hop)
+"tYu" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/light/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/primary/central/aft)
"tYF" = (
/obj/structure/sign/nanotrasen{
pixel_x = 32
@@ -94084,15 +94087,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security/prison)
-"xwl" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/light/directional/north,
-/turf/open/floor/iron,
-/area/station/hallway/primary/central/aft)
"xwR" = (
/obj/machinery/quantum_server,
/obj/effect/turf_decal/bot/left,
@@ -94433,6 +94427,12 @@
},
/turf/open/space/basic,
/area/space/nearstation)
+"xBE" = (
+/obj/structure/table/reinforced,
+/obj/machinery/microwave,
+/obj/structure/sign/poster/random/directional/west,
+/turf/open/floor/wood,
+/area/station/engineering/break_room)
"xBQ" = (
/obj/structure/closet/crate,
/obj/effect/turf_decal/bot,
@@ -119214,7 +119214,7 @@ tcm
rjj
oVq
kPH
-fbP
+xBE
wBS
ima
rQB
@@ -121000,7 +121000,7 @@ nfp
pJT
nfp
dVM
-iDB
+eJF
mFY
rPb
iUC
@@ -125639,7 +125639,7 @@ bsr
bui
dhj
bvu
-rts
+eju
ocb
uLs
bEM
@@ -128478,7 +128478,7 @@ alf
alf
alf
alf
-eiY
+iPl
bWD
uxO
xpB
@@ -138526,7 +138526,7 @@ hff
vto
hxB
vZj
-xwl
+tYu
irp
iJj
cmm
@@ -145718,7 +145718,7 @@ iFs
bdl
ffY
mDs
-nHU
+obe
kea
fAX
bBD
diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
index d8f1548a7f26..8ed058b70613 100644
--- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm
+++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
@@ -6854,15 +6854,6 @@
/obj/effect/spawner/random/techstorage/ai_all,
/turf/open/floor/iron,
/area/station/engineering/storage/tech)
-"bXI" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/obj/effect/turf_decal/tile/red/half/contrasted,
-/turf/open/floor/iron/dark/textured_edge{
- dir = 1
- },
-/area/station/security/prison)
"bXL" = (
/obj/machinery/airalarm/directional/west,
/turf/open/floor/iron/white,
@@ -17699,14 +17690,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/engineering/atmos/storage)
-"fil" = (
-/obj/structure/table/glass,
-/obj/machinery/microwave/engineering/cell_included,
-/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/white,
-/area/station/medical/break_room)
"fio" = (
/obj/structure/marker_beacon/burgundy{
name = "landing marker"
@@ -29031,6 +29014,13 @@
},
/turf/open/floor/plating,
/area/station/service/hydroponics)
+"iGs" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/breakroom)
"iGH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/disposalpipe/segment{
@@ -37378,6 +37368,17 @@
/obj/effect/mapping_helpers/airlock/access/all/command/general,
/turf/open/floor/iron,
/area/station/command/bridge)
+"ldU" = (
+/obj/machinery/camera/directional/north{
+ c_tag = "Dormitory North"
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/commons/dorms)
"ldV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/stripes/line{
@@ -42799,13 +42800,6 @@
"mNY" = (
/turf/closed/wall/r_wall,
/area/station/maintenance/port/aft)
-"mOc" = (
-/obj/machinery/disposal/bin,
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/turf/open/floor/iron/dark,
-/area/station/science/breakroom)
"mOf" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/meter/layer4,
@@ -43000,6 +42994,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
+"mRx" = (
+/obj/structure/table/glass,
+/obj/machinery/microwave,
+/obj/effect/turf_decal/tile/brown/anticorner/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/white,
+/area/station/medical/break_room)
"mRG" = (
/obj/structure/table,
/obj/item/book/manual/wiki/atmospherics,
@@ -51560,13 +51562,6 @@
/obj/machinery/light/directional/south,
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
-"pkQ" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 9
- },
-/obj/machinery/light/directional/south,
-/turf/open/floor/iron/showroomfloor,
-/area/station/engineering/atmos)
"pkW" = (
/obj/effect/turf_decal/plaque{
icon_state = "L4"
@@ -53094,6 +53089,15 @@
dir = 8
},
/area/station/medical/chem_storage)
+"pHT" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/red/half/contrasted,
+/turf/open/floor/iron/dark/textured_edge{
+ dir = 1
+ },
+/area/station/security/prison)
"pHX" = (
/obj/effect/turf_decal/tile/purple{
dir = 8
@@ -56609,14 +56613,6 @@
},
/turf/open/floor/iron,
/area/station/command/bridge)
-"qHO" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/structure/chair/sofa/bench/right{
- dir = 1
- },
-/obj/effect/landmark/start/hangover,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/entry)
"qIa" = (
/obj/structure/table,
/obj/item/food/deadmouse/moldy{
@@ -61660,6 +61656,14 @@
},
/turf/open/floor/iron,
/area/station/service/hydroponics)
+"sjj" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/structure/chair/sofa/bench/right{
+ dir = 1
+ },
+/obj/effect/landmark/start/hangover,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/entry)
"sjk" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible{
dir = 6
@@ -74431,15 +74435,6 @@
},
/turf/open/floor/iron/freezer,
/area/station/commons/toilet/locker)
-"wck" = (
-/obj/structure/chair{
- dir = 8
- },
-/obj/effect/turf_decal/tile/purple/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"wcv" = (
/obj/effect/turf_decal/siding/wideplating/dark{
dir = 1
@@ -76779,6 +76774,15 @@
"wLl" = (
/turf/closed/wall/r_wall,
/area/station/science/research)
+"wLn" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/purple/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"wLt" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -79881,17 +79885,6 @@
/obj/machinery/door/firedoor,
/turf/open/floor/carpet/black,
/area/station/security/prison/safe)
-"xEJ" = (
-/obj/machinery/camera/directional/north{
- c_tag = "Dormitory North"
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/commons/dorms)
"xEL" = (
/obj/effect/turf_decal/delivery,
/obj/structure/window/reinforced/spawner/directional/west,
@@ -81491,6 +81484,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/mine/production)
+"yes" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/light/directional/south,
+/turf/open/floor/iron/showroomfloor,
+/area/station/engineering/atmos)
"yev" = (
/obj/machinery/airalarm/directional/east,
/turf/open/floor/iron,
@@ -170839,7 +170839,7 @@ jhH
cIc
sDQ
oVY
-bXI
+pHT
vVH
vVH
vVH
@@ -226657,7 +226657,7 @@ nAH
mVE
xFs
jLM
-qHO
+sjj
fUR
juu
kBU
@@ -244885,7 +244885,7 @@ skl
eFW
rlV
ygB
-xEJ
+ldU
gJC
akD
qIU
@@ -245717,7 +245717,7 @@ tTY
hHN
jlV
hHN
-pkQ
+yes
cEw
cEw
cEw
@@ -254194,7 +254194,7 @@ xMM
nqd
ttO
mFE
-fil
+mRx
pWY
rQI
phj
@@ -261104,7 +261104,7 @@ jbG
nzV
cYE
dfB
-wck
+wLn
pFg
hXC
mrw
@@ -262663,7 +262663,7 @@ mEJ
nSC
gVe
whP
-mOc
+iGs
fVv
krY
oOb
diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm
index 6618b6e42b34..77570410d4a7 100644
--- a/_maps/map_files/KiloStation/KiloStation.dmm
+++ b/_maps/map_files/KiloStation/KiloStation.dmm
@@ -20605,6 +20605,17 @@
/obj/structure/curtain/bounty,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"cxm" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/blue{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"cxn" = (
/obj/effect/decal/cleanable/blood/gibs/old,
/obj/effect/decal/cleanable/blood/old,
@@ -28834,18 +28845,6 @@
/obj/effect/mapping_helpers/mail_sorting/supply/qm_office,
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
-"eUz" = (
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/structure/cable,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/commons/locker)
"eUB" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/mapping_helpers/burnt_floor,
@@ -33056,27 +33055,6 @@
/obj/structure/sign/poster/official/wtf_is_co2,
/turf/closed/wall,
/area/station/engineering/atmos)
-"gnZ" = (
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/siding/blue{
- dir = 8
- },
-/obj/structure/sign/warning/biohazard/directional/south,
-/turf/open/floor/iron/white,
-/area/station/medical/medbay/central)
"goH" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/mapping_helpers/burnt_floor,
@@ -42659,6 +42637,18 @@
/obj/machinery/computer/security/telescreen/entertainment/directional/north,
/turf/open/floor/iron/showroomfloor,
/area/station/service/bar/atrium)
+"juu" = (
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/machinery/light/directional/west,
+/turf/open/floor/iron/dark/corner{
+ dir = 8
+ },
+/area/station/hallway/primary/port)
"juQ" = (
/obj/effect/turf_decal/tile/blue{
dir = 1
@@ -47457,6 +47447,18 @@
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/iron/dark,
/area/station/cargo/bitrunning/den)
+"laz" = (
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/structure/cable,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/commons/locker)
"laA" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -52245,6 +52247,10 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron/dark,
/area/station/engineering/atmos/storage/gas)
+"mFh" = (
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/iron/dark,
+/area/station/engineering/atmos)
"mFj" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/structure/cable,
@@ -59203,14 +59209,6 @@
/obj/structure/sign/warning/docking,
/turf/closed/wall/rust,
/area/station/cargo/warehouse)
-"oVn" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 4
- },
-/turf/open/floor/iron/dark/corner{
- dir = 4
- },
-/area/station/hallway/primary/fore)
"oVq" = (
/obj/machinery/atmospherics/pipe/smart/simple/green/visible,
/turf/closed/wall,
@@ -62341,6 +62339,27 @@
},
/turf/open/floor/wood/large,
/area/station/service/chapel)
+"pRT" = (
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/blue,
+/obj/effect/turf_decal/siding/blue{
+ dir = 8
+ },
+/obj/structure/fireaxecabinet/jaws_of_life/directional/south,
+/turf/open/floor/iron/white,
+/area/station/medical/medbay/central)
"pRU" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -63679,17 +63698,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/starboard)
-"qnA" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/blue{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red,
-/obj/structure/disposalpipe/segment,
-/obj/structure/cable,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"qnL" = (
/obj/structure/extinguisher_cabinet/directional/east,
/obj/structure/table/wood,
@@ -70556,17 +70564,6 @@
},
/turf/open/floor/carpet/red,
/area/station/command/heads_quarters/hos)
-"swA" = (
-/obj/effect/turf_decal/tile/blue{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/turf/open/floor/iron,
-/area/station/hallway/primary/aft)
"swL" = (
/obj/structure/cable,
/obj/effect/mapping_helpers/burnt_floor,
@@ -78051,10 +78048,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/engineering/atmos)
-"uVC" = (
-/obj/effect/turf_decal/delivery,
-/turf/open/floor/iron/dark,
-/area/station/engineering/atmos)
"uVQ" = (
/obj/effect/turf_decal/bot,
/obj/structure/closet{
@@ -78507,6 +78500,17 @@
},
/turf/open/space/basic,
/area/space/nearstation)
+"vdT" = (
+/obj/effect/turf_decal/tile/blue{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/turf/open/floor/iron,
+/area/station/hallway/primary/aft)
"vea" = (
/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
dir = 8;
@@ -79922,6 +79926,14 @@
dir = 1
},
/area/station/maintenance/aft)
+"vzi" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 4
+ },
+/turf/open/floor/iron/dark/corner{
+ dir = 4
+ },
+/area/station/hallway/primary/fore)
"vzy" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable,
@@ -84875,18 +84887,6 @@
/obj/item/circuitboard/computer/solar_control,
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
-"xgx" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/machinery/light/directional/west,
-/turf/open/floor/iron/dark/corner{
- dir = 8
- },
-/area/station/hallway/primary/port)
"xgT" = (
/obj/effect/turf_decal/stripes/corner{
dir = 4
@@ -108402,7 +108402,7 @@ bdp
gwo
lZB
njm
-gnZ
+pRT
gik
vAO
dpy
@@ -110726,7 +110726,7 @@ tNZ
lrA
kcq
hGR
-eUz
+laz
yki
tNZ
ymb
@@ -112013,7 +112013,7 @@ hcl
bBD
byo
bCL
-xgx
+juu
bCL
uPP
osY
@@ -112485,7 +112485,7 @@ maw
voU
aNX
ffT
-oVn
+vzi
nvC
leQ
rWH
@@ -117954,7 +117954,7 @@ bFz
fmD
snB
xmd
-uVC
+mFh
tth
dqC
yke
@@ -120510,7 +120510,7 @@ caD
cbG
cbM
fDz
-swA
+vdT
lIe
gui
yfW
@@ -127440,7 +127440,7 @@ bPB
rrR
hzt
bXv
-qnA
+cxm
hBm
bSx
fwk
diff --git a/_maps/map_files/LimaStation/LimaStation.dmm b/_maps/map_files/LimaStation/LimaStation.dmm
index d2c6d0c296ec..523317f5a312 100644
--- a/_maps/map_files/LimaStation/LimaStation.dmm
+++ b/_maps/map_files/LimaStation/LimaStation.dmm
@@ -3958,32 +3958,6 @@
"boP" = (
/turf/open/floor/iron/dark,
/area/station/science/breakroom)
-"boR" = (
-/obj/structure/disposalpipe/segment,
-/obj/item/storage/box/beakers{
- pixel_x = -5;
- pixel_y = 5
- },
-/obj/item/storage/box/beakers{
- pixel_x = -5;
- pixel_y = 5
- },
-/obj/effect/turf_decal/trimline/blue/filled/line{
- dir = 8
- },
-/obj/structure/table/reinforced/rglass,
-/obj/structure/item_dispenser/latex{
- pixel_x = -31
- },
-/obj/item/storage/box/rxglasses,
-/obj/item/reagent_containers/spray/cleaner,
-/obj/machinery/camera{
- c_tag = "Medbay - Storage";
- dir = 8;
- network = list("ss13","medbay")
- },
-/turf/open/floor/iron/white,
-/area/station/medical/storage)
"boV" = (
/obj/effect/spawner/random/structure/grille,
/turf/open/floor/plating,
@@ -12720,6 +12694,15 @@
/obj/machinery/computer/security/telescreen/entertainment/directional/south,
/turf/open/floor/carpet,
/area/station/hallway/primary/central)
+"eor" = (
+/obj/machinery/disposal/bin,
+/obj/effect/turf_decal/stripes/box,
+/obj/structure/disposalpipe/trunk,
+/obj/structure/item_dispenser/latex{
+ pixel_y = 28
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/storage)
"eot" = (
/obj/machinery/camera{
c_tag = "AI Chamber - Core";
@@ -16830,6 +16813,30 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/plating,
/area/station/maintenance/port)
+"fEf" = (
+/obj/structure/disposalpipe/segment,
+/obj/item/storage/box/beakers{
+ pixel_x = -5;
+ pixel_y = 5
+ },
+/obj/item/storage/box/beakers{
+ pixel_x = -5;
+ pixel_y = 5
+ },
+/obj/effect/turf_decal/trimline/blue/filled/line{
+ dir = 8
+ },
+/obj/structure/table/reinforced/rglass,
+/obj/item/storage/box/rxglasses,
+/obj/item/reagent_containers/spray/cleaner,
+/obj/machinery/camera{
+ c_tag = "Medbay - Storage";
+ dir = 8;
+ network = list("ss13","medbay")
+ },
+/obj/structure/fireaxecabinet/jaws_of_life/directional/west,
+/turf/open/floor/iron/white,
+/area/station/medical/storage)
"fEg" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -25744,6 +25751,13 @@
"itY" = (
/turf/closed/wall/r_wall,
/area/station/command/heads_quarters/ce)
+"iub" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/pump,
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"iut" = (
/obj/structure/table/glass,
/obj/item/storage/briefcase/secure,
@@ -25826,12 +25840,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/showroomfloor,
/area/station/command/heads_quarters/rd)
-"iwf" = (
-/obj/machinery/disposal/bin,
-/obj/effect/turf_decal/stripes/box,
-/obj/structure/disposalpipe/trunk,
-/turf/open/floor/iron/dark,
-/area/station/medical/storage)
"iwm" = (
/obj/machinery/light/directional/west,
/obj/effect/turf_decal/stripes/line{
@@ -27324,12 +27332,6 @@
/obj/machinery/airalarm/directional/south,
/turf/open/floor/iron/dark,
/area/station/tcommsat/computer)
-"iSJ" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/portable_atmospherics/canister,
-/obj/effect/turf_decal/box,
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance/storage)
"iSV" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/obj/item/radio/intercom/directional/west,
@@ -33921,13 +33923,6 @@
/obj/structure/table_frame,
/turf/open/floor/iron/airless,
/area/station/tcommsat/oldaisat/stationside)
-"kWJ" = (
-/obj/structure/chair{
- dir = 1
- },
-/obj/effect/landmark/start/assistant,
-/turf/open/floor/iron,
-/area/station/hallway/primary/starboard)
"kWU" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -49490,6 +49485,13 @@
dir = 4
},
/area/station/commons/storage/art)
+"pLv" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/iron,
+/area/station/hallway/primary/starboard)
"pLz" = (
/obj/machinery/door/airlock/maintenance{
name = "Firefighting Equipment"
@@ -74088,6 +74090,12 @@
},
/turf/open/floor/carpet/red,
/area/station/service/chapel/office)
+"xtu" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/portable_atmospherics/canister,
+/obj/effect/turf_decal/box,
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance/storage)
"xtB" = (
/obj/structure/weightmachine,
/obj/machinery/light_switch/directional/north,
@@ -76024,13 +76032,6 @@
/obj/effect/turf_decal/siding/green,
/turf/open/floor/iron,
/area/station/service/hydroponics/garden)
-"yaO" = (
-/obj/machinery/atmospherics/components/unary/portables_connector/visible{
- dir = 1
- },
-/obj/machinery/portable_atmospherics/pump,
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"yaS" = (
/obj/effect/spawner/random/trash/moisture_trap,
/turf/open/floor/plating,
@@ -123653,7 +123654,7 @@ ymg
wNX
xsG
xLk
-iSJ
+xtu
rWC
fQN
nJg
@@ -165061,7 +165062,7 @@ gqp
gjw
pyO
pwP
-yaO
+iub
wAr
aAM
aJm
@@ -180185,9 +180186,9 @@ aLg
ojD
tBw
hmb
-iwf
+eor
jJA
-boR
+fEf
vTq
dnX
sEj
@@ -182256,7 +182257,7 @@ vFM
vFM
nuJ
rXv
-kWJ
+pLv
olg
wAF
qPD
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index a5af6667bc51..c5bc79a15652 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -13150,16 +13150,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"ddR" = (
-/obj/structure/table/reinforced,
-/obj/machinery/microwave/engineering/cell_included,
-/obj/effect/turf_decal/stripes/corner,
-/obj/effect/turf_decal/tile/yellow{
- dir = 8
- },
-/obj/machinery/light/small/directional/west,
-/turf/open/floor/iron/checker,
-/area/station/engineering/storage_shared)
"ddV" = (
/obj/machinery/navbeacon{
codes_txt = "patrol;next_patrol=7.5-Starboard-Aft-Corner";
@@ -14775,6 +14765,15 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/command)
+"dDn" = (
+/obj/structure/table/reinforced,
+/obj/machinery/microwave,
+/obj/effect/turf_decal/tile/neutral/opposingcorners{
+ dir = 1
+ },
+/obj/machinery/digital_clock/directional/south,
+/turf/open/floor/iron/dark,
+/area/station/medical/break_room)
"dDw" = (
/obj/structure/rack,
/obj/item/wrench/medical,
@@ -23433,6 +23432,11 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/medical/virology)
+"gPA" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/photobooth,
+/turf/open/floor/iron,
+/area/station/hallway/secondary/command)
"gPC" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible,
@@ -26862,13 +26866,6 @@
},
/turf/open/floor/plating,
/area/station/science/server)
-"iek" = (
-/obj/item/radio/intercom/directional/north,
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"ien" = (
/obj/structure/cable,
/turf/open/floor/plating,
@@ -27401,12 +27398,6 @@
/obj/effect/turf_decal/trimline/brown/warning,
/turf/open/floor/iron/white,
/area/station/science/lobby)
-"iov" = (
-/obj/effect/turf_decal/tile/neutral/half/contrasted{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/central)
"ioR" = (
/obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{
dir = 5
@@ -28941,6 +28932,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/grass,
/area/station/medical/virology)
+"iTj" = (
+/obj/effect/turf_decal/tile/neutral/half/contrasted{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/central)
"iTF" = (
/obj/machinery/shower/directional/east,
/obj/effect/landmark/start/hangover,
@@ -29838,15 +29835,6 @@
/obj/machinery/vending/medical,
/turf/open/floor/iron/dark,
/area/station/medical/medbay/central)
-"jpN" = (
-/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
-/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/machinery/light/directional/north,
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"jpP" = (
/obj/structure/table/reinforced,
/obj/machinery/recharger,
@@ -30542,6 +30530,16 @@
/obj/effect/mapping_helpers/airlock/access/any/supply/mining,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
+"jEb" = (
+/obj/structure/table/reinforced,
+/obj/machinery/microwave,
+/obj/effect/turf_decal/stripes/corner,
+/obj/effect/turf_decal/tile/yellow{
+ dir = 8
+ },
+/obj/machinery/light/small/directional/west,
+/turf/open/floor/iron/checker,
+/area/station/engineering/storage_shared)
"jEj" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line,
@@ -36105,6 +36103,15 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"lMF" = (
+/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
+/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 1
+ },
+/obj/machinery/light/directional/north,
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"lMH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -36339,15 +36346,6 @@
/obj/effect/spawner/random/maintenance,
/turf/open/floor/iron,
/area/station/cargo/warehouse)
-"lTo" = (
-/obj/structure/table/reinforced,
-/obj/machinery/microwave/engineering/cell_included,
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
- dir = 1
- },
-/obj/machinery/digital_clock/directional/south,
-/turf/open/floor/iron/dark,
-/area/station/medical/break_room)
"lTt" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/window/reinforced/spawner/directional/north,
@@ -40215,11 +40213,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
-"nnN" = (
-/obj/effect/turf_decal/delivery,
-/obj/machinery/photobooth,
-/turf/open/floor/iron,
-/area/station/hallway/secondary/command)
"nnS" = (
/obj/structure/table,
/obj/item/radio/intercom/directional/west,
@@ -56736,6 +56729,13 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/iron,
/area/station/commons/locker)
+"tEV" = (
+/obj/item/radio/intercom/directional/north,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"tFd" = (
/obj/structure/table,
/obj/item/stock_parts/subspace/filter,
@@ -82830,7 +82830,7 @@ jlv
beL
gFg
bbK
-jpN
+lMF
ong
kqz
rJv
@@ -89568,7 +89568,7 @@ pPi
pEM
eOq
jZY
-lTo
+dDn
mjT
dyH
wCc
@@ -93632,7 +93632,7 @@ vjo
bJZ
dxu
nxX
-nnN
+gPA
bzR
veZ
dDa
@@ -96472,7 +96472,7 @@ doK
gMj
eCo
lLe
-iov
+iTj
bVj
wRu
fUR
@@ -110324,7 +110324,7 @@ uQW
fsk
qKK
rAh
-ddR
+jEb
xMa
atx
oxe
@@ -111121,7 +111121,7 @@ ptd
dwd
ptd
mvS
-iek
+tEV
eKy
fJd
caT
diff --git a/_maps/map_files/NebulaStation/NebulaStation.dmm b/_maps/map_files/NebulaStation/NebulaStation.dmm
index 617853c5aadf..46fc1cd49931 100644
--- a/_maps/map_files/NebulaStation/NebulaStation.dmm
+++ b/_maps/map_files/NebulaStation/NebulaStation.dmm
@@ -5967,6 +5967,18 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/white,
/area/station/medical/lower)
+"aUF" = (
+/obj/structure/rack,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/wallframe/digital_clock{
+ pixel_y = 8
+ },
+/obj/item/wallframe/digital_clock{
+ pixel_y = 4
+ },
+/obj/item/wallframe/digital_clock,
+/turf/open/floor/iron/dark,
+/area/station/commons/storage/primary)
"aUG" = (
/obj/machinery/firealarm/directional/east,
/turf/open/floor/iron/stairs/right{
@@ -16923,26 +16935,6 @@
/obj/effect/turf_decal/stripes/corner,
/turf/open/floor/iron/dark/small,
/area/station/command/teleporter)
-"cAL" = (
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
- dir = 1
- },
-/obj/item/radio/intercom/directional/east,
-/obj/structure/closet/crate/trashcart/laundry,
-/obj/machinery/light/small/directional/east,
-/obj/effect/turf_decal/siding/dark_blue{
- dir = 8
- },
-/obj/item/clothing/gloves/maid,
-/obj/item/clothing/accessory/maidapron,
-/obj/item/clothing/under/costume/maid,
-/obj/item/clothing/neck/maid,
-/obj/effect/spawner/random/clothing/kittyears_or_rabbitears,
-/obj/structure/disposalpipe/segment{
- dir = 9
- },
-/turf/open/floor/plastic,
-/area/station/commons/dorms/laundry)
"cAR" = (
/obj/effect/turf_decal/siding/dark{
dir = 5
@@ -19189,12 +19181,6 @@
},
/turf/open/floor/iron/dark/textured,
/area/station/command/heads_quarters/qm)
-"cRX" = (
-/obj/machinery/light/directional/north,
-/obj/effect/turf_decal/delivery,
-/obj/structure/closet/crate,
-/turf/open/floor/iron/dark/textured_large,
-/area/station/engineering/atmos)
"cRZ" = (
/obj/effect/turf_decal/siding/wood{
dir = 5
@@ -27461,16 +27447,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
-"ecE" = (
-/obj/effect/turf_decal/trimline/green/line,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/iron,
-/area/station/hallway/primary/port)
"ecG" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -49025,27 +49001,6 @@
/obj/structure/marker_beacon/lime,
/turf/open/floor/grass,
/area/station/security/brig)
-"hmW" = (
-/obj/structure/rack,
-/obj/effect/turf_decal/siding/thinplating_new/dark{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/yellow/line{
- dir = 8
- },
-/obj/effect/turf_decal/trimline/yellow/line{
- dir = 4
- },
-/obj/item/storage/medkit/fire,
-/obj/item/storage/belt/utility,
-/obj/item/lightreplacer{
- pixel_y = 7
- },
-/obj/item/flatpack/flatpacker{
- pixel_y = -3
- },
-/turf/open/floor/iron/dark,
-/area/station/engineering/storage_shared)
"hmZ" = (
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 1
@@ -50679,6 +50634,27 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/medical/medbay/central)
+"hzn" = (
+/obj/structure/rack,
+/obj/effect/turf_decal/siding/thinplating_new/dark{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/yellow/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/trimline/yellow/line{
+ dir = 4
+ },
+/obj/item/storage/medkit/fire,
+/obj/item/storage/belt/utility,
+/obj/item/lightreplacer{
+ pixel_y = 7
+ },
+/obj/item/flatpack/flatpacker{
+ pixel_y = -3
+ },
+/turf/open/floor/iron/dark,
+/area/station/engineering/storage_shared)
"hzt" = (
/obj/structure/flora/rock/pile/jungle/large/style_random,
/turf/open/floor/glass/reinforced/airless,
@@ -59731,12 +59707,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/textured_large,
/area/station/maintenance/department/cargo)
-"iQB" = (
-/obj/machinery/light/directional/north,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/portable_atmospherics/canister,
-/turf/open/floor/iron/dark/textured_large,
-/area/station/engineering/atmos)
"iQC" = (
/obj/effect/turf_decal/siding/wood/corner{
dir = 8
@@ -91132,6 +91102,11 @@
/obj/effect/landmark/start/hangover,
/turf/open/floor/wood/tile,
/area/station/service/minibar)
+"nDW" = (
+/obj/structure/table/reinforced/rglass,
+/obj/machinery/microwave,
+/turf/open/floor/iron/dark/small,
+/area/station/engineering/storage_shared)
"nDY" = (
/obj/structure/table/wood,
/obj/effect/turf_decal/siding/wood,
@@ -93626,6 +93601,16 @@
dir = 4
},
/area/station/commons/fitness/recreation)
+"nXr" = (
+/obj/effect/turf_decal/trimline/green/line,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/iron,
+/area/station/hallway/primary/port)
"nXt" = (
/obj/structure/chair/office/light{
dir = 8
@@ -102238,6 +102223,19 @@
},
/turf/open/floor/carpet/blue,
/area/station/medical/break_room)
+"phG" = (
+/obj/structure/table/reinforced,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/sheet/iron/fifty,
+/obj/item/grenade/chem_grenade/smart_metal_foam,
+/obj/item/grenade/chem_grenade/smart_metal_foam,
+/obj/item/clothing/shoes/magboots{
+ pixel_x = -4;
+ pixel_y = 3
+ },
+/obj/item/clothing/shoes/magboots,
+/turf/open/floor/iron/dark/textured,
+/area/station/engineering/engine_smes)
"phN" = (
/obj/effect/turf_decal/siding/wood{
dir = 9
@@ -106017,11 +106015,6 @@
},
/turf/open/floor/iron/white,
/area/station/hallway/primary/fore)
-"pJh" = (
-/obj/structure/table/reinforced/rglass,
-/obj/machinery/microwave/engineering/cell_included,
-/turf/open/floor/iron/dark/small,
-/area/station/engineering/storage_shared)
"pJi" = (
/obj/effect/turf_decal/tile/dark_blue,
/obj/effect/turf_decal/trimline/dark_blue/filled/line{
@@ -106361,19 +106354,6 @@
/obj/structure/sign/poster/random/directional/north,
/turf/open/floor/plating,
/area/station/maintenance/port/aft)
-"pMp" = (
-/obj/structure/table/reinforced,
-/obj/item/stack/sheet/glass/fifty,
-/obj/item/stack/sheet/iron/fifty,
-/obj/item/grenade/chem_grenade/smart_metal_foam,
-/obj/item/grenade/chem_grenade/smart_metal_foam,
-/obj/item/clothing/shoes/magboots{
- pixel_x = -4;
- pixel_y = 3
- },
-/obj/item/clothing/shoes/magboots,
-/turf/open/floor/iron/dark/textured,
-/area/station/engineering/engine_smes)
"pMB" = (
/obj/effect/turf_decal/trimline/purple/filled/shrink_ccw,
/obj/effect/turf_decal/trimline/dark_red/line,
@@ -107054,6 +107034,26 @@
dir = 1
},
/area/station/cargo/lower)
+"pQP" = (
+/obj/effect/turf_decal/tile/neutral/opposingcorners{
+ dir = 1
+ },
+/obj/item/radio/intercom/directional/east,
+/obj/structure/closet/crate/trashcart/laundry,
+/obj/machinery/light/small/directional/east,
+/obj/effect/turf_decal/siding/dark_blue{
+ dir = 8
+ },
+/obj/item/clothing/gloves/maid,
+/obj/item/clothing/accessory/maidapron,
+/obj/item/clothing/under/costume/maid,
+/obj/item/clothing/neck/maid,
+/obj/effect/spawner/random/clothing/kittyears_or_rabbitears,
+/obj/structure/disposalpipe/segment{
+ dir = 9
+ },
+/turf/open/floor/plastic,
+/area/station/commons/dorms/laundry)
"pQS" = (
/obj/item/radio/intercom/directional/west,
/turf/open/floor/carpet/neon/simple/red/nodots,
@@ -125440,6 +125440,12 @@
},
/turf/open/floor/iron/dark/textured,
/area/station/security/execution/education)
+"sIN" = (
+/obj/machinery/light/directional/north,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/portable_atmospherics/canister,
+/turf/open/floor/iron/dark/textured_large,
+/area/station/engineering/atmos)
"sIT" = (
/obj/structure/railing/corner{
dir = 1
@@ -143828,6 +143834,12 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/carpet,
/area/station/cargo/office)
+"vtB" = (
+/obj/machinery/light/directional/north,
+/obj/effect/turf_decal/delivery,
+/obj/structure/closet/crate,
+/turf/open/floor/iron/dark/textured_large,
+/area/station/engineering/atmos)
"vtD" = (
/obj/structure/cable,
/obj/structure/curtain/cloth{
@@ -158723,18 +158735,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark,
/area/station/maintenance/port/aft)
-"xJr" = (
-/obj/structure/rack,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/wallframe/digital_clock{
- pixel_y = 8
- },
-/obj/item/wallframe/digital_clock{
- pixel_y = 4
- },
-/obj/item/wallframe/digital_clock,
-/turf/open/floor/iron/dark,
-/area/station/commons/storage/primary)
"xJz" = (
/obj/effect/turf_decal/trimline/brown/filled/corner{
dir = 4
@@ -185916,7 +185916,7 @@ ajC
ajC
uUr
nKG
-cAL
+pQP
prx
ltW
alS
@@ -191344,7 +191344,7 @@ djI
tpZ
fYj
rdK
-pMp
+phG
oWk
atz
fVj
@@ -197779,7 +197779,7 @@ bfX
vqm
gHa
suG
-cRX
+vtB
tbP
dmH
ktl
@@ -200863,7 +200863,7 @@ aWI
gnQ
oQJ
suG
-iQB
+sIN
pQr
dmH
wAh
@@ -255578,7 +255578,7 @@ hCZ
tpb
oRQ
dfK
-ecE
+nXr
naa
kKl
wsj
@@ -261271,7 +261271,7 @@ hqG
qct
mUg
bSH
-pJh
+nDW
kwN
thG
cAe
@@ -262044,7 +262044,7 @@ uuP
bIS
gJs
rXB
-hmW
+hzn
cAe
txW
txW
@@ -265333,7 +265333,7 @@ xGM
kmQ
xGM
xGM
-xJr
+aUF
gYM
mBs
msw
diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm
index d065d3b3172b..8b2f0403ef87 100644
--- a/_maps/map_files/NorthStar/north_star.dmm
+++ b/_maps/map_files/NorthStar/north_star.dmm
@@ -4847,12 +4847,6 @@
/obj/machinery/newscaster/directional/east,
/turf/open/floor/iron/dark,
/area/station/science/auxlab)
-"biZ" = (
-/obj/machinery/microwave/engineering/cell_included,
-/obj/structure/table/reinforced/rglass,
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/turf/open/floor/iron/white/textured,
-/area/station/medical/break_room)
"bja" = (
/obj/machinery/vending/cigarette,
/obj/machinery/camera/autoname/directional/west,
@@ -45848,6 +45842,13 @@
},
/turf/open/floor/iron/dark/textured,
/area/station/command/heads_quarters/ce)
+"lOX" = (
+/obj/structure/closet/secure_closet/personal,
+/obj/item/clothing/under/misc/assistantformal,
+/obj/item/clothing/suit/hooded/wintercoat,
+/obj/item/clothing/shoes/winterboots,
+/turf/open/floor/iron/dark,
+/area/station/commons/locker)
"lPb" = (
/obj/structure/railing{
dir = 1
@@ -46813,12 +46814,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/science/genetics)
-"mbb" = (
-/obj/effect/turf_decal/tile/blue/fourcorners,
-/obj/machinery/suit_storage_unit/medical,
-/obj/machinery/camera/autoname/directional/east,
-/turf/open/floor/iron/white/textured,
-/area/station/medical/storage)
"mbe" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/barricade/wooden{
@@ -60726,13 +60721,6 @@
/obj/machinery/duct,
/turf/open/floor/iron/kitchen_coldroom/freezerfloor,
/area/station/service/kitchen/coldroom)
-"pDL" = (
-/obj/structure/closet/secure_closet/personal,
-/obj/item/clothing/under/misc/assistantformal,
-/obj/item/clothing/suit/hooded/wintercoat,
-/obj/item/clothing/shoes/winterboots,
-/turf/open/floor/iron/dark,
-/area/station/commons/locker)
"pDS" = (
/obj/effect/turf_decal/tile/yellow/opposingcorners,
/turf/open/floor/iron/white,
@@ -87712,6 +87700,13 @@
dir = 8
},
/area/station/medical/chemistry)
+"wAt" = (
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/obj/machinery/suit_storage_unit/medical,
+/obj/machinery/camera/autoname/directional/east,
+/obj/structure/fireaxecabinet/jaws_of_life/directional/east,
+/turf/open/floor/iron/white/textured,
+/area/station/medical/storage)
"wAz" = (
/obj/machinery/vending/autodrobe,
/obj/machinery/light_switch/directional/east,
@@ -89259,6 +89254,12 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/commons/dorms/apartment1)
+"wUp" = (
+/obj/machinery/microwave,
+/obj/structure/table/reinforced/rglass,
+/obj/effect/turf_decal/tile/blue/fourcorners,
+/turf/open/floor/iron/white/textured,
+/area/station/medical/break_room)
"wUu" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -184988,7 +184989,7 @@ hLz
hLz
hLz
hLz
-pDL
+lOX
heC
caP
jjF
@@ -190143,7 +190144,7 @@ xZB
ccU
bOx
hRd
-biZ
+wUp
lcv
aal
xhf
@@ -193736,7 +193737,7 @@ nUa
iRF
scD
fIU
-mbb
+wAt
kiO
kyO
kAU
diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm
index bcdbc6fa1a34..85a891260b99 100644
--- a/_maps/map_files/OmegaStation/OmegaStation.dmm
+++ b/_maps/map_files/OmegaStation/OmegaStation.dmm
@@ -3502,20 +3502,6 @@
dir = 4
},
/area/station/service/cafeteria)
-"ajB" = (
-/obj/effect/turf_decal/delivery,
-/obj/structure/window/reinforced/spawner/directional/west,
-/obj/structure/table/glass,
-/obj/item/storage/medkit/fire,
-/obj/effect/turf_decal/siding/blue{
- dir = 1
- },
-/obj/structure/window/reinforced/spawner/directional/north,
-/obj/item/storage/medkit/regular{
- pixel_z = 6
- },
-/turf/open/floor/iron,
-/area/station/medical/storage)
"ajF" = (
/obj/item/kirbyplants/organic/plant21,
/obj/machinery/camera/directional/north{
@@ -7161,15 +7147,6 @@
/obj/effect/turf_decal/tile/red,
/turf/open/floor/iron,
/area/station/security/prison)
-"asP" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/turf_decal/siding/dark,
-/obj/machinery/atmospherics/components/tank{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance/storage)
"asQ" = (
/obj/structure/cable,
/obj/effect/turf_decal/stripes/line{
@@ -10035,13 +10012,6 @@
heat_capacity = 1e+006
},
/area/station/hallway/primary/starboard)
-"aCh" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/components/tank/oxygen{
- dir = 4
- },
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance/storage)
"aCj" = (
/obj/structure/table,
/obj/item/paper_bin,
@@ -14896,20 +14866,6 @@
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
/area/station/tcommsat/server)
-"aPH" = (
-/obj/machinery/computer/operating{
- dir = 8
- },
-/obj/item/radio/intercom/directional/north,
-/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
- dir = 4
- },
-/obj/machinery/camera/directional/north{
- c_tag = "Medical - Coroner's Office";
- network = list("ss13","medbay")
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"aPI" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -17549,20 +17505,6 @@
dir = 10
},
/area/station/service/library)
-"aXh" = (
-/obj/structure/table/optable{
- desc = "A cold, hard place for your final rest.";
- name = "Morgue Slab"
- },
-/obj/effect/turf_decal/tile/blue/half/contrasted{
- dir = 1
- },
-/obj/item/toy/figure/coroner{
- pixel_x = 1;
- pixel_y = 2
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/morgue)
"aXi" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -22564,15 +22506,6 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron/checker,
/area/station/engineering/storage)
-"buV" = (
-/obj/structure/sign/poster/official/help_others/directional/north,
-/obj/effect/turf_decal/bot_white,
-/obj/effect/turf_decal/siding/blue,
-/obj/machinery/vending/wardrobe/medi_wardrobe,
-/turf/open/floor/iron/dark/side{
- dir = 1
- },
-/area/station/medical/storage)
"buW" = (
/turf/closed/wall/r_wall,
/area/station/engineering/supermatter)
@@ -24009,6 +23942,13 @@
/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental,
/turf/open/floor/iron,
/area/station/maintenance/department/engine)
+"dbI" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/tank{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance/storage)
"dbN" = (
/obj/item/stack/ore/iron,
/obj/item/stack/ore/silver,
@@ -24861,6 +24801,21 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/iron,
/area/station/maintenance/department/medical)
+"erJ" = (
+/obj/structure/table/optable{
+ desc = "A cold, hard place for your final rest.";
+ name = "Morgue Slab"
+ },
+/obj/effect/turf_decal/tile/blue/half/contrasted{
+ dir = 1
+ },
+/obj/item/toy/figure/coroner{
+ pixel_x = 1;
+ pixel_y = 2
+ },
+/obj/item/radio/intercom/directional/north,
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"erQ" = (
/obj/machinery/door/airlock/maintenance_hatch{
name = "Maintenance Hatch"
@@ -26576,6 +26531,19 @@
},
/turf/open/space,
/area/space/nearstation)
+"hli" = (
+/obj/machinery/computer/operating{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/blue/anticorner/contrasted{
+ dir = 4
+ },
+/obj/machinery/camera/directional/north{
+ c_tag = "Medical - Coroner's Office";
+ network = list("ss13","medbay")
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/morgue)
"hlA" = (
/obj/machinery/power/solar{
id = "aftport";
@@ -27333,6 +27301,13 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/white,
/area/station/science/breakroom)
+"ima" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/machinery/atmospherics/components/tank/oxygen{
+ dir = 4
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance/storage)
"imR" = (
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible,
/turf/closed/wall/r_wall,
@@ -29399,6 +29374,15 @@
/obj/machinery/airalarm/directional/east,
/turf/open/floor/catwalk_floor/iron_dark,
/area/station/cargo/bitrunning/den)
+"lBF" = (
+/obj/effect/turf_decal/bot_white,
+/obj/effect/turf_decal/siding/blue,
+/obj/machinery/vending/wardrobe/medi_wardrobe,
+/obj/structure/fireaxecabinet/jaws_of_life/directional/north,
+/turf/open/floor/iron/dark/side{
+ dir = 1
+ },
+/area/station/medical/storage)
"lBI" = (
/obj/structure/cable,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
@@ -32478,13 +32462,21 @@
},
/turf/open/floor/plating,
/area/station/maintenance/starboard/aft)
-"qrY" = (
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/obj/machinery/atmospherics/components/tank{
+"qtf" = (
+/obj/effect/turf_decal/delivery,
+/obj/structure/window/reinforced/spawner/directional/west,
+/obj/structure/table/glass,
+/obj/item/storage/medkit/fire,
+/obj/effect/turf_decal/siding/blue{
dir = 1
},
-/turf/open/floor/iron/dark,
-/area/station/science/ordnance/storage)
+/obj/structure/window/reinforced/spawner/directional/north,
+/obj/item/storage/medkit/regular{
+ pixel_z = 6
+ },
+/obj/structure/sign/poster/official/help_others/directional/south,
+/turf/open/floor/iron,
+/area/station/medical/storage)
"qtg" = (
/obj/structure/closet/crate/engineering,
/obj/effect/spawner/random/engineering/vending_restock,
@@ -32830,6 +32822,15 @@
dir = 8
},
/area/station/hallway/primary/aft)
+"qYa" = (
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/siding/dark,
+/obj/machinery/atmospherics/components/tank{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/science/ordnance/storage)
"qZj" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/effect/turf_decal/tile/purple{
@@ -67240,12 +67241,12 @@ aVb
aVX
iRS
aQW
-buV
+lBF
aOg
aGC
nhL
aPA
-aXh
+erJ
aQD
eur
aKm
@@ -67500,9 +67501,9 @@ khB
wko
aPg
aGC
-ajB
+qtf
mPm
-aPH
+hli
bfD
aQL
aTU
@@ -79320,9 +79321,9 @@ ajP
aQE
bex
ajP
-aCh
-qrY
-asP
+ima
+dbI
+qYa
agh
czT
wjE
@@ -79578,8 +79579,8 @@ bdP
bez
ajP
jIk
-qrY
-asP
+dbI
+qYa
agh
kQn
pAC
diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm
index 3c9c17c3f63f..444f42d90dd8 100644
--- a/_maps/map_files/PubbyStation/PubbyStation.dmm
+++ b/_maps/map_files/PubbyStation/PubbyStation.dmm
@@ -28790,6 +28790,7 @@
},
/obj/effect/turf_decal/tile/blue/half,
/obj/machinery/suit_storage_unit/medical,
+/obj/structure/fireaxecabinet/jaws_of_life/directional/south,
/turf/open/floor/iron/white/smooth_half,
/area/station/medical/storage)
"cmU" = (
diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm
index dce6579cd926..3d9f96218cfb 100644
--- a/_maps/map_files/tramstation/tramstation.dmm
+++ b/_maps/map_files/tramstation/tramstation.dmm
@@ -5098,13 +5098,6 @@
/obj/structure/cable,
/turf/open/floor/iron/white,
/area/station/science/genetics)
-"aKZ" = (
-/obj/structure/chair/stool/bar/directional/east,
-/obj/effect/turf_decal/trimline/neutral/filled/line{
- dir = 1
- },
-/turf/open/floor/iron,
-/area/station/commons/fitness/recreation)
"aLd" = (
/obj/effect/turf_decal/trimline/blue/filled/line{
dir = 1
@@ -23368,14 +23361,6 @@
/obj/structure/cable,
/turf/open/floor/iron/smooth,
/area/station/hallway/primary/tram/right)
-"hrr" = (
-/obj/structure/table/reinforced,
-/obj/machinery/microwave/engineering/cell_included,
-/obj/effect/turf_decal/tile/neutral/opposingcorners{
- dir = 1
- },
-/turf/open/floor/iron/dark,
-/area/station/medical/break_room)
"hrF" = (
/obj/structure/table/wood,
/turf/open/floor/wood/large,
@@ -28167,6 +28152,15 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/station/science/robotics/lab)
+"jgu" = (
+/obj/effect/turf_decal/trimline/neutral/filled/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
+ dir = 8
+ },
+/turf/open/floor/iron,
+/area/station/hallway/secondary/entry)
"jgM" = (
/obj/structure/stairs/south,
/turf/open/floor/iron/stairs/medium,
@@ -32040,6 +32034,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/tram/right)
+"kuz" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 9
+ },
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/table/glass,
+/obj/machinery/microwave,
+/obj/structure/cable,
+/obj/machinery/light/warm/directional/west,
+/turf/open/floor/iron,
+/area/station/engineering/break_room)
"kuB" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/light/dim/directional/north,
@@ -35877,17 +35882,6 @@
},
/turf/open/floor/catwalk_floor,
/area/station/hallway/primary/tram/left)
-"lIS" = (
-/obj/effect/turf_decal/siding/thinplating/dark{
- dir = 4
- },
-/obj/machinery/disposal/bin,
-/obj/structure/disposalpipe/trunk{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/escapepodbay)
"lIZ" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible{
@@ -41336,14 +41330,6 @@
},
/turf/open/floor/iron,
/area/station/cargo/storage)
-"nGZ" = (
-/obj/effect/turf_decal/siding/thinplating/dark,
-/obj/structure/chair{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral/fourcorners,
-/turf/open/floor/iron/dark,
-/area/station/hallway/secondary/exit/departure_lounge)
"nHi" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/siding/thinplating/dark{
@@ -43460,6 +43446,13 @@
/obj/effect/turf_decal/siding/thinplating,
/turf/open/floor/glass/reinforced,
/area/station/security/warden)
+"osC" = (
+/obj/structure/chair/stool/bar/directional/east,
+/obj/effect/turf_decal/trimline/neutral/filled/line{
+ dir = 1
+ },
+/turf/open/floor/iron,
+/area/station/commons/fitness/recreation)
"osG" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/ladder,
@@ -52498,6 +52491,17 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/engineering/atmos)
+"rJQ" = (
+/obj/effect/turf_decal/siding/thinplating/dark{
+ dir = 4
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/escapepodbay)
"rJV" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -57546,6 +57550,14 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/station/medical/virology)
+"txj" = (
+/obj/structure/table/reinforced,
+/obj/machinery/microwave,
+/obj/effect/turf_decal/tile/neutral/opposingcorners{
+ dir = 1
+ },
+/turf/open/floor/iron/dark,
+/area/station/medical/break_room)
"txl" = (
/obj/structure/railing{
dir = 1
@@ -59147,15 +59159,6 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/ai_monitored/turret_protected/ai)
-"uba" = (
-/obj/effect/turf_decal/trimline/neutral/filled/line{
- dir = 4
- },
-/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{
- dir = 8
- },
-/turf/open/floor/iron,
-/area/station/hallway/secondary/entry)
"ubd" = (
/obj/effect/turf_decal/trimline/neutral/filled/corner{
dir = 8
@@ -63774,6 +63777,14 @@
},
/turf/open/floor/plating,
/area/station/hallway/secondary/entry)
+"vyc" = (
+/obj/effect/turf_decal/siding/thinplating/dark,
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/neutral/fourcorners,
+/turf/open/floor/iron/dark,
+/area/station/hallway/secondary/exit/departure_lounge)
"vyo" = (
/obj/machinery/duct,
/obj/structure/cable,
@@ -67614,6 +67625,17 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/tram/right)
+"wTZ" = (
+/obj/effect/turf_decal/trimline/yellow/filled/line{
+ dir = 9
+ },
+/obj/machinery/camera/emp_proof{
+ c_tag = "Engineering - Atmospherics Incinerator ACcess";
+ dir = 9;
+ network = list("ss13","engineering")
+ },
+/turf/open/floor/iron,
+/area/station/engineering/atmos)
"wUv" = (
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 8
@@ -68400,17 +68422,6 @@
},
/turf/open/floor/iron,
/area/station/commons/dorms)
-"xll" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 9
- },
-/obj/machinery/power/apc/auto_name/directional/north,
-/obj/structure/table/glass,
-/obj/machinery/microwave/engineering/cell_included,
-/obj/structure/cable,
-/obj/machinery/light/warm/directional/west,
-/turf/open/floor/iron,
-/area/station/engineering/break_room)
"xlu" = (
/obj/structure/rack,
/obj/item/clothing/under/color/blue,
@@ -71082,17 +71093,6 @@
/obj/effect/turf_decal/tile/blue/anticorner/contrasted,
/turf/open/floor/iron,
/area/station/security/courtroom)
-"ykm" = (
-/obj/effect/turf_decal/trimline/yellow/filled/line{
- dir = 9
- },
-/obj/machinery/camera/emp_proof{
- c_tag = "Engineering - Atmospherics Incinerator ACcess";
- dir = 9;
- network = list("ss13","engineering")
- },
-/turf/open/floor/iron,
-/area/station/engineering/atmos)
"yks" = (
/obj/effect/turf_decal/trimline/red/filled/line{
dir = 1
@@ -85460,7 +85460,7 @@ adp
adA
adB
fIV
-lIS
+rJQ
adF
adK
yiI
@@ -102434,7 +102434,7 @@ akI
cJM
ulV
bbj
-xll
+kuz
ksW
ryJ
gzZ
@@ -108369,7 +108369,7 @@ qTR
mDC
tnq
hZr
-ykm
+wTZ
gWu
hZr
aaa
@@ -151502,7 +151502,7 @@ wHT
twz
twz
vhv
-uba
+jgu
yjN
yjN
rWB
@@ -155891,7 +155891,7 @@ mXY
woJ
tdR
qOF
-aKZ
+osC
gsO
aLi
aLQ
@@ -170558,7 +170558,7 @@ gVO
vXT
cyL
nen
-hrr
+txj
adM
oGJ
qaO
@@ -188776,7 +188776,7 @@ qSm
eQs
qSm
orX
-nGZ
+vyc
fmy
aac
aac
diff --git a/code/__DEFINES/_flags.dm b/code/__DEFINES/_flags.dm
index 298018a99a80..4495f51d2b69 100644
--- a/code/__DEFINES/_flags.dm
+++ b/code/__DEFINES/_flags.dm
@@ -61,6 +61,8 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
/// This atom does not need to generate its own preview icon for GAGS
#define NO_NEW_GAGS_PREVIEW_1 (1<<19)
+#define HAS_UNIQUE_SCREENTIP_NAME_1 (1<<20)
+
// Update flags for [/atom/proc/update_appearance]
/// Update the atom's name
#define UPDATE_NAME (1<<0)
diff --git a/code/__DEFINES/atmospherics/atmos_machinery.dm b/code/__DEFINES/atmospherics/atmos_machinery.dm
index 3e5c6698a4e4..e85e7feebcea 100644
--- a/code/__DEFINES/atmospherics/atmos_machinery.dm
+++ b/code/__DEFINES/atmospherics/atmos_machinery.dm
@@ -90,5 +90,7 @@
///Min allowed pressure for canisters to release air per tick
#define CAN_MIN_RELEASE_PRESSURE (ONE_ATMOSPHERE * 0.1)
-#define FIRELOCK_FAULT_NAME(tag) "Firelock [tag]"
-#define FIREALARM_FAULT_NAME(tag) "Fire Alarm [tag]"
+#define FIRELOCK_FAULT_NAME(tag) "Firelock - [tag]"
+#define FIREALARM_FAULT_NAME(tag) "Fire Alarm - [tag]"
+#define VENT_PUMP_NAME(tag) "Vent Pump - [tag]"
+#define SCRUBBER_NAME(tag) "Scrubber - [tag]"
diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm
index 604b08177c01..02d863c3579f 100644
--- a/code/__DEFINES/traits/declarations.dm
+++ b/code/__DEFINES/traits/declarations.dm
@@ -285,8 +285,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_PRESENT_VISION "present-vision"
#define TRAIT_DISK_VERIFIER "disk-verifier"
#define TRAIT_NOMOBSWAP "no-mob-swap"
-/// Can examine IDs to see if they are roundstart.
-#define TRAIT_ID_APPRAISER "id_appraiser"
/// Gives us turf, mob and object vision through walls
#define TRAIT_XRAY_VISION "xray_vision"
/// Gives us mob vision through walls and slight night vision
@@ -1048,12 +1046,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
/// Trait given if the mob has a cranial fissure.
#define TRAIT_HAS_CRANIAL_FISSURE "has_cranial_fissure"
-/// Denotes that this id card was given via the job outfit, aka the first ID this player got.
-#define TRAIT_JOB_FIRST_ID_CARD "job_first_id_card"
/// ID cards with this trait will attempt to forcibly occupy the front-facing ID card slot in wallets.
#define TRAIT_MAGNETIC_ID_CARD "magnetic_id_card"
-/// ID cards with this trait have special appraisal text.
-#define TRAIT_TASTEFULLY_THICK_ID_CARD "impressive_very_nice"
/// things with this trait are treated as having no access in /obj/proc/check_access(obj/item)
#define TRAIT_ALWAYS_NO_ACCESS "alwaysnoaccess"
diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm
index 18d355c07362..3a3f965f63ed 100644
--- a/code/_globalvars/bitfields.dm
+++ b/code/_globalvars/bitfields.dm
@@ -145,6 +145,7 @@ DEFINE_BITFIELD(flags_1, list(
"PREVENT_CONTENTS_EXPLOSION_1" = PREVENT_CONTENTS_EXPLOSION_1,
"SUPERMATTER_IGNORES_1" = SUPERMATTER_IGNORES_1,
"UNPAINTABLE_1" = UNPAINTABLE_1,
+ "HAS_UNIQUE_SCREENTIP_NAME_1" = HAS_UNIQUE_SCREENTIP_NAME_1
))
DEFINE_BITFIELD(flags_ricochet, list(
diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm
index fed600130484..281b16398da6 100644
--- a/code/_globalvars/traits/_traits.dm
+++ b/code/_globalvars/traits/_traits.dm
@@ -276,7 +276,6 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_HOT_SPRING_CURSED" = TRAIT_HOT_SPRING_CURSED,
"TRAIT_HULK" = TRAIT_HULK,
"TRAIT_HUSK" = TRAIT_HUSK,
- "TRAIT_ID_APPRAISER" = TRAIT_ID_APPRAISER,
"TRAIT_IGNORESLOWDOWN" = TRAIT_IGNORESLOWDOWN,
"TRAIT_IGNORE_ELEVATION" = TRAIT_IGNORE_ELEVATION,
"TRAIT_IGNORE_SURGERY_MODIFIERS" = TRAIT_IGNORE_SURGERY_MODIFIERS,
@@ -583,9 +582,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_EASY_ATTACH" = TRAIT_EASY_ATTACH,
),
/obj/item/card/id = list(
- "TRAIT_JOB_FIRST_ID_CARD" = TRAIT_JOB_FIRST_ID_CARD,
"TRAIT_MAGNETIC_ID_CARD" = TRAIT_MAGNETIC_ID_CARD,
- "TRAIT_TASTEFULLY_THICK_ID_CARD" = TRAIT_TASTEFULLY_THICK_ID_CARD,
),
/obj/item/clothing = list(
"TRAIT_RADIATION_PROTECTED_CLOTHING" = TRAIT_RADIATION_PROTECTED_CLOTHING,
diff --git a/code/datums/quirks/negative_quirks/prosopagnosia.dm b/code/datums/quirks/negative_quirks/prosopagnosia.dm
index dae994d59297..b1c0e1e0117e 100644
--- a/code/datums/quirks/negative_quirks/prosopagnosia.dm
+++ b/code/datums/quirks/negative_quirks/prosopagnosia.dm
@@ -5,7 +5,6 @@
value = -4
medical_record_text = "Patient suffers from prosopagnosia and cannot recognize faces."
hardcore_value = 5
- mail_goodies = list(/obj/item/skillchip/appraiser) // bad at recognizing faces but good at recognizing IDs
/datum/quirk/prosopagnosia/add(client/client_source)
. = ..()
diff --git a/code/game/atom/_atom.dm b/code/game/atom/_atom.dm
index 3ea1862706aa..c198540c776b 100644
--- a/code/game/atom/_atom.dm
+++ b/code/game/atom/_atom.dm
@@ -860,7 +860,7 @@
var/shift_lmb_ctrl_shift_lmb_line = ""
var/extra_lines = 0
var/extra_context = ""
- var/used_name = name
+ var/used_name = (flags_1 & HAS_UNIQUE_SCREENTIP_NAME_1) ? get_screentip_name() : name
if(isliving(user) || isovermind(user) || isaicamera(user) || (ghost_screentips && isobserver(user)))
var/obj/item/held_item = user.get_active_held_item()
@@ -952,6 +952,11 @@
active_hud.screentip_text.maptext = new_maptext
active_hud.screentip_text.maptext_y = 26 - map_height
+/atom/proc/get_screentip_name()
+ stack_trace("Atom with HAS_UNIQUE_SCREENTIP_NAME_1 did not implement get_screentip_name()!")
+ flags_1 &= ~HAS_UNIQUE_SCREENTIP_NAME_1
+ return name
+
/**
* This proc is used for telling whether something can pass by this atom in a given direction, for use by the pathfinding system.
*
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 65cc48bebb28..0d17ed397d62 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -73,7 +73,7 @@
#define DOOR_VISION_DISTANCE 11 ///The maximum distance a door will see out to
/obj/machinery/door/airlock
- name = "\improper Airlock"
+ name = "airlock"
icon = 'icons/obj/doors/airlocks/station/public.dmi'
icon_state = "closed"
max_integrity = 300
@@ -153,7 +153,9 @@
/// How many seconds remain until the door is no longer electrified. -1/MACHINE_ELECTRIFIED_PERMANENT = permanently electrified until someone fixes it.
var/secondsElectrified = MACHINE_NOT_ELECTRIFIED
- flags_1 = HTML_USE_INITAL_ICON_1
+ var/nameplate = null
+
+ flags_1 = parent_type::flags_1 | HAS_UNIQUE_SCREENTIP_NAME_1 | HTML_USE_INITAL_ICON_1
rad_insulation = RAD_MEDIUM_INSULATION
/obj/machinery/door/airlock/get_save_vars()
@@ -189,6 +191,14 @@
RegisterSignal(SSdcs, COMSIG_GLOB_GREY_TIDE, PROC_REF(grey_tide))
+ if(mapload)
+ if(name != initial(name))
+ if(LOWER_TEXT(name) != LOWER_TEXT(initial(name)))
+ nameplate = name
+ name = initial(name)
+ if(glass)
+ name = replacetext(name, " glass ", " ")
+
/obj/machinery/door/airlock/proc/grey_tide(datum/source, list/grey_tide_areas)
SIGNAL_HANDLER
@@ -624,6 +634,21 @@
if(AIRLOCK_CLOSING_FINISHED)
return 0.6 SECONDS
+/obj/machinery/door/airlock/get_name_chaser(mob/user, list/name_chaser)
+ . = ..()
+ if(nameplate)
+ . += span_info("It has a nameplate: [nameplate].")
+
+/obj/machinery/door/airlock/MouseEntered(location, control, params)
+ . = ..()
+ if(nameplate)
+ winset(usr, null, "mapwindow.status_bar.text=\"[get_screentip_name()]\"" )
+
+/obj/machinery/door/airlock/get_screentip_name()
+ if(nameplate)
+ return "[name] - [nameplate]"
+ return name
+
/obj/machinery/door/airlock/examine(mob/user)
. = ..()
if(closeOtherId)
@@ -1868,7 +1893,7 @@
assemblytype = /obj/structure/door_assembly/door_assembly_extmai
/obj/machinery/door/airlock/mining
- name = "mining airlock"
+ name = "cargo airlock"
icon = 'icons/obj/doors/airlocks/station/mining.dmi'
assemblytype = /obj/structure/door_assembly/door_assembly_min
@@ -1911,11 +1936,11 @@
req_access = list(ACCESS_SYNDICATE)
/obj/machinery/door/airlock/glass/incinerator/syndicatelava_interior
- name = "Turbine Interior Airlock"
+ name = "turbine interior airlock"
id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_INTERIOR
/obj/machinery/door/airlock/glass/incinerator/syndicatelava_exterior
- name = "Turbine Exterior Airlock"
+ name = "turbine exterior airlock"
id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_EXTERIOR
/obj/machinery/door/airlock/command/glass
@@ -1943,7 +1968,7 @@
opacity = FALSE
glass = TRUE
-/obj/machinery/door/airlock/hydroponics/glass //Uses same icon as medical/glass, maybe update it with its own unique icon one day?
+/obj/machinery/door/airlock/hydroponics/glass
name = "hydroponics glass airlock"
opacity = FALSE
glass = TRUE
@@ -1958,20 +1983,20 @@
heat_proof = TRUE
/obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior
- name = "Mixing Room Interior Airlock"
+ name = "mixing room interior airlock"
id_tag = INCINERATOR_ORDMIX_AIRLOCK_INTERIOR
/obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior
- name = "Mixing Room Exterior Airlock"
+ name = "mixing room exterior airlock"
id_tag = INCINERATOR_ORDMIX_AIRLOCK_EXTERIOR
/obj/machinery/door/airlock/mining/glass
- name = "mining glass airlock"
+ name = "cargo glass airlock"
opacity = FALSE
glass = TRUE
/obj/machinery/door/airlock/atmos/glass
- name = "atmospheric glass airlock"
+ name = "atmospherics glass airlock"
opacity = FALSE
glass = TRUE
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 5925aca6061c..c551b484a9be 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -21,6 +21,7 @@
closingLayer = CLOSED_FIREDOOR_LAYER
armor_type = /datum/armor/door_firedoor
interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_REQUIRES_SILICON | INTERACT_MACHINE_OPEN
+ flags_1 = parent_type::flags_1 | HAS_UNIQUE_SCREENTIP_NAME_1
COOLDOWN_DECLARE(activation_cooldown)
@@ -115,10 +116,22 @@
QDEL_NULL(soundloop)
return ..()
-/obj/machinery/door/firedoor/examine(mob/user)
+/obj/machinery/door/firedoor/get_name_chaser(mob/user, list/name_chaser)
+ . = ..()
+ . += span_info("It has an ID serial: [id_tag], and belongs to [get_area_name(my_area)].")
+
+/obj/machinery/door/firedoor/MouseEntered(location, control, params)
. = ..()
- . += span_info("It belongs to [get_area_name(my_area)], and is ID [id_tag].")
+ if(id_tag)
+ winset(usr, null, "mapwindow.status_bar.text=\"[get_screentip_name()]\"" )
+/obj/machinery/door/firedoor/get_screentip_name()
+ if(id_tag)
+ return "[name] - [id_tag]"
+ return name
+
+/obj/machinery/door/firedoor/examine(mob/user)
+ . = ..()
if(!density)
. += span_notice("It is open, but could be pried closed.")
else if(!welded)
diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm
index 819cf7f1900e..fd9ff311f790 100644
--- a/code/game/machinery/lightswitch.dm
+++ b/code/game/machinery/lightswitch.dm
@@ -13,8 +13,6 @@
var/area/area = null
///Range of the light emitted when powered, but off
var/light_on_range = 1
- /// Should this lightswitch automatically rename itself to match the area it's in?
- var/autoname = TRUE
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26)
@@ -32,8 +30,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26)
area = GLOB.areas_by_type[area]
if(!area)
area = get_area(src)
- if(autoname)
- name = "light switch ([area.name])"
find_and_hang_on_wall(custom_drop_callback = CALLBACK(src, PROC_REF(deconstruct), TRUE))
register_context()
update_appearance()
@@ -48,6 +44,10 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26)
return CONTEXTUAL_SCREENTIP_SET
return .
+/obj/machinery/light_switch/get_name_chaser(mob/user, list/name_chaser)
+ . = ..()
+ . += span_info("It belongs to [get_area_name(area)].")
+
/obj/machinery/light_switch/update_appearance(updates=ALL)
. = ..()
luminosity = (machine_stat & NOPOWER) ? 0 : 1
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index f67f29670adb..d2205d712b55 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -82,38 +82,51 @@
mask_type = /obj/item/clothing/mask/gas/atmos/captain
storage_type = /obj/item/tank/jetpack/oxygen/captain
mod_type = /obj/item/mod/control/pre_equipped/magnate
+ req_access = list(ACCESS_CAPTAIN)
+ locked = TRUE
/obj/machinery/suit_storage_unit/centcom
mask_type = /obj/item/clothing/mask/gas/atmos/centcom
storage_type = /obj/item/tank/jetpack/oxygen/captain
mod_type = /obj/item/mod/control/pre_equipped/corporate
+ req_access = list(ACCESS_CENT_GENERAL)
+ locked = TRUE
/obj/machinery/suit_storage_unit/engine
mask_type = /obj/item/clothing/mask/breath
mod_type = /obj/item/mod/control/pre_equipped/engineering
+ req_access = list(ACCESS_ENGINEERING)
/obj/machinery/suit_storage_unit/atmos
mask_type = /obj/item/clothing/mask/gas/atmos
storage_type = /obj/item/watertank/atmos
mod_type = /obj/item/mod/control/pre_equipped/atmospheric
+ req_access = list(ACCESS_ATMOSPHERICS)
/obj/machinery/suit_storage_unit/ce
mask_type = /obj/item/clothing/mask/breath
storage_type = /obj/item/clothing/shoes/magboots/advance
mod_type = /obj/item/mod/control/pre_equipped/advanced
+ req_access = list(ACCESS_CE)
+ locked = TRUE
/obj/machinery/suit_storage_unit/security
mask_type = /obj/item/clothing/mask/gas/sechailer
mod_type = /obj/item/mod/control/pre_equipped/security
+ req_access = list(ACCESS_SECURITY)
+ locked = TRUE
/obj/machinery/suit_storage_unit/hos
mask_type = /obj/item/clothing/mask/gas/sechailer
storage_type = /obj/item/tank/internals/oxygen
mod_type = /obj/item/mod/control/pre_equipped/safeguard
+ req_access = list(ACCESS_HOS)
+ locked = TRUE
/obj/machinery/suit_storage_unit/mining
suit_type = /obj/item/clothing/suit/hooded/explorer
mask_type = /obj/item/clothing/mask/gas/explorer
+ req_access = list(ACCESS_MINING)
/obj/machinery/suit_storage_unit/mining/eva
suit_type = null
@@ -124,21 +137,26 @@
mask_type = /obj/item/clothing/mask/breath/medical
storage_type = /obj/item/tank/internals/oxygen
mod_type = /obj/item/mod/control/pre_equipped/medical
+ req_access = list(ACCESS_MEDICAL)
/obj/machinery/suit_storage_unit/cmo
mask_type = /obj/item/clothing/mask/breath/medical
storage_type = /obj/item/tank/internals/oxygen
mod_type = /obj/item/mod/control/pre_equipped/rescue
+ req_access = list(ACCESS_CMO)
/obj/machinery/suit_storage_unit/rd
mask_type = /obj/item/clothing/mask/breath
storage_type = /obj/item/tank/internals/oxygen
mod_type = /obj/item/mod/control/pre_equipped/research
+ req_access = list(ACCESS_RD)
/obj/machinery/suit_storage_unit/syndicate
mask_type = /obj/item/clothing/mask/gas/syndicate
storage_type = /obj/item/tank/jetpack/oxygen/harness
mod_type = /obj/item/mod/control/pre_equipped/nuclear
+ req_access = list(ACCESS_SYNDICATE)
+ locked = TRUE
/obj/machinery/suit_storage_unit/syndicate/lavaland
mod_type = /obj/item/mod/control/pre_equipped/nuclear/no_jetpack
@@ -147,6 +165,8 @@
mask_type = /obj/item/clothing/mask/gas/syndicate
storage_type = /obj/item/tank/internals/oxygen
mod_type = /obj/item/mod/control/pre_equipped/interdyne
+ req_access = list(ACCESS_SYNDICATE)
+ locked = TRUE
/obj/machinery/suit_storage_unit/void_old
suit_type = /obj/item/clothing/suit/space/nasavoid/old
@@ -165,6 +185,8 @@
/obj/machinery/suit_storage_unit/nuke_med
suit_type = /obj/item/clothing/suit/space/syndicate/black/med
helmet_type = /obj/item/clothing/head/helmet/space/syndicate/black/med
+ req_access = list(ACCESS_SYNDICATE)
+ locked = TRUE
/obj/machinery/suit_storage_unit/open
state_open = TRUE
@@ -180,8 +202,7 @@
/obj/machinery/suit_storage_unit/Initialize(mapload)
. = ..()
-
- set_access()
+ set_access(req_access, req_one_access)
set_wires(new /datum/wires/suit_storage_unit(src))
if(suit_type)
suit = new suit_type(src)
@@ -241,7 +262,7 @@
. += "[base_icon_state]_helm"
if(storage)
. += "[base_icon_state]_storage"
- if(!(machine_stat & BROKEN || machine_stat & NOPOWER))
+ if(is_operational)
if(state_open)
. += "[base_icon_state]_lights_open"
else
@@ -271,13 +292,18 @@
. += span_notice("A card reader can be installed for further control access after opening its panel.")
/// copy over access of electronics
-/obj/machinery/suit_storage_unit/proc/set_access(list/accesses)
+/obj/machinery/suit_storage_unit/proc/set_access(list/accesses, list/one_accesses)
var/obj/item/electronics/airlock/electronics = locate() in component_parts
if(QDELETED(electronics))
return
if(!isnull(accesses))
electronics.accesses = accesses
+ electronics.one_access = FALSE
+ else if(!isnull(one_accesses))
+ electronics.accesses = one_accesses
+ electronics.one_access = TRUE
+
if(electronics.one_access)
req_one_access = electronics.accesses
req_access = null
@@ -291,7 +317,7 @@
for(var/datum/stock_part/capacitor/capacitor in component_parts)
final_charge_rate = base_charge_rate + (capacitor.tier * 0.05 * STANDARD_CELL_RATE)
- set_access()
+ set_access(req_access, req_one_access)
/obj/machinery/suit_storage_unit/power_change()
. = ..()
@@ -320,8 +346,6 @@
name = initial(name)
desc = initial(desc)
id_card = null
- req_access = list()
- req_one_access = null
set_access(list())
return TRUE
if(user.get_idcard() != id)
@@ -681,8 +705,6 @@
if("None") //free for all
name = initial(name)
desc = initial(desc)
- req_access = list()
- req_one_access = null
set_access(list())
if(!isnull(id_card))
diff --git a/code/game/objects/effects/spawners/random/decoration.dm b/code/game/objects/effects/spawners/random/decoration.dm
index 6116d2287331..4fdcee1c5d12 100644
--- a/code/game/objects/effects/spawners/random/decoration.dm
+++ b/code/game/objects/effects/spawners/random/decoration.dm
@@ -98,7 +98,6 @@
icon_state = "showcase"
loot = list(
/obj/structure/showcase/machinery/microwave,
- /obj/structure/showcase/machinery/microwave_engineering,
)
/obj/effect/spawner/random/decoration/glowstick
diff --git a/code/game/objects/effects/spawners/random/techstorage.dm b/code/game/objects/effects/spawners/random/techstorage.dm
index 2376d8e2eb5a..997d24805595 100644
--- a/code/game/objects/effects/spawners/random/techstorage.dm
+++ b/code/game/objects/effects/spawners/random/techstorage.dm
@@ -34,7 +34,6 @@
/obj/item/circuitboard/machine/ore_redemption,
/obj/item/circuitboard/computer/order_console/mining,
/obj/item/circuitboard/machine/microwave,
- /obj/item/circuitboard/machine/microwave/engineering,
/obj/item/circuitboard/machine/deep_fryer,
/obj/item/circuitboard/machine/griddle,
/obj/item/circuitboard/machine/reagentgrinder,
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 92ded7bd7e75..04de8cfd12b5 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -568,7 +568,10 @@
else if(main_weapon_examine)
// you can intuit a good weapon is a good thrown weapon, only report otherwise if it's significant
if(abs(force - throwforce) >= 10 && main_weapon_examine != thrown_weapon_examine)
- return_message += ", but is [thrown_weapon_examine] when thrown"
+ if(throwforce < 20)
+ return_message += ", but is [thrown_weapon_examine] when thrown"
+ else
+ return_message += ", while being [thrown_weapon_examine] when thrown"
else
return_message = "that can be used as \a [thrown_weapon_examine] thrown weapon"
diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm
index e523fe8350b0..f9336c9eebd1 100644
--- a/code/game/objects/items/cards_ids.dm
+++ b/code/game/objects/items/cards_ids.dm
@@ -67,6 +67,7 @@
interaction_flags_click = FORBID_TELEKINESIS_REACH
armor_type = /datum/armor/card_id
resistance_flags = FIRE_PROOF | ACID_PROOF
+ flags_1 = HAS_UNIQUE_SCREENTIP_NAME_1
/// The name registered on the card (for example: Dr Bryan See)
var/registered_name = null
@@ -109,9 +110,6 @@
/// List of wildcard slot names as keys with lists of wildcard data as values.
var/list/wildcard_slots = list()
- /// Boolean value. If TRUE, the [Intern] tag gets prepended to this ID card when the label is updated.
- var/is_intern = FALSE
-
/// Will this ID card use the first or last name as the name displayed with the honorific?
var/honorific_position = HONORIFIC_POSITION_DISABLED
/// What is our selected honorific?
@@ -147,8 +145,6 @@
register_context()
RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, PROC_REF(update_in_wallet))
- if(prob(1))
- ADD_TRAIT(src, TRAIT_TASTEFULLY_THICK_ID_CARD, ROUNDSTART_TRAIT)
/obj/item/card/id/Destroy()
if (registered_account)
@@ -177,36 +173,6 @@
return honorific_title
return registered_name
-// /obj/item/card/id/proc/on_loc_equipped(datum/source, mob/equipper, slot)
-// SIGNAL_HANDLER
-
-// if (slot == ITEM_SLOT_ID)
-// RegisterSignal(equipper, COMSIG_MOVABLE_POINTED, PROC_REF(on_pointed))
-
-// /obj/item/card/id/proc/on_loc_dropped(datum/source, mob/dropper)
-// SIGNAL_HANDLER
-// UnregisterSignal(dropper, COMSIG_MOVABLE_POINTED)
-
-// /obj/item/card/id/proc/on_pointed(mob/living/user, atom/pointed, obj/effect/temp_visual/point/point)
-// SIGNAL_HANDLER
-// if ((!big_pointer && !pointer_color) || HAS_TRAIT(user, TRAIT_UNKNOWN_APPEARANCE))
-// return
-// if (point.icon_state != /obj/effect/temp_visual/point::icon_state) //it differs from the original icon_state already.
-// return
-// if (loc != user)
-// if (!isitem(loc))
-// return
-// var/obj/item/as_item = loc
-// if (as_item.GetID() != src)
-// return
-// if (big_pointer)
-// point.icon_state = "arrow_large"
-// if (pointer_color)
-// point.icon_state = "[point.icon_state]_white"
-// point.color = pointer_color
-// var/mutable_appearance/highlight = mutable_appearance(point.icon, "[point.icon_state]_highlights", appearance_flags = RESET_COLOR)
-// point.add_overlay(highlight)
-
/obj/item/card/id/get_id_examine_strings(mob/user)
. = ..()
. += list("[icon2html(get_cached_flat_icon(), user, extra_classes = "hugeicon")]")
@@ -779,75 +745,63 @@
message = span_nicegreen("You pay the last [amount_to_pay] credits of your debt, extinguishing it. Congratulations!")
to_chat(user, message)
+/obj/item/card/id/MouseEntered(location, control, params)
+ . = ..()
+ if(registered_name)
+ winset(usr, null, "mapwindow.status_bar.text=\"[get_screentip_name()]\"" )
+
+/obj/item/card/id/get_screentip_name()
+ if(registered_name)
+ return "[name] - [registered_name]"
+ return name
+
/obj/item/card/id/examine(mob/user)
. = ..()
if(!user.can_read(src))
return
- if(registered_account && !isnull(registered_account.account_id))
- . += "The account linked to the ID belongs to '[registered_account.account_holder]' and reports a balance of [registered_account.account_balance] cr."
+ var/list/id_info = list()
+ id_info += "• Name: [get_displayed_name(honorifics = TRUE)]"
+ id_info += "• Job: [get_trim_assignment()]"
+ id_info += "• Age: [registered_age]"
+ if(registered_account?.account_id)
+ id_info += "• Account Owner: [registered_account.account_holder]"
+ var/balance_info = "Balance: [registered_account.account_balance]cr"
if(ACCESS_COMMAND in access)
var/datum/bank_account/linked_dept = SSeconomy.get_dep_account(registered_account.account_job.paycheck_department)
- . += "The [linked_dept.account_holder] linked to the ID reports a balance of [linked_dept.account_balance] cr."
- else
- . += span_notice("Alt-Right-Click the ID to set the linked bank account.")
-
- if(HAS_TRAIT(user, TRAIT_ID_APPRAISER))
- . += HAS_TRAIT(src, TRAIT_JOB_FIRST_ID_CARD) ? span_boldnotice("Hmm... yes, this ID was issued from Central Command!") : span_boldnotice("This ID was created in this sector, not by Central Command.")
- if(HAS_TRAIT(src, TRAIT_TASTEFULLY_THICK_ID_CARD) && (user.is_holding(src) || (user.CanReach(src) && user.put_in_hands(src, ignore_animation = FALSE))))
- ADD_TRAIT(src, TRAIT_NODROP, "psycho")
- . += span_hypnophrase("Look at that subtle coloring... The tasteful thickness of it. Oh my God, it even has a watermark...")
- var/sound/slowbeat = sound('sound/health/slowbeat.ogg', repeat = TRUE)
- user.playsound_local(get_turf(src), slowbeat, 40, 0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE)
- if(isliving(user))
- var/mob/living/living_user = user
- living_user.adjust_jitter(10 SECONDS)
- addtimer(CALLBACK(src, PROC_REF(drop_card), user), 10 SECONDS)
- . += span_notice("There's more information below, you can look again to take a closer look...")
-
-/obj/item/card/id/proc/drop_card(mob/user)
- user.stop_sound_channel(CHANNEL_HEARTBEAT)
- REMOVE_TRAIT(src, TRAIT_NODROP, "psycho")
- if(user.is_holding(src))
- user.dropItemToGround(src)
- for(var/mob/living/carbon/human/viewing_mob in viewers(user, 2))
- if(viewing_mob.stat || viewing_mob == user)
- continue
- viewing_mob.say("Is something wrong? [first_name(user.name)]... you're sweating.", forced = "psycho")
- break
+ balance_info += " / Dept. Budget: [linked_dept.account_balance]cr"
+ id_info += span_slightly_smaller(" ↳ [balance_info]")
+ if(registered_account.mining_points || istype(trim, /datum/id_trim/job/shaft_miner) || istype(trim, /datum/id_trim/job/bitrunner))
+ id_info += span_slightly_smaller(" ↳ Mining Scrip: [registered_account.mining_points]")
+
+ var/list/control_info = list()
+ control_info += span_smallnotice("Alt-Click the ID to pull money from the linked account in the form of holochips.")
+ control_info += span_smallnotice("You can insert credits into the linked account by pressing holochips, cash, or coins against the ID.")
+ if(isnull(registered_account) || isnull(registered_account.account_id) || registered_account.replaceable)
+ control_info += span_smallnotice("Alt-Right-Click the ID to change the linked account.")
+
+ var/id_info_formatted = span_info(boxed_message(jointext(id_info, "
")))
+ var/control_info_formatted = jointext(control_info, "
")
+
+ . += "[id_info_formatted][control_info_formatted]" // skipping br between the box and the controls because the box already has a br at the end.
+ if(registered_account?.account_debt || registered_account?.civilian_bounty)
+ . += span_smallnoticeital("There's more information below, you can examine again to take a closer look...")
/obj/item/card/id/examine_more(mob/user)
. = ..()
if(!user.can_read(src))
return
- . += span_notice("You examine [src] closer, and note the following...")
-
- if(registered_age)
- . += "The card indicates that the holder is [registered_age] years old. [(registered_age < AGE_MINOR) ? "There's a holographic stripe that reads [span_danger("'MINOR: DO NOT SERVE ALCOHOL OR TOBACCO'")] along the bottom of the card." : ""]"
if(registered_account)
- if(registered_account.mining_points)
- . += "There's [registered_account.mining_points] mining point\s loaded onto the card's bank account."
- . += "The account linked to the ID belongs to '[registered_account.account_holder]' and reports a balance of [registered_account.account_balance] cr."
if(registered_account.account_debt)
- . += span_warning("The account is currently indebted for [registered_account.account_debt] cr. [100*DEBT_COLLECTION_COEFF]% of all earnings will go towards extinguishing it.")
- if(registered_account.account_job)
- var/datum/bank_account/D = SSeconomy.get_dep_account(registered_account.account_job.paycheck_department)
- if(D)
- . += "The [D.account_holder] reports a balance of [D.account_balance] cr."
- . += span_info("Alt-Click the ID to pull money from the linked account in the form of holochips.")
- . += span_info("You can insert credits into the linked account by pressing holochips, cash, or coins against the ID.")
- if(registered_account.replaceable)
- . += span_info("Alt-Right-Click the ID to change the linked bank account.")
+ . += span_warning("The account is currently indebted for [registered_account.account_debt] cr. \
+ [100 * DEBT_COLLECTION_COEFF]% of all earnings will go towards extinguishing it.")
if(registered_account.civilian_bounty)
- . += "There is an active civilian bounty."
- . += span_info("[registered_account.bounty_text()]")
- . += span_info("Quantity: [registered_account.bounty_num()]")
- . += span_info("Reward: [registered_account.bounty_value()]")
- if(registered_account.account_holder == user.real_name)
- . += span_boldnotice("If you lose this ID card, you can reclaim your account by Alt-Clicking a blank ID card while holding it and entering your account ID number.")
- else
- . += span_info("There is no registered account linked to this card. Alt-Click to add one.")
+ var/list/bounty_text = list()
+ bounty_text += "[registered_account.bounty_text()]"
+ bounty_text += "Quantity: [registered_account.bounty_num()]"
+ bounty_text += "Reward: [registered_account.bounty_value()]cr"
+ . += span_info(fieldset_block("Bounty Information", jointext(bounty_text, "
"), "boxed_message"))
return .
@@ -872,27 +826,10 @@
/// Updates the name based on the card's vars and state.
/obj/item/card/id/proc/update_label()
- var/name_string
if(registered_name)
update_honorific()
- if(honorific_title)
- name_string = "[honorific_title]'s ID Card"
- else
- name_string = "[registered_name]'s ID Card"
- else
- name_string = initial(name)
- var/assignment_string
-
- if(is_intern)
- if(assignment)
- assignment_string = trim?.intern_alt_name || "Intern [assignment]"
- else
- assignment_string = "Intern"
- else
- assignment_string = assignment
-
- name = "[name_string] ([assignment_string])"
+ name = "[LOWER_TEXT(assignment)]'s ID card"
if(ishuman(loc))
var/mob/living/carbon/human/human = loc
@@ -1074,7 +1011,7 @@
icon_state = "card_grey"
wildcard_slots = WILDCARD_LIMIT_GREY
- flags_1 = UNPAINTABLE_1
+ flags_1 = /*parent_type::flags_1 |*/ HAS_UNIQUE_SCREENTIP_NAME_1 | UNPAINTABLE_1
/// An overlay icon state for when the card is assigned to a name. Usually manifests itself as a little scribble to the right of the job icon.
var/assigned_icon_state = "assigned"
@@ -1094,16 +1031,6 @@
/// If this is set, will manually override the trim shown for SecHUDs. Intended for admins to VV edit and chameleon ID cards.
var/sechud_icon_state_override = null
-/obj/item/card/id/advanced/Initialize(mapload)
- . = ..()
- RegisterSignal(src, COMSIG_ITEM_EQUIPPED, PROC_REF(update_intern_status))
- RegisterSignal(src, COMSIG_ITEM_DROPPED, PROC_REF(remove_intern_status))
-
-/obj/item/card/id/advanced/Destroy()
- UnregisterSignal(src, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED))
-
- return ..()
-
/obj/item/card/id/advanced/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
. = ..()
if(.)
@@ -1140,60 +1067,6 @@
update_icon()
return ITEM_INTERACT_SUCCESS
-/obj/item/card/id/advanced/proc/update_intern_status(datum/source, mob/user, slot)
- SIGNAL_HANDLER
-
- if(!user?.client)
- return
- if(!CONFIG_GET(flag/use_exp_tracking))
- return
- if(!CONFIG_GET(flag/use_low_living_hour_intern))
- return
- if(!SSdbcore.Connect())
- return
-
- var/intern_threshold = (CONFIG_GET(number/use_low_living_hour_intern_hours) * 60) || (CONFIG_GET(number/use_exp_restrictions_heads_hours) * 60) || INTERN_THRESHOLD_FALLBACK_HOURS * 60
- var/playtime = user.client.get_exp_living(pure_numeric = TRUE)
-
- if((intern_threshold >= playtime) && (user.mind?.assigned_role.job_flags & JOB_CAN_BE_INTERN))
- is_intern = TRUE
- update_label()
- return
-
- if(!is_intern)
- return
-
- is_intern = FALSE
- update_label()
-
-/obj/item/card/id/advanced/proc/remove_intern_status(datum/source, mob/user)
- SIGNAL_HANDLER
-
- if(!is_intern)
- return
-
- is_intern = FALSE
- update_label()
-
-/obj/item/card/id/advanced/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change = TRUE)
- . = ..()
-
- //Old loc
- if(istype(old_loc, /obj/item/storage/wallet))
- UnregisterSignal(old_loc, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED))
-
- if(istype(old_loc, /obj/item/modular_computer))
- UnregisterSignal(old_loc, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED))
-
- //New loc
- if(istype(loc, /obj/item/storage/wallet))
- RegisterSignal(loc, COMSIG_ITEM_EQUIPPED, PROC_REF(update_intern_status))
- RegisterSignal(loc, COMSIG_ITEM_DROPPED, PROC_REF(remove_intern_status))
-
- if(istype(loc, /obj/item/modular_computer))
- RegisterSignal(loc, COMSIG_ITEM_EQUIPPED, PROC_REF(update_intern_status))
- RegisterSignal(loc, COMSIG_ITEM_DROPPED, PROC_REF(remove_intern_status))
-
/obj/item/card/id/advanced/update_overlays()
. = ..()
@@ -1266,10 +1139,6 @@
assigned_icon_state = "assigned_gold"
wildcard_slots = WILDCARD_LIMIT_GOLD
-/obj/item/card/id/advanced/gold/Initialize(mapload)
- . = ..()
- ADD_TRAIT(src, TRAIT_TASTEFULLY_THICK_ID_CARD, ROUNDSTART_TRAIT)
-
/obj/item/card/id/advanced/gold/captains_spare
name = "captain's spare ID"
article = "the"
@@ -1277,13 +1146,17 @@
registered_name = "Captain"
trim = /datum/id_trim/job/captain
registered_age = null
+ flags_1 = /*parent_type::flags_1 & ~HAS_UNIQUE_SCREENTIP_NAME_1*/ UNPAINTABLE_1
/obj/item/card/id/advanced/gold/captains_spare/update_label() //so it doesn't change to Captain's ID card (Captain) on a sneeze
if(registered_name == "Captain")
name = "[initial(name)][(!assignment || assignment == "Captain") ? "" : " ([assignment])"]"
update_appearance(UPDATE_ICON)
+ flags_1 &= ~HAS_UNIQUE_SCREENTIP_NAME_1
+
else
- ..()
+ . = ..()
+ flags_1 |= HAS_UNIQUE_SCREENTIP_NAME_1
/obj/item/card/id/advanced/centcom
name = "\improper CentCom ID"
diff --git a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm
index de24082a31ba..5464650fc999 100644
--- a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm
+++ b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm
@@ -1286,17 +1286,6 @@
/obj/item/stack/sheet/glass = 2)
needs_anchored = FALSE
-/obj/item/circuitboard/machine/microwave/engineering
- name = "Wireless Microwave Oven"
- greyscale_colors = CIRCUIT_COLOR_SERVICE
- build_path = /obj/machinery/microwave/engineering
- req_components = list(
- /datum/stock_part/micro_laser = 1,
- /datum/stock_part/matter_bin = 1,
- /datum/stock_part/capacitor/tier2 = 1,
- /obj/item/stack/cable_coil = 4,
- /obj/item/stack/sheet/glass = 2)
-
/obj/item/circuitboard/machine/processor
name = "Food Processor"
greyscale_colors = CIRCUIT_COLOR_SERVICE
diff --git a/code/game/objects/items/food/snacks.dm b/code/game/objects/items/food/snacks.dm
index c8c0cec3df88..4cbede98656e 100644
--- a/code/game/objects/items/food/snacks.dm
+++ b/code/game/objects/items/food/snacks.dm
@@ -61,6 +61,7 @@
icon_state = "sosjerky"
desc = "Beef jerky made from the finest space cows."
trash_type = /obj/item/trash/sosjerky
+ gender = PLURAL
food_reagents = list(
/datum/reagent/consumable/nutriment/protein = 3,
/datum/reagent/consumable/sugar = 2,
@@ -87,6 +88,7 @@
icon_state = "chips"
trash_type = /obj/item/trash/chips
bite_consumption = 1
+ gender = PLURAL
food_reagents = list(
/datum/reagent/consumable/nutriment = 1,
/datum/reagent/consumable/sugar = 3,
@@ -120,6 +122,7 @@
name = "\improper 4no raisins"
icon_state = "4no_raisins"
desc = "Best raisins in the universe. Not sure why."
+ gender = PLURAL
trash_type = /obj/item/trash/raisins
food_reagents = list(
/datum/reagent/consumable/nutriment = 2,
@@ -184,6 +187,7 @@
desc = "Bite sized cheesie snacks that will honk all over your mouth."
icon_state = "cheesie_honkers"
trash_type = /obj/item/trash/cheesie
+ gender = PLURAL
food_reagents = list(
/datum/reagent/consumable/nutriment = 1,
/datum/reagent/consumable/sugar = 3,
@@ -198,6 +202,7 @@
icon_state = "syndi_cakes"
desc = "An extremely moist snack cake that tastes just as good after being nuked."
trash_type = /obj/item/trash/syndi_cakes
+ gender = PLURAL
food_reagents = list(
/datum/reagent/consumable/nutriment = 4,
/datum/reagent/consumable/doctor_delight = 5,
@@ -207,9 +212,9 @@
w_class = WEIGHT_CLASS_SMALL
/obj/item/food/energybar
- name = "\improper High-power energy bars"
+ name = "\improper High-power energy bar"
icon_state = "energybar"
- desc = "An energy bar with a lot of punch, you probably shouldn't eat this if you're not an Ethereal."
+ desc = "An energy bar with a lot of punch - typically more punch than a non-Ethereal can handle."
trash_type = /obj/item/trash/energybar
food_reagents = list(
/datum/reagent/consumable/nutriment = 3,
@@ -225,6 +230,7 @@
desc = "A favourite amongst the terminally angry."
icon_state = "peanuts"
trash_type = /obj/item/trash/peanuts
+ gender = PLURAL
food_reagents = list(/datum/reagent/consumable/nutriment = 2)
tastes = list("peanuts" = 4, "anger" = 1)
foodtypes = JUNKFOOD | NUTS
@@ -314,6 +320,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types())
desc = "Legally, we cannot say that these won't melt in your hands."
icon_state = "cnds"
trash_type = /obj/item/trash/cnds
+ gender = PLURAL
food_reagents = list(
/datum/reagent/consumable/sugar = 3,
/datum/reagent/consumable/coco = 1,
@@ -389,6 +396,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types())
desc = "A pack of Sweetie's brand premium pistacios."
icon_state = "pistachio"
trash_type = /obj/item/trash/pistachios
+ gender = PLURAL
food_reagents = list(
/datum/reagent/consumable/nutriment = 2,
/datum/reagent/consumable/nutriment/vitamin = 1,
@@ -405,6 +413,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types())
desc = "A pack of roasted sunflower seeds. Beloved by space russians and babushka alike."
icon_state = "semki"
trash_type = /obj/item/trash/semki
+ gender = PLURAL
food_reagents = list(
/datum/reagent/consumable/nutriment/fat/oil = 1,
/datum/reagent/consumable/salt = 6,
@@ -436,6 +445,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types())
icon_state = "boritos"
trash_type = /obj/item/trash/boritos
bite_consumption = 2
+ gender = PLURAL
food_reagents = list(
/datum/reagent/consumable/nutriment = 3,
/datum/reagent/consumable/nutriment/fat/oil = 2,
@@ -531,6 +541,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types())
desc = "The ultimate baseball snack. Once you start, it's hard to stop!"
icon_state = "hot_shots"
trash_type = /obj/item/trash/hot_shots
+ gender = PLURAL
food_reagents = list(
/datum/reagent/consumable/nutriment = 2,
/datum/reagent/consumable/nutriment/vitamin = 1,
@@ -546,6 +557,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types())
desc = "A classic treat for all ages, it's Sticko, the original chocolate-coated biscuit stick! This one's the original (and as some would say, best) flavour: biscuit and milk chocolate."
icon_state = "sticko_classic"
trash_type = /obj/item/trash/sticko
+ gender = PLURAL
food_reagents = list(
/datum/reagent/consumable/sugar = 3,
/datum/reagent/consumable/coco = 1,
@@ -626,6 +638,7 @@ GLOBAL_LIST_INIT(safe_peanut_types, populate_safe_peanut_types())
desc = "You've heard of Snap-Roks, now get ready for Shok-Roks: the popping candy for Ethereals! Available in 5 exciting flavours, of which this bag contains Stormcloud Candy- like cotton candy, but electric!"
icon_state = "shok_roks_candy"
trash_type = /obj/item/trash/shok_roks
+ gender = PLURAL
food_reagents = list(
/datum/reagent/consumable/liquidelectricity/enriched = 2,
/datum/reagent/consumable/sugar = 3
diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index f55fc63e01d2..78705ffa3dfe 100644
--- a/code/game/objects/items/storage/belt.dm
+++ b/code/game/objects/items/storage/belt.dm
@@ -55,6 +55,8 @@
/obj/item/radio,
/obj/item/melee/sickly_blade/lock,
))
+ var/static/list/exception_cache = typecacheof(/obj/item/crowbar/power)
+ atom_storage.exception_hold = exception_cache
/obj/item/storage/belt/utility/chief
name = "chief engineer's toolbelt"
diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm
index d6602438dd5d..8d6a83c87743 100644
--- a/code/game/objects/items/tools/crowbar.dm
+++ b/code/game/objects/items/tools/crowbar.dm
@@ -107,9 +107,9 @@
icon_state = "crowbar_powergame"
/obj/item/crowbar/power
- name = "jaws of life"
- article = "a set of"
- desc = "A set of jaws of life, compressed through the magic of science."
+ name = "hydraulic rescue tool"
+ desc = "Colloquially known as \"the Jaws of Life\" for its use in emergency situations. \
+ Has a prying attachment for opening spaces and a cutting attachment for slicing through steel."
icon_state = "jaws"
inhand_icon_state = "jawsoflife"
worn_icon_state = "jawsoflife"
@@ -118,7 +118,7 @@
custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*2.25, /datum/material/silver = SHEET_MATERIAL_AMOUNT*1.25, /datum/material/titanium = SHEET_MATERIAL_AMOUNT*1.75)
usesound = 'sound/items/jaws_pry.ogg'
force = 15
- w_class = WEIGHT_CLASS_NORMAL
+ w_class = WEIGHT_CLASS_BULKY
toolspeed = 0.7
force_opens = TRUE
/// Used on Initialize, how much time to cut cable restraints and zipties.
@@ -161,16 +161,17 @@
return COMPONENT_NO_DEFAULT_MESSAGE
/obj/item/crowbar/power/syndicate
- name = "Syndicate jaws of life"
- desc = "A pocket sized re-engineered copy of Nanotrasen's standard jaws of life. Can be used to force open airlocks in its crowbar configuration."
+ name = "\improper Syndicate hydraulic \"rescue\" tool"
+ desc = "A modestly sized reverse engineering of Nanotrasen's standard issue \"hydraulic rescue tool\". \
+ Despite its smaller size, it remains as capable - if not more so - than Nanotrasen's design."
icon_state = "jaws_syndie"
- w_class = WEIGHT_CLASS_SMALL
+ w_class = WEIGHT_CLASS_NORMAL
toolspeed = 0.5
force_opens = TRUE
/obj/item/crowbar/power/examine()
. = ..()
- . += " It's fitted with a [tool_behaviour == TOOL_CROWBAR ? "prying" : "cutting"] head."
+ . += "It's fitted with a [tool_behaviour == TOOL_CROWBAR ? "prying" : "cutting"] head."
/obj/item/crowbar/power/suicide_act(mob/living/user)
if(tool_behaviour == TOOL_CROWBAR)
diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm
index c93402849761..8860f059e775 100644
--- a/code/game/objects/items/tools/screwdriver.dm
+++ b/code/game/objects/items/tools/screwdriver.dm
@@ -137,7 +137,7 @@
/obj/item/screwdriver/power/examine()
. = ..()
- . += " It's fitted with a [tool_behaviour == TOOL_SCREWDRIVER ? "screw" : "bolt"] bit."
+ . += "It's fitted with a [tool_behaviour == TOOL_SCREWDRIVER ? "screw" : "bolt"] bit."
/obj/item/screwdriver/power/suicide_act(mob/living/user)
if(tool_behaviour == TOOL_SCREWDRIVER)
diff --git a/code/game/objects/structures/beds_chairs/pew.dm b/code/game/objects/structures/beds_chairs/pew.dm
index 6388247e8c42..1a6fd9cec051 100644
--- a/code/game/objects/structures/beds_chairs/pew.dm
+++ b/code/game/objects/structures/beds_chairs/pew.dm
@@ -13,6 +13,11 @@
/obj/structure/chair/pew/MakeRotate()
AddComponent(/datum/component/simple_rotation, ROTATION_REQUIRE_WRENCH|ROTATION_IGNORE_ANCHORED)
+/obj/structure/chair/pew/Initialize(mapload)
+ . = ..()
+ if(name == initial(name))
+ name = "pew"
+
/obj/structure/chair/pew/left
name = "left wooden pew end"
icon_state = "pewend_left"
diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm
index 9a4a3b32d9a1..47f354033b2b 100644
--- a/code/game/objects/structures/false_walls.dm
+++ b/code/game/objects/structures/false_walls.dm
@@ -34,9 +34,13 @@
/obj/structure/falsewall/Initialize(mapload)
. = ..()
- var/obj/item/stack/initialized_mineral = new mineral // Okay this kinda sucks.
- set_custom_materials(initialized_mineral.mats_per_unit, mineral_amount)
- qdel(initialized_mineral)
+ // minerals are only applied to fake mineral walls
+ // ...yes, real iron walls are not actually made of iron
+ if(ispath(walltype, /turf/closed/wall/mineral))
+ var/obj/item/stack/initialized_mineral = new mineral // Okay this kinda sucks.
+ set_custom_materials(initialized_mineral.mats_per_unit, mineral_amount)
+ qdel(initialized_mineral)
+
air_update_turf(TRUE, TRUE)
update_appearance()
@@ -144,12 +148,11 @@
for(var/i in 1 to mineral_amount)
new mineral(loc)
-/obj/structure/falsewall/get_dumping_location()
- return null
+/obj/structure/falsewall/examine_descriptor(mob/user)
+ return "wall"
/obj/structure/falsewall/examine_status(mob/user) //So you can't detect falsewalls by examine.
- to_chat(user, span_notice("The outer plating is welded firmly in place."))
- return null
+ return span_notice("The outer plating is welded firmly in place.")
/*
* False R-Walls
@@ -166,8 +169,7 @@
smoothing_flags = SMOOTH_BITMASK
/obj/structure/falsewall/reinforced/examine_status(mob/user)
- to_chat(user, span_notice("The outer grille is fully intact."))
- return null
+ return span_notice("The outer grille is fully intact.")
/obj/structure/falsewall/reinforced/attackby(obj/item/tool, mob/user)
..()
diff --git a/code/game/objects/structures/showcase.dm b/code/game/objects/structures/showcase.dm
index baeb8209447f..9e96bd684677 100644
--- a/code/game/objects/structures/showcase.dm
+++ b/code/game/objects/structures/showcase.dm
@@ -85,12 +85,6 @@
icon = 'icons/obj/machines/microwave.dmi'
icon_state = "mw_complete"
-/obj/structure/showcase/machinery/microwave_engineering
- name = "\improper Nanotrasen Wave(tm) microwave"
- desc = "Just when everyone thought Nanotrasen couldn't improve on their famous microwave, this 2563 model features Wave™! A Nanotrasen exclusive, Wave™ allows your PDA to be charged wirelessly through microwave frequencies. Because nothing says 'future' like charging your PDA while overcooking your leftovers. Nanotrasen Wave™ - Multitasking, redefined."
- icon = 'icons/obj/machines/microwave.dmi'
- icon_state = "engi_mw_complete"
-
/obj/structure/showcase/machinery/cloning_pod
name = "cloning pod exhibit"
desc = "Depicts a prototype from a failed attempt at reliable cloning technology. The technology was scrapped after reports of severe mutations, wiggly ear syndrome and spontaneous tail growth. The date 11.11.2558 is engraved on the base."
diff --git a/code/game/objects/structures/tank_holder.dm b/code/game/objects/structures/tank_holder.dm
index 5a9eb683c5c2..d581d1a24a58 100644
--- a/code/game/objects/structures/tank_holder.dm
+++ b/code/game/objects/structures/tank_holder.dm
@@ -35,12 +35,12 @@
/obj/structure/tank_holder/examine(mob/user)
. = ..()
- . += "It is [anchored ? "wrenched to the floor." : "The bolts on the bottom are unsecured."]
"
if(tank)
- . += "It is holding one [tank]."
+ . += "It is holding \a [tank]."
else
. += "It is empty."
- . += span_notice("It is held together by some screws.")
+ . += span_info("[anchored ? "It is bolted to the floor." : "The bolts on the bottom are loose."]")
+ . += span_info("It is held together by some screws.")
/obj/structure/tank_holder/attackby(obj/item/W, mob/living/user, list/modifiers, list/attack_modifiers)
if(user.combat_mode)
diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm
index 5f0f7807bafa..959fb97a6b31 100644
--- a/code/modules/antagonists/cult/cult_items.dm
+++ b/code/modules/antagonists/cult/cult_items.dm
@@ -496,7 +496,7 @@ Striking a noncultist, however, will tear their flesh."}
user.adjust_temp_blindness(60 SECONDS)
/obj/item/reagent_containers/cup/beaker/unholywater
- name = "flask of unholy water"
+ name = "unholy water"
desc = "Toxic to nonbelievers; reinvigorating to the faithful - this flask may be sipped or thrown."
icon = 'icons/obj/drinks/bottles.dmi'
icon_state = "unholyflask"
@@ -504,6 +504,7 @@ Striking a noncultist, however, will tear their flesh."}
lefthand_file = 'icons/mob/inhands/items/drinks_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items/drinks_righthand.dmi'
list_reagents = list(/datum/reagent/fuel/unholywater = 50)
+ article = "a flask of"
///how many times can the shuttle be cursed?
#define MAX_SHUTTLE_CURSES 3
diff --git a/code/modules/antagonists/heretic/items/eldritch_flask.dm b/code/modules/antagonists/heretic/items/eldritch_flask.dm
index 409bcd473ed7..32587069255c 100644
--- a/code/modules/antagonists/heretic/items/eldritch_flask.dm
+++ b/code/modules/antagonists/heretic/items/eldritch_flask.dm
@@ -1,8 +1,9 @@
// An unholy water flask, but for heretics.
// Heals heretics, hearms non-heretics. Pretty much identical.
/obj/item/reagent_containers/cup/beaker/eldritch
- name = "flask of eldritch essence"
+ name = "eldritch essence"
desc = "Toxic to the closed minded, yet refreshing to those with knowledge of the beyond."
icon = 'icons/obj/antags/eldritch.dmi'
icon_state = "eldritch_flask"
list_reagents = list(/datum/reagent/eldritch = 50)
+ article = "a flask of"
diff --git a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm
index 6b9bf97fbf3a..62d4c38d0c4e 100644
--- a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm
+++ b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm
@@ -296,7 +296,7 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm)
for(var/obj/machinery/atmospherics/components/unary/vent_pump/vent as anything in my_area.air_vents)
data["vents"] += list(list(
"refID" = REF(vent),
- "long_name" = sanitize(vent.name),
+ "long_name" = VENT_PUMP_NAME(vent.id_tag),
"power" = vent.on,
"overclock" = vent.fan_overclocked,
"integrity" = vent.get_integrity_percentage(),
@@ -317,7 +317,7 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm)
filter_types += list(list("gas_id" = cached_gas_info[META_GAS_ID][path], "gas_name" = cached_gas_info[META_GAS_NAME][path], "enabled" = (path in scrubber.filter_types)))
data["scrubbers"] += list(list(
"refID" = REF(scrubber),
- "long_name" = sanitize(scrubber.name),
+ "long_name" = SCRUBBER_NAME(scrubber.id_tag),
"power" = scrubber.on,
"scrubbing" = scrubber.scrubbing,
"widenet" = scrubber.widenet,
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
index 8c1721b6bb4a..f4945af42b12 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
@@ -19,6 +19,7 @@
// vents are more complex machinery and so are less resistant to damage
max_integrity = 100
interaction_flags_click = NEED_VENTCRAWL
+ flags_1 = parent_type::flags_1 | HAS_UNIQUE_SCREENTIP_NAME_1
///Direction of pumping the gas (ATMOS_DIRECTION_RELEASING or ATMOS_DIRECTION_SIPHONING)
var/pump_direction = ATMOS_DIRECTION_RELEASING
@@ -86,6 +87,9 @@
/obj/machinery/atmospherics/components/unary/vent_pump/examine(mob/user)
. = ..()
+ if(welded)
+ . += "It seems welded shut."
+
. += span_notice("You can link it with an air sensor using a multitool.")
if(fan_overclocked)
@@ -337,9 +341,22 @@
to_chat(user, span_warning("You cannot unwrench [src], turn it off first!"))
return FALSE
+/obj/machinery/atmospherics/components/unary/vent_pump/get_name_chaser(mob/user, list/name_chaser)
+ . = ..()
+ . += span_info("It has an ID serial: [id_tag], and belongs to [get_area_name(src)].")
+
+/obj/machinery/atmospherics/components/unary/vent_pump/MouseEntered(location, control, params)
+ . = ..()
+ if(id_tag)
+ winset(usr, null, "mapwindow.status_bar.text=\"[get_screentip_name()]\"" )
+
+/obj/machinery/atmospherics/components/unary/vent_pump/get_screentip_name()
+ if(id_tag)
+ return "[name] - [id_tag]"
+ return name
+
/obj/machinery/atmospherics/components/unary/vent_pump/examine(mob/user)
. = ..()
- . += span_info("It belongs to [get_area_name(src)], and is ID [id_tag].")
if(welded)
. += "It seems welded shut."
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
index a326c4fb865a..21de051fd9ed 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
@@ -16,6 +16,7 @@
vent_movement = VENTCRAWL_ALLOWED | VENTCRAWL_CAN_SEE | VENTCRAWL_ENTRANCE_ALLOWED
processing_flags = NONE
interaction_flags_click = NEED_VENTCRAWL
+ flags_1 = parent_type::flags_1 | HAS_UNIQUE_SCREENTIP_NAME_1
///The mode of the scrubber (ATMOS_DIRECTION_SCRUBBING or ATMOS_DIRECTION_SIPHONING)
var/scrubbing = ATMOS_DIRECTION_SCRUBBING
@@ -302,9 +303,22 @@
to_chat(user, span_warning("You cannot unwrench [src], turn it off first!"))
return FALSE
+/obj/machinery/atmospherics/components/unary/vent_scrubber/get_name_chaser(mob/user, list/name_chaser)
+ . = ..()
+ . += span_info("It has an ID serial: [id_tag], and belongs to [get_area_name(src)].")
+
+/obj/machinery/atmospherics/components/unary/vent_scrubber/MouseEntered(location, control, params)
+ . = ..()
+ if(id_tag)
+ winset(usr, null, "mapwindow.status_bar.text=\"[get_screentip_name()]\"" )
+
+/obj/machinery/atmospherics/components/unary/vent_scrubber/get_screentip_name()
+ if(id_tag)
+ return "[name] - [id_tag]"
+ return name
+
/obj/machinery/atmospherics/components/unary/vent_scrubber/examine(mob/user)
. = ..()
- . += span_info("It belongs to [get_area_name(src)], and is ID [id_tag].")
if(welded)
. += "It seems welded shut."
diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm
index 2fab6bf1e740..4bbe5ba5e6af 100644
--- a/code/modules/clothing/suits/jobs.dm
+++ b/code/modules/clothing/suits/jobs.dm
@@ -200,15 +200,16 @@
inhand_icon_state = null
blood_overlay_type = "armor"
allowed = list(
+ /obj/item/crowbar/power,
/obj/item/fireaxe/metal_h2_axe,
/obj/item/flashlight,
+ /obj/item/gun/ballistic/rifle/boltaction/pipegun/prime,
/obj/item/radio,
/obj/item/storage/bag/construction,
+ /obj/item/storage/belt/chest_pouch,
+ /obj/item/t_scanner,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
- /obj/item/t_scanner,
- /obj/item/gun/ballistic/rifle/boltaction/pipegun/prime,
- /obj/item/storage/belt/chest_pouch,
)
resistance_flags = NONE
species_exception = list(/datum/species/golem)
@@ -457,6 +458,7 @@
/obj/item/tank/internals/emergency_oxygen,
/obj/item/tank/internals/plasmaman,
/obj/item/extinguisher,
+ /obj/item/crowbar/power,
)
/obj/item/clothing/suit/atmos_overalls/Initialize(mapload)
diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm
index d28ebe080def..1d232dd27bb7 100644
--- a/code/modules/clothing/suits/labcoat.dm
+++ b/code/modules/clothing/suits/labcoat.dm
@@ -68,6 +68,7 @@
/obj/item/clothing/suit/toggle/labcoat/paramedic/Initialize(mapload)
. = ..()
AddComponent(/datum/component/adjust_fishing_difficulty, -2) //FISH DOCTOR?!
+ allowed += /obj/item/crowbar/power
/obj/item/clothing/suit/toggle/labcoat/mad
name = "Mad's labcoat"
diff --git a/code/modules/clothing/suits/wintercoats.dm b/code/modules/clothing/suits/wintercoats.dm
index eb348e0a8390..71bc58a09843 100644
--- a/code/modules/clothing/suits/wintercoats.dm
+++ b/code/modules/clothing/suits/wintercoats.dm
@@ -448,6 +448,10 @@
inhand_icon_state = null
hoodtype = /obj/item/clothing/head/hooded/winterhood/medical/paramedic
+/obj/item/clothing/suit/hooded/wintercoat/medical/paramedic/Initialize(mapload)
+ . = ..()
+ allowed += /obj/item/crowbar/power
+
/obj/item/clothing/head/hooded/winterhood/medical/paramedic
desc = "A white winter coat hood with blue markings."
icon_state = "hood_paramed"
@@ -557,7 +561,8 @@
/obj/item/t_scanner,
/obj/item/construction/rld,
/obj/item/construction/rtd,
- /obj/item/gun/ballistic/rifle/rebarxbow
+ /obj/item/gun/ballistic/rifle/rebarxbow,
+ /obj/item/crowbar/power,
)
armor_type = /datum/armor/wintercoat_engineering
hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering
diff --git a/code/modules/food_and_drinks/machinery/microwave.dm b/code/modules/food_and_drinks/machinery/microwave.dm
index a2723ca0b509..a909530014bd 100644
--- a/code/modules/food_and_drinks/machinery/microwave.dm
+++ b/code/modules/food_and_drinks/machinery/microwave.dm
@@ -891,41 +891,6 @@
//The microwave should turn off asynchronously from any other microwaves that initialize at the same time. Keep in mind this will not turn off, since there is nothing to call the proc that ends this microwave's looping
addtimer(CALLBACK(src, PROC_REF(wzhzhzh)), rand(0.5 SECONDS, 3 SECONDS))
-/obj/machinery/microwave/engineering
- name = "wireless microwave oven"
- desc = "For the hard-working tradesperson who's in the middle of nowhere and just wants to warm up their pastry-based savoury item from an overpriced vending machine."
- base_icon_state = "engi_"
- icon_state = "engi_mw_complete"
- circuit = /obj/item/circuitboard/machine/microwave/engineering
- light_color = LIGHT_COLOR_BABY_BLUE
- // We don't use area power, we always use the cell
- use_power = NO_POWER_USE
- cell_powered = TRUE
- vampire_charging_capable = TRUE
- ingredient_shifts_x = list(
- 0,
- 5,
- -5,
- 3,
- -3,
- )
- ingredient_shifts_y = list(
- 0,
- 2,
- -2,
- )
-
-/obj/machinery/microwave/engineering/Initialize(mapload)
- . = ..()
- if(mapload)
- cell = new /obj/item/stock_parts/power_store/cell/upgraded/plus
- update_appearance()
-
-/obj/machinery/microwave/engineering/cell_included/Initialize(mapload)
- . = ..()
- cell = new /obj/item/stock_parts/power_store/cell/upgraded/plus
- update_appearance()
-
#undef MICROWAVE_NORMAL
#undef MICROWAVE_MUCK
#undef MICROWAVE_PRE
diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm
index 9a9d8a02a945..205cd4533be7 100644
--- a/code/modules/jobs/job_types/_job.dm
+++ b/code/modules/jobs/job_types/_job.dm
@@ -419,7 +419,6 @@
var/obj/item/card/id/card = equipped.wear_id
if(istype(card))
- ADD_TRAIT(card, TRAIT_JOB_FIRST_ID_CARD, ROUNDSTART_TRAIT)
shuffle_inplace(card.access) // Shuffle access list to make NTNet passkeys less predictable
card.registered_name = equipped.real_name
diff --git a/code/modules/library/skill_learning/skillchip.dm b/code/modules/library/skill_learning/skillchip.dm
index 2e041541495c..32f47721283e 100644
--- a/code/modules/library/skill_learning/skillchip.dm
+++ b/code/modules/library/skill_learning/skillchip.dm
@@ -438,15 +438,6 @@
activate_message = "You feel that you know a lot about interpreting organs."
deactivate_message = "Knowledge of liver damage, heart strain and lung scars fades from your mind."
-/obj/item/skillchip/appraiser
- name = "GENUINE ID Appraisal Now! skillchip"
- auto_traits = list(TRAIT_ID_APPRAISER)
- skill_name = "ID Appraisal"
- skill_description = "Appraise an ID and see if it's issued from centcom, or just a cruddy station-printed one."
- skill_icon = "magnifying-glass"
- activate_message = span_notice("You feel that you can recognize special, minute details on ID cards.")
- deactivate_message = span_notice("Was there something special about certain IDs?")
-
/obj/item/skillchip/sabrage
name = "Le S48R4G3 skillchip"
auto_traits = list(TRAIT_SABRAGE_PRO)
diff --git a/code/modules/mod/mod_theme.dm b/code/modules/mod/mod_theme.dm
index 17109ef7b1dc..74925f44b4a6 100644
--- a/code/modules/mod/mod_theme.dm
+++ b/code/modules/mod/mod_theme.dm
@@ -241,6 +241,7 @@
/obj/item/construction/rcd,
/obj/item/fireaxe/metal_h2_axe,
/obj/item/storage/bag/construction,
+ /obj/item/crowbar/power,
)
variants = list(
"engineering" = list(
@@ -306,6 +307,7 @@
/obj/item/fireaxe/metal_h2_axe,
/obj/item/pipe_dispenser,
/obj/item/t_scanner,
+ /obj/item/crowbar/power,
)
variants = list(
"atmospheric" = list(
@@ -376,6 +378,7 @@
/obj/item/pipe_dispenser,
/obj/item/storage/bag/construction,
/obj/item/t_scanner,
+ /obj/item/crowbar/power,
)
variants = list(
"advanced" = list(
@@ -620,6 +623,7 @@
/obj/item/storage/pill_bottle,
/obj/item/storage/bag/chemistry,
/obj/item/storage/bag/bio,
+ /obj/item/crowbar/power,
)
variants = list(
"medical" = list(
@@ -728,6 +732,7 @@
/obj/item/storage/bag/chemistry,
/obj/item/storage/bag/bio,
/obj/item/melee/baton/telescopic,
+ /obj/item/crowbar/power,
)
variants = list(
"rescue" = list(
diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm
index d530795b5d63..e716641a1693 100644
--- a/code/modules/modular_computers/computers/item/computer.dm
+++ b/code/modules/modular_computers/computers/item/computer.dm
@@ -380,7 +380,6 @@
if(long_ranged)
. += "It is upgraded with an experimental long-ranged network capabilities, picking up NTNet frequencies while further away."
- . += span_notice("It has [max_capacity] GQ of storage capacity.")
if(computer_id_slot)
if(Adjacent(user))
@@ -390,7 +389,8 @@
. += span_info("Alt-click [src] to eject the identification card.")
if(internal_cell)
- . += span_info("Right-click it with a screwdriver to eject the [internal_cell]")
+ . += span_info("Its [internal_cell.name] is hidden by some [EXAMINE_HINT("screws")]. \
+ You could undo them with [EXAMINE_HINT("right-click")].")
/obj/item/modular_computer/examine_more(mob/user)
. = ..()
@@ -765,10 +765,7 @@
return TRUE
/obj/item/modular_computer/proc/UpdateDisplay()
- if(!saved_identification && !saved_job)
- name = initial(name)
- return
- name = "[saved_identification] ([saved_job])"
+ return
/obj/item/modular_computer/screwdriver_act_secondary(mob/living/user, obj/item/tool)
. = ..()
diff --git a/code/modules/reagents/reagent_containers/cups/glassbottle.dm b/code/modules/reagents/reagent_containers/cups/glassbottle.dm
index cc1c8b2a41fb..46dbabfd57c1 100644
--- a/code/modules/reagents/reagent_containers/cups/glassbottle.dm
+++ b/code/modules/reagents/reagent_containers/cups/glassbottle.dm
@@ -32,12 +32,16 @@
drop_sound = 'maplestation_modules/sound/items/drop/bottle.ogg'
pickup_sound = 'maplestation_modules/sound/items/pickup/bottle.ogg'
+ var/preset_article = "a bottle of"
+
/obj/item/reagent_containers/cup/glass/bottle/Initialize(mapload, vol)
. = ..()
var/static/list/recipes = list(/datum/crafting_recipe/molotov)
AddElement(/datum/element/slapcrafting, recipes)
register_context()
register_item_context()
+ if(length(list_reagents))
+ article = preset_article
/obj/item/reagent_containers/cup/glass/bottle/add_context(atom/source, list/context, obj/item/held_item, mob/living/user)
if(message_in_a_bottle)
@@ -308,13 +312,13 @@
list_reagents = list(/datum/reagent/consumable/ethanol/beer = 1)
/obj/item/reagent_containers/cup/glass/bottle/beer/light
- name = "Carp Lite"
+ name = "\improper Carp Lite"
desc = "Brewed with \"Pure Ice Asteroid Spring Water\"."
icon_state = "litebeer"
list_reagents = list(/datum/reagent/consumable/ethanol/beer/light = 30)
/obj/item/reagent_containers/cup/glass/bottle/rootbeer
- name = "Two-Time root beer"
+ name = "\improper Two-Time root beer"
desc = "A popular, old-fashioned brand of root beer, known for its extremely sugary formula. Might make you want a nap afterwards."
icon_state = "twotime"
volume = 30
@@ -324,7 +328,7 @@
custom_premium_price = PAYCHECK_CREW * 2
/obj/item/reagent_containers/cup/glass/bottle/ale
- name = "Magm-Ale"
+ name = "\improper Magm-Ale"
desc = "A true dorf's drink of choice."
icon_state = "alebottle"
volume = 30
@@ -333,19 +337,19 @@
custom_price = PAYCHECK_CREW
/obj/item/reagent_containers/cup/glass/bottle/gin
- name = "Griffeater gin"
+ name = "\improper Griffeater gin"
desc = "A bottle of high quality gin, produced in the New London Space Station."
icon_state = "ginbottle"
list_reagents = list(/datum/reagent/consumable/ethanol/gin = 100)
/obj/item/reagent_containers/cup/glass/bottle/whiskey
- name = "Uncle Git's special reserve"
+ name = "\improper Uncle Git's special reserve"
desc = "A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES."
icon_state = "whiskeybottle"
list_reagents = list(/datum/reagent/consumable/ethanol/whiskey = 100)
/obj/item/reagent_containers/cup/glass/bottle/kong
- name = "Kong"
+ name = "\improper Kong"
desc = "Makes You Go Ape!®"
list_reagents = list(/datum/reagent/consumable/ethanol/whiskey/kong = 100)
@@ -355,25 +359,25 @@
list_reagents = list(/datum/reagent/consumable/ethanol/whiskey/candycorn = 100)
/obj/item/reagent_containers/cup/glass/bottle/vodka
- name = "Tunguska triple distilled"
+ name = "\improper Tunguska triple distilled"
desc = "Aah, vodka. Prime choice of drink AND fuel by Russians worldwide."
icon_state = "vodkabottle"
list_reagents = list(/datum/reagent/consumable/ethanol/vodka = 100)
/obj/item/reagent_containers/cup/glass/bottle/vodka/badminka
- name = "Badminka vodka"
+ name = "\improper Badminka vodka"
desc = "The label's written in Cyrillic. All you can make out is the name and a word that looks vaguely like 'Vodka'."
icon_state = "badminka"
list_reagents = list(/datum/reagent/consumable/ethanol/vodka = 100)
/obj/item/reagent_containers/cup/glass/bottle/tequila
- name = "Caccavo guaranteed quality tequila"
+ name = "\improper Caccavo guaranteed quality tequila"
desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!"
icon_state = "tequilabottle"
list_reagents = list(/datum/reagent/consumable/ethanol/tequila = 100)
/obj/item/reagent_containers/cup/glass/bottle/bottleofnothing
- name = "bottle of nothing"
+ name = "nothing"
desc = "A bottle filled with nothing."
icon_state = "bottleofnothing"
list_reagents = list(/datum/reagent/consumable/nothing = 100)
@@ -381,19 +385,19 @@
age_restricted = FALSE
/obj/item/reagent_containers/cup/glass/bottle/patron
- name = "Wrapp Artiste Patron"
+ name = "\improper Wrapp Artiste Patron"
desc = "Silver laced tequila, served in space night clubs across the galaxy."
icon_state = "patronbottle"
list_reagents = list(/datum/reagent/consumable/ethanol/patron = 100)
/obj/item/reagent_containers/cup/glass/bottle/rum
- name = "Captain Pete's Cuban spiced rum"
+ name = "\improper Captain Pete's Cuban spiced rum"
desc = "This isn't just rum, oh no. It's practically GRIFF in a bottle."
icon_state = "rumbottle"
list_reagents = list(/datum/reagent/consumable/ethanol/rum = 100)
/obj/item/reagent_containers/cup/glass/bottle/rum/aged
- name = "Captain Pete's Vintage spiced rum"
+ name = "\improper Captain Pete's Vintage spiced rum"
desc = "Shiver me timbers, a vintage edition of Captain Pete's rum. It's pratically GRIFF in a bottle from over 50 years ago."
icon_state = "rumbottle_gold"
list_reagents = list(/datum/reagent/consumable/ethanol/rum/aged = 100)
@@ -406,7 +410,7 @@
custom_price = PAYCHECK_CREW
/obj/item/reagent_containers/cup/glass/bottle/holywater
- name = "flask of holy water"
+ name = "holy water"
desc = "A flask of the chaplain's holy water."
icon = 'icons/obj/drinks/bottles.dmi'
icon_state = "holyflask"
@@ -414,6 +418,7 @@
broken_inhand_icon_state = "broken_holyflask"
list_reagents = list(/datum/reagent/water/holywater = 100)
drink_type = NONE
+ preset_article = "a flask of"
/obj/item/reagent_containers/cup/glass/bottle/holywater/add_message_overlay()
return //looks too weird...
@@ -424,32 +429,32 @@
list_reagents = list(/datum/reagent/hellwater = 100)
/obj/item/reagent_containers/cup/glass/bottle/vermouth
- name = "Goldeneye vermouth"
+ name = "\improper Goldeneye vermouth"
desc = "Sweet, sweet dryness~"
icon_state = "vermouthbottle"
list_reagents = list(/datum/reagent/consumable/ethanol/vermouth = 100)
/obj/item/reagent_containers/cup/glass/bottle/kahlua
- name = "Robert Robust's coffee liqueur"
+ name = "\improper Robert Robust's coffee liqueur"
desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK."
icon_state = "kahluabottle"
list_reagents = list(/datum/reagent/consumable/ethanol/kahlua = 100)
drink_type = VEGETABLES
/obj/item/reagent_containers/cup/glass/bottle/goldschlager
- name = "College Girl goldschlager"
+ name = "\improper College Girl goldschlager"
desc = "Because they are the only ones who will drink 100 proof cinnamon schnapps."
icon_state = "goldschlagerbottle"
list_reagents = list(/datum/reagent/consumable/ethanol/goldschlager = 100)
/obj/item/reagent_containers/cup/glass/bottle/cognac
- name = "Chateau de Baton premium cognac"
+ name = "\improper Chateau de Baton premium cognac"
desc = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time."
icon_state = "cognacbottle"
list_reagents = list(/datum/reagent/consumable/ethanol/cognac = 100)
/obj/item/reagent_containers/cup/glass/bottle/wine
- name = "Doublebeard's bearded special wine"
+ name = "\improper Doublebeard's bearded special wine"
desc = "A faint aura of unease and asspainery surrounds the bottle."
icon_state = "winebottle"
list_reagents = list(/datum/reagent/consumable/ethanol/wine = 100)
@@ -468,6 +473,7 @@
/obj/item/reagent_containers/cup/glass/bottle/wine/unlabeled
name = "unlabeled wine bottle"
desc = "There's no label on this wine bottle."
+ preset_article = ""
/obj/item/reagent_containers/cup/glass/bottle/wine/unlabeled/generate_vintage()
var/year = rand(CURRENT_STATION_YEAR - 50, CURRENT_STATION_YEAR)
@@ -490,7 +496,7 @@
return "[year] [origin] [type]"
/obj/item/reagent_containers/cup/glass/bottle/absinthe
- name = "Extra-strong absinthe"
+ name = "\improper Extra-strong absinthe"
desc = "A strong alcoholic drink brewed and distributed by"
icon_state = "absinthebottle"
list_reagents = list(/datum/reagent/consumable/ethanol/absinthe = 100)
@@ -508,11 +514,11 @@
var/fullname
switch(shortname)
if("T&T")
- fullname = "Teal and Tealer"
+ fullname = "\improper Teal and Tealer"
if("A&A")
- fullname = "Ash and Asher"
+ fullname = "\improper Ash and Asher"
if("Generic")
- fullname = "Nanotrasen Cheap Imitations"
+ fullname = "\improper Nanotrasen Cheap Imitations"
var/removals = list(
"\[REDACTED\]",
"\[EXPLETIVE DELETED\]",
@@ -540,7 +546,7 @@
/obj/item/reagent_containers/cup/glass/bottle/absinthe/premium
- name = "Gwyn's premium absinthe"
+ name = "\improper Gwyn's premium absinthe"
desc = "A potent alcoholic beverage, almost makes you forget the ash in your lungs."
icon_state = "absinthepremium"
@@ -548,44 +554,44 @@
return
/obj/item/reagent_containers/cup/glass/bottle/lizardwine
- name = "bottle of lizard wine"
+ name = "lizard wine"
desc = "An alcoholic beverage from Space China, made by infusing lizard tails in ethanol. Inexplicably popular among command staff."
icon_state = "lizardwine"
list_reagents = list(/datum/reagent/consumable/ethanol/lizardwine = 100)
drink_type = FRUIT | ALCOHOL
/obj/item/reagent_containers/cup/glass/bottle/hcider
- name = "Jian Hard Cider"
+ name = "\improper Jian Hard Cider"
desc = "Apple juice for adults."
icon_state = "hcider"
volume = 50
list_reagents = list(/datum/reagent/consumable/ethanol/hcider = 50)
/obj/item/reagent_containers/cup/glass/bottle/amaretto
- name = "Luini Amaretto"
+ name = "\improper Luini Amaretto"
desc = "A gentle, syrupy drink that tastes of almonds and apricots."
icon_state = "disaronno"
list_reagents = list(/datum/reagent/consumable/ethanol/amaretto = 100)
/obj/item/reagent_containers/cup/glass/bottle/grappa
- name = "Phillipes well-aged Grappa"
+ name = "\improper Phillipes well-aged Grappa"
desc = "Bottle of Grappa."
icon_state = "grappabottle"
list_reagents = list(/datum/reagent/consumable/ethanol/grappa = 100)
/obj/item/reagent_containers/cup/glass/bottle/sake
- name = "Ryo's traditional sake"
+ name = "\improper Ryo's traditional sake"
desc = "Sweet as can be, and burns like fire going down."
icon_state = "sakebottle"
list_reagents = list(/datum/reagent/consumable/ethanol/sake = 100)
/obj/item/reagent_containers/cup/glass/bottle/sake/Initialize(mapload)
if(prob(10))
- name = "Fluffy Tail Sake"
+ name = "\improper Fluffy Tail Sake"
desc += " On the bottle is a picture of a kitsune with nine touchable tails."
icon_state = "sakebottle_k"
else if(prob(10))
- name = "Inubashiri's Home Brew"
+ name = "\improper Inubashiri's Home Brew"
desc += " Awoo."
icon_state = "sakebottle_i"
return ..()
@@ -596,20 +602,20 @@
return ..()
/obj/item/reagent_containers/cup/glass/bottle/fernet
- name = "Fernet Bronca"
+ name = "\improper Fernet Bronca"
desc = "A bottle of pure Fernet Bronca, produced in Cordoba Space Station"
icon_state = "fernetbottle"
list_reagents = list(/datum/reagent/consumable/ethanol/fernet = 100)
/obj/item/reagent_containers/cup/glass/bottle/bitters
- name = "Andromeda Bitters"
+ name = "\improper Andromeda Bitters"
desc = "An aromatic addition to any drink. Made in New Trinidad, now and forever."
icon_state = "bitters_bottle"
volume = 30
list_reagents = list(/datum/reagent/consumable/ethanol/bitters = 30)
/obj/item/reagent_containers/cup/glass/bottle/curacao
- name = "Beekhof Blauw Curaçao"
+ name = "\improper Beekhof Blauw Curaçao"
desc = "Still produced on the island of Curaçao, after all these years."
icon_state = "curacao_bottle"
list_reagents = list(/datum/reagent/consumable/ethanol/curacao = 100)
@@ -618,13 +624,13 @@
return //doesn't fit the sprite
/obj/item/reagent_containers/cup/glass/bottle/navy_rum
- name = "Pride of the Union Navy-Strength Rum"
+ name = "\improper Pride of the Union Navy-Strength Rum"
desc = "Ironically named, given it's made in Bermuda."
icon_state = "navy_rum_bottle"
list_reagents = list(/datum/reagent/consumable/ethanol/navy_rum = 100)
/obj/item/reagent_containers/cup/glass/bottle/grenadine
- name = "Jester Grenadine"
+ name = "\improper Jester Grenadine"
desc = "Contains 0% real cherries!"
custom_price = PAYCHECK_CREW
icon_state = "grenadine"
@@ -633,7 +639,7 @@
age_restricted = FALSE
/obj/item/reagent_containers/cup/glass/bottle/applejack
- name = "Buckin' Bronco's Applejack"
+ name = "\improper Buckin' Bronco's Applejack"
desc = "Kicks like a horse, tastes like an apple!"
custom_price = PAYCHECK_CREW
icon_state = "applejack_bottle"
@@ -641,7 +647,7 @@
drink_type = FRUIT
/obj/item/reagent_containers/cup/glass/bottle/wine_voltaic
- name = "Voltaic Yellow Wine"
+ name = "\improper Voltaic Yellow Wine"
desc = "Electrically infused wine! Recharges ethereals, safe for consumption."
custom_price = PAYCHECK_CREW
icon_state = "wine_voltaic_bottle"
@@ -649,7 +655,7 @@
drink_type = FRUIT
/obj/item/reagent_containers/cup/glass/bottle/champagne
- name = "Eau d' Dandy Brut Champagne"
+ name = "\improper Eau d' Dandy Brut Champagne"
desc = "Finely sourced from only the most pretentious French vineyards."
icon_state = "champagne_bottle"
base_icon_state = "champagne_bottle"
@@ -805,20 +811,20 @@
icon_state = "champagne_cork_sabrage"
/obj/item/reagent_containers/cup/glass/bottle/blazaam
- name = "Ginbad's Blazaam"
+ name = "\improper Ginbad's Blazaam"
desc = "You feel like you should give the bottle a good rub before opening."
icon_state = "blazaambottle"
list_reagents = list(/datum/reagent/consumable/ethanol/blazaam = 100)
/obj/item/reagent_containers/cup/glass/bottle/trappist
- name = "Mont de Requin Trappistes Bleu"
+ name = "\improper Mont de Requin Trappistes Bleu"
desc = "Brewed in space-Belgium. Fancy!"
icon_state = "trappistbottle"
volume = 50
list_reagents = list(/datum/reagent/consumable/ethanol/trappist = 50)
/obj/item/reagent_containers/cup/glass/bottle/hooch
- name = "hooch bottle"
+ name = "hooch"
desc = "A bottle of rotgut. Its owner has applied some street wisdom to cleverly disguise it as a brown paper bag."
icon_state = "hoochbottle"
list_reagents = list(/datum/reagent/consumable/ethanol/hooch = 100)
@@ -827,16 +833,17 @@
return //doesn't fit the sprite
/obj/item/reagent_containers/cup/glass/bottle/moonshine
- name = "moonshine jug"
+ name = "moonshine"
desc = "It is said that the ancient Applalacians used these stoneware jugs to capture lightning in a bottle."
icon_state = "moonshinebottle"
list_reagents = list(/datum/reagent/consumable/ethanol/moonshine = 100)
+ preset_article = "a jug of"
/obj/item/reagent_containers/cup/glass/bottle/moonshine/add_message_overlay()
return //doesn't fit the sprite
/obj/item/reagent_containers/cup/glass/bottle/mushi_kombucha
- name = "Solzara Brewing Company Mushi Kombucha"
+ name = "\improper Solzara Brewing Company Mushi Kombucha"
desc = "Best drunk over ice to savour the mushroomy flavour."
icon_state = "shroomy_bottle"
volume = 30
@@ -844,25 +851,25 @@
isGlass = FALSE
/obj/item/reagent_containers/cup/glass/bottle/hakka_mate
- name = "Hakka-Mate"
+ name = "\improper Hakka-Mate"
desc = "Hakka-Mate: it's an acquired taste."
icon_state = "hakka_mate_bottle"
list_reagents = list(/datum/reagent/consumable/hakka_mate = 30)
/obj/item/reagent_containers/cup/glass/bottle/shochu
- name = "Shu-Kouba Straight Shochu"
+ name = "\improper Shu-Kouba Straight Shochu"
desc = "A boozier form of shochu designed for mixing. Comes straight from Mars' Dusty City itself, Shu-Kouba."
icon_state = "shochu_bottle"
list_reagents = list(/datum/reagent/consumable/ethanol/shochu = 100)
/obj/item/reagent_containers/cup/glass/bottle/yuyake
- name = "Moonlabor Yūyake"
+ name = "\improper Moonlabor Yūyake"
desc = "The distilled essence of disco and flared pants, captured like lightning in a bottle."
icon_state = "yuyake_bottle"
list_reagents = list(/datum/reagent/consumable/ethanol/yuyake = 100)
/obj/item/reagent_containers/cup/glass/bottle/coconut_rum
- name = "Breezy Shoals Coconut Rum"
+ name = "\improper Breezy Shoals Coconut Rum"
desc = "Live the breezy life with Breezy Shoals, made with only the *finest Caribbean rum."
icon_state = "coconut_rum_bottle"
list_reagents = list(/datum/reagent/consumable/ethanol/coconut_rum = 100)
@@ -873,6 +880,7 @@
desc = "A throwing weapon used to ignite things, typically filled with an accelerant. Recommended highly by rioters and revolutionaries. Light and toss."
icon_state = "vodkabottle"
list_reagents = list()
+ preset_article = ""
var/active = FALSE
var/list/accelerants = list(
/datum/reagent/consumable/ethanol,
@@ -950,6 +958,8 @@
icon = 'icons/obj/service/janitor.dmi'
icon_state = "trashbag"
list_reagents = list(/datum/reagent/consumable/prunomix = 50)
+ preset_article = ""
+ gender = PLURAL
var/fermentation_time = 30 SECONDS /// time it takes to ferment
var/fermentation_time_remaining /// for partial fermentation
var/fermentation_timer /// store the timer id of fermentation
@@ -994,6 +1004,7 @@
name = "bag of pruno"
desc = "Fermented prison wine made from fruit, sugar, and despair. You probably shouldn't drink this around Security."
icon_state = "trashbag1" // pruno releases air as it ferments, we don't want to simulate this in atmos, but we can make it look like it did
+ gender = NEUTER
for (var/mob/living/M in view(2, get_turf(src))) // letting people and/or narcs know when the pruno is done
if(M.can_smell())
to_chat(M, span_info("A pungent smell emanates from [src], like fruit puking out its guts."))
@@ -1011,6 +1022,7 @@
righthand_file = 'icons/mob/inhands/items/drinks_righthand.dmi'
isGlass = FALSE
age_restricted = FALSE
+ preset_article = "a carton of"
/obj/item/reagent_containers/cup/glass/bottle/juice/orangejuice
name = "orange juice"
diff --git a/code/modules/reagents/reagent_containers/cups/soda.dm b/code/modules/reagents/reagent_containers/cups/soda.dm
index 8a134317f845..0f1e2234deec 100644
--- a/code/modules/reagents/reagent_containers/cups/soda.dm
+++ b/code/modules/reagents/reagent_containers/cups/soda.dm
@@ -28,6 +28,8 @@
. = ..()
AddElement(/datum/element/slapcrafting, string_list(list(/datum/crafting_recipe/improv_explosive)))
AddElement(/datum/element/atmos_sensitive, mapload) //Enables soda cans to explode in vaccuum.
+ if(length(list_reagents))
+ article = "a can of"
/obj/item/reagent_containers/cup/soda_cans/random/Initialize(mapload)
..()
@@ -181,14 +183,14 @@
#undef SODA_EXPLOSION_PRESSURE
/obj/item/reagent_containers/cup/soda_cans/cola
- name = "Space Cola"
+ name = "\improper Space Cola"
desc = "Cola. in space."
icon_state = "cola"
list_reagents = list(/datum/reagent/consumable/space_cola = 30)
drink_type = SUGAR
/obj/item/reagent_containers/cup/soda_cans/tonic
- name = "T-Borg's tonic water"
+ name = "\improper T-Borg's tonic water"
desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away."
icon_state = "tonic"
volume = 50
@@ -214,62 +216,62 @@
name = "lemon-lime soda"
/obj/item/reagent_containers/cup/soda_cans/sol_dry
- name = "Sol Dry"
+ name = "\improper Sol Dry"
desc = "Maybe this will help your tummy feel better. Maybe not."
icon_state = "sol_dry"
list_reagents = list(/datum/reagent/consumable/sol_dry = 30)
drink_type = SUGAR
/obj/item/reagent_containers/cup/soda_cans/space_up
- name = "Space-Up!"
+ name = "\improper Space-Up!"
desc = "Tastes like a hull breach in your mouth."
icon_state = "space-up"
list_reagents = list(/datum/reagent/consumable/space_up = 30)
drink_type = SUGAR | JUNKFOOD
/obj/item/reagent_containers/cup/soda_cans/starkist
- name = "Star-kist"
+ name = "\improper Star-kist"
desc = "The taste of a star in liquid form. And, a bit of tuna...?"
icon_state = "starkist"
list_reagents = list(/datum/reagent/consumable/space_cola = 15, /datum/reagent/consumable/orangejuice = 15)
drink_type = SUGAR | FRUIT | JUNKFOOD
/obj/item/reagent_containers/cup/soda_cans/space_mountain_wind
- name = "Space Mountain Wind"
+ name = "\improper Space Mountain Wind"
desc = "Blows right through you like a space wind."
icon_state = "space_mountain_wind"
list_reagents = list(/datum/reagent/consumable/spacemountainwind = 30)
drink_type = SUGAR | JUNKFOOD
/obj/item/reagent_containers/cup/soda_cans/thirteenloko
- name = "Thirteen Loko"
+ name = "\improper Thirteen Loko"
desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkenness, or even death. Please Drink Responsibly."
icon_state = "thirteen_loko"
list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 30)
drink_type = SUGAR | JUNKFOOD
/obj/item/reagent_containers/cup/soda_cans/dr_gibb
- name = "Dr. Gibb"
+ name = "\improper Dr. Gibb"
desc = "A delicious mixture of 42 different flavors."
icon_state = "dr_gibb"
list_reagents = list(/datum/reagent/consumable/dr_gibb = 30)
drink_type = SUGAR | JUNKFOOD
/obj/item/reagent_containers/cup/soda_cans/pwr_game
- name = "Pwr Game"
+ name = "\improper Pwr Game"
desc = "The only drink with the PWR that true gamers crave. When a gamer talks about gamerfuel, this is what they're literally referring to."
icon_state = "purple_can"
list_reagents = list(/datum/reagent/consumable/pwr_game = 30)
/obj/item/reagent_containers/cup/soda_cans/shamblers
- name = "Shambler's juice"
+ name = "\improper Shambler's juice"
desc = "~Shake me up some of that Shambler's Juice!~"
icon_state = "shamblers"
list_reagents = list(/datum/reagent/consumable/shamblers = 30)
drink_type = SUGAR | JUNKFOOD
/obj/item/reagent_containers/cup/soda_cans/shamblers/eldritch
- name = "Shambler's juice Eldritch Energy!"
+ name = "\improper Shambler's juice Eldritch Energy!"
desc = "~J'I'CE!~"
icon_state = "shamblerseldritch"
volume = 40
@@ -277,21 +279,21 @@
drink_type = SUGAR | JUNKFOOD
/obj/item/reagent_containers/cup/soda_cans/wellcheers
- name = "Wellcheers Juice"
+ name = "\improper Wellcheers Juice"
desc = "A strange purple drink, smelling of saltwater. Somewhere in the distance, you hear seagulls."
icon_state = "wellcheers"
list_reagents = list(/datum/reagent/consumable/wellcheers = 30)
drink_type = SUGAR | JUNKFOOD
/obj/item/reagent_containers/cup/soda_cans/grey_bull
- name = "Grey Bull"
+ name = "\improper Grey Bull"
desc = "Grey Bull, it gives you gloves!"
icon_state = "energy_drink"
list_reagents = list(/datum/reagent/consumable/grey_bull = 20)
drink_type = SUGAR | JUNKFOOD
/obj/item/reagent_containers/cup/soda_cans/monkey_energy
- name = "Monkey Energy"
+ name = "\improper Monkey Energy"
desc = "Unleash the ape!"
icon_state = "monkey_energy"
inhand_icon_state = "monkey_energy"
@@ -300,14 +302,14 @@
drink_type = SUGAR | JUNKFOOD
/obj/item/reagent_containers/cup/soda_cans/volt_energy
- name = "24-Volt Energy"
+ name = "\improper 24-Volt Energy"
desc = "Recharge, with 24-Volt Energy!"
icon_state = "volt_energy"
list_reagents = list(/datum/reagent/consumable/volt_energy = 30)
drink_type = SUGAR | JUNKFOOD
/obj/item/reagent_containers/cup/soda_cans/melon_soda
- name = "Kansumi Melon Soda"
+ name = "\improper Kansumi Melon Soda"
desc = "Japan's favourite melon soda, now available in can form!"
icon_state = "melon_soda"
list_reagents = list(/datum/reagent/consumable/melon_soda = 30)
diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm
index 16da1d229eb1..b37dac9ceda4 100644
--- a/code/modules/research/designs/machine_designs.dm
+++ b/code/modules/research/designs/machine_designs.dm
@@ -550,16 +550,6 @@
)
departmental_flags = DEPARTMENT_BITFLAG_SERVICE
-/datum/design/board/microwave_engineering
- name = "Wireless Microwave Board"
- desc = "The circuit board for a cell-powered microwave."
- id = "microwave_engineering"
- build_path = /obj/item/circuitboard/machine/microwave/engineering
- category = list(
- RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_KITCHEN
- )
- departmental_flags = DEPARTMENT_BITFLAG_SERVICE | DEPARTMENT_BITFLAG_ENGINEERING
-
/datum/design/board/gibber
name = "Gibber Board"
desc = "The circuit board for a gibber."
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index 38a01c648f8c..303f7be93570 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -17,7 +17,7 @@ Nothing else in the console has ID requirements.
*/
/obj/machinery/computer/rdconsole
- name = "R&D Console"
+ name = "\improper R&D Console"
desc = "A console used to interface with R&D tools."
icon_screen = "rdcomp"
icon_keyboard = "rd_key"
diff --git a/code/modules/research/techweb/nodes/service_nodes.dm b/code/modules/research/techweb/nodes/service_nodes.dm
index 6d5f5a434970..10ee51e2d967 100644
--- a/code/modules/research/techweb/nodes/service_nodes.dm
+++ b/code/modules/research/techweb/nodes/service_nodes.dm
@@ -153,7 +153,6 @@
"gibber",
"monkey_recycler",
"reagentgrinder",
- "microwave_engineering",
"smartfridge",
"sheetifier",
"fat_sucker",
diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm
index c7986e8cfae9..bc48b9cb0460 100644
--- a/code/modules/vending/games.dm
+++ b/code/modules/vending/games.dm
@@ -63,7 +63,6 @@
"name" = "Skillchips",
"icon" = "floppy-disk",
"products" = list(
- /obj/item/skillchip/appraiser = 2,
/obj/item/skillchip/basketweaving = 2,
/obj/item/skillchip/bonsai = 2,
/obj/item/skillchip/intj = 2,
diff --git a/maplestation.dme b/maplestation.dme
index 34ac970125f3..c7088367eb4d 100644
--- a/maplestation.dme
+++ b/maplestation.dme
@@ -6423,6 +6423,7 @@
#include "maplestation_modules\code\game\objects\items\tcg\tdatet.dm"
#include "maplestation_modules\code\game\objects\spawners\cycle_helper.dm"
#include "maplestation_modules\code\game\objects\spawners\random\contraband.dm"
+#include "maplestation_modules\code\game\objects\structures\cabinet.dm"
#include "maplestation_modules\code\game\objects\structures\item_dispensers.dm"
#include "maplestation_modules\code\game\objects\structures\pass_id_panel.dm"
#include "maplestation_modules\code\game\objects\structures\stasis.dm"
diff --git a/maplestation_modules/code/game/objects/structures/cabinet.dm b/maplestation_modules/code/game/objects/structures/cabinet.dm
new file mode 100644
index 000000000000..db2a085e7e94
--- /dev/null
+++ b/maplestation_modules/code/game/objects/structures/cabinet.dm
@@ -0,0 +1,61 @@
+/obj/item/wallframe/fireaxecabinet/jaws_of_life
+ name = "hydraulic rescue tool cabinet"
+ desc = "Holds the jaws of life, ready to snatch life from the jaws of death."
+ result_path = /obj/structure/fireaxecabinet/jaws_of_life/empty
+ icon = 'maplestation_modules/icons/obj/cabinet.dmi'
+
+/obj/structure/fireaxecabinet/jaws_of_life
+ name = "hydraulic rescue tool cabinet"
+ desc = "There is a small label that reads \"For Emergency use only\" along with details for safe use of the tool. As if."
+ item_path = /obj/item/crowbar/power
+ item_overlay = "jaws"
+ icon = 'maplestation_modules/icons/obj/cabinet.dmi'
+ /// tracks if the lock was forced open intead of opening via security level
+ var/lock_was_forced = FALSE
+
+/obj/structure/fireaxecabinet/jaws_of_life/examine(mob/user)
+ . = ..()
+ if(SSsecurity_level.get_current_level_as_number() <= SEC_LEVEL_GREEN)
+ . += span_notice("It has a locking mechanism preventing the handle from opening outside of emergencies. \
+ Of course, this won't stop the determined.")
+ else
+ . += span_notice("Due to a security situation, its locking mechanism has been disabled.")
+
+/obj/structure/fireaxecabinet/jaws_of_life/Initialize(mapload)
+ . = ..()
+ RegisterSignal(SSsecurity_level, COMSIG_SECURITY_LEVEL_CHANGED, PROC_REF(check_security_level))
+
+/obj/structure/fireaxecabinet/jaws_of_life/toggle_lock(mob/user)
+ . = ..()
+ lock_was_forced = !locked
+
+/obj/structure/fireaxecabinet/jaws_of_life/proc/check_security_level(datum/source, new_level)
+ SIGNAL_HANDLER
+
+ // level is being lowered
+ if(new_level <= SEC_LEVEL_GREEN)
+ // only re-lock if the lock was not forced open in the first place
+ if(!locked && !lock_was_forced)
+ locked = TRUE
+ update_appearance()
+ return
+
+ // level is being raised
+ if(!locked)
+ return
+
+ playsound(src, 'sound/machines/locktoggle.ogg', 50, TRUE)
+ locked = FALSE
+ update_appearance()
+
+/obj/structure/fireaxecabinet/jaws_of_life/atom_deconstruct(disassembled = TRUE)
+ if(held_item && loc)
+ held_item.forceMove(loc)
+ new /obj/item/wallframe/fireaxecabinet/jaws_of_life(loc)
+
+MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/jaws_of_life, 32)
+
+/obj/structure/fireaxecabinet/jaws_of_life/empty
+ populate_contents = FALSE
+
+MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet/jaws_of_life/empty, 32)
diff --git a/maplestation_modules/icons/obj/cabinet.dmi b/maplestation_modules/icons/obj/cabinet.dmi
new file mode 100644
index 000000000000..e2801f3e7efc
Binary files /dev/null and b/maplestation_modules/icons/obj/cabinet.dmi differ