diff --git a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm
index 5b246e57db..ea821570bd 100644
--- a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm
+++ b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm
@@ -49,7 +49,6 @@
/area/ruin/space/has_grav/deepstorage/crusher)
"an" = (
/obj/machinery/conveyor{
- dir = 2;
id = "bunkerrecycle"
},
/turf/open/floor/plating,
@@ -142,7 +141,6 @@
icon_state = "0-8"
},
/obj/machinery/power/apc{
- dir = 2;
name = "Recycling APC";
pixel_y = -23
},
@@ -694,7 +692,6 @@
icon_state = "0-8"
},
/obj/machinery/power/apc{
- dir = 2;
name = "Kitchen APC";
pixel_y = -23
},
@@ -1762,7 +1759,6 @@
},
/obj/structure/cable/yellow,
/obj/machinery/power/apc{
- dir = 2;
name = "Main Area APC";
pixel_y = -23
},
@@ -2682,6 +2678,7 @@
/area/ruin/space/has_grav/deepstorage)
"fU" = (
/obj/machinery/camera{
+ c_tag = "Deep Storage - Entry";
network = list("bunker1")
},
/obj/structure/sign/warning/securearea{
diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm
index 491f9f8b75..c955c942c9 100644
--- a/_maps/map_files/BoxStation/BoxStation.dmm
+++ b/_maps/map_files/BoxStation/BoxStation.dmm
@@ -463,8 +463,8 @@
/turf/closed/wall,
/area/security/execution/transfer)
"abd" = (
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
- dir = 1
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
},
/turf/closed/wall,
/area/security/execution/transfer)
@@ -4655,7 +4655,7 @@
pixel_x = -32
},
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"aiQ" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
@@ -9444,6 +9444,10 @@
/area/maintenance/port/fore)
"atK" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = -24
+ },
/turf/open/floor/plating,
/area/commons/vacant_room/office/b)
"atL" = (
@@ -15212,7 +15216,7 @@
/obj/structure/plasticflaps/opaque,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aJL" = (
/obj/machinery/navbeacon{
codes_txt = "delivery;dir=2";
@@ -15437,10 +15441,12 @@
/obj/item/radio/intercom{
pixel_y = 25
},
-/obj/machinery/camera,
/obj/structure/chair/comfy/brown{
dir = 4
},
+/obj/machinery/camera{
+ c_tag = "Bar North"
+ },
/turf/open/floor/wood,
/area/service/bar)
"aKs" = (
@@ -15485,7 +15491,7 @@
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aKD" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
@@ -15589,7 +15595,7 @@
"aKT" = (
/obj/structure/closet/secure_closet/freezer/meat,
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aKU" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/turf/open/floor/plasteel,
@@ -15604,7 +15610,7 @@
dir = 8
},
/turf/open/floor/plasteel,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aKW" = (
/obj/machinery/light_switch{
pixel_y = 28
@@ -16056,13 +16062,13 @@
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aMl" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 8
},
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aMm" = (
/obj/machinery/firealarm{
pixel_y = 24
@@ -16167,7 +16173,7 @@
"aMD" = (
/obj/machinery/icecream_vat,
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aME" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -16179,7 +16185,7 @@
/area/service/hydroponics)
"aMF" = (
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aMG" = (
/obj/structure/closet/crate/hydroponics,
/obj/item/shovel/spade,
@@ -16470,7 +16476,7 @@
name = "Pete"
},
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aNL" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall,
@@ -16481,7 +16487,7 @@
dir = 8
},
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aNN" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/public/glass{
@@ -16502,7 +16508,7 @@
},
/obj/machinery/vending/wardrobe/chef_wardrobe,
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aNP" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/wood,
@@ -16873,7 +16879,7 @@
"aOI" = (
/obj/structure/kitchenspike,
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aOJ" = (
/obj/structure/chair/comfy/brown{
dir = 8
@@ -16895,14 +16901,18 @@
dir = 8
},
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aON" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 8
},
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = -24
+ },
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aOO" = (
/obj/machinery/door/airlock{
name = "Bar Storage";
@@ -16939,7 +16949,7 @@
"aOT" = (
/obj/machinery/gibber,
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aOU" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 8
@@ -21951,6 +21961,7 @@
/obj/structure/table,
/obj/item/aiModule/supplied/quarantine,
/obj/machinery/camera/motion{
+ c_tag = "AI Upload Chamber - West";
dir = 4;
network = list("aiupload")
},
@@ -21970,6 +21981,7 @@
pixel_x = 32
},
/obj/machinery/camera/motion{
+ c_tag = "AI Upload Chamber - East";
dir = 8;
network = list("aiupload")
},
@@ -22904,6 +22916,10 @@
dir = 9
},
/obj/structure/closet/crate,
+/obj/machinery/light_switch{
+ pixel_x = 7;
+ pixel_y = -26
+ },
/turf/open/floor/plasteel,
/area/cargo/warehouse)
"beE" = (
@@ -23086,9 +23102,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"beY" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 4
- },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/dark,
/area/medical/morgue)
"beZ" = (
@@ -23285,13 +23299,18 @@
/turf/closed/wall,
/area/medical/chemistry)
"bfG" = (
-/obj/effect/spawner/structure/window,
-/turf/open/floor/plating,
-/area/medical/medbay/lobby)
+/obj/machinery/cryopod{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/carpet,
+/area/commons/cryopod)
"bfH" = (
/obj/structure/sign/departments/medbay/alt,
/turf/closed/wall,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"bfI" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 4
@@ -23423,8 +23442,12 @@
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
"bgc" = (
-/turf/closed/wall/r_wall,
-/area/science/lab)
+/obj/machinery/camera{
+ c_tag = "Theatre - Stage";
+ dir = 8
+ },
+/turf/open/floor/carpet,
+/area/service/theater)
"bgd" = (
/obj/machinery/airalarm{
dir = 1;
@@ -23692,7 +23715,7 @@
dir = 8
},
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"bgX" = (
/obj/structure/table/wood,
/obj/machinery/airalarm{
@@ -23759,7 +23782,7 @@
"bhe" = (
/obj/structure/chair,
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"bhg" = (
/obj/effect/turf_decal/tile/blue,
/obj/effect/turf_decal/tile/blue{
@@ -23833,9 +23856,6 @@
/turf/open/floor/plasteel,
/area/security/checkpoint/medical)
"bhm" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 4
- },
/obj/machinery/power/apc{
areastring = "/area/medical/morgue";
dir = 1;
@@ -24362,7 +24382,7 @@
dir = 1
},
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"biu" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/white,
@@ -24434,9 +24454,12 @@
/turf/open/floor/plasteel/dark,
/area/medical/paramedic)
"biC" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/closed/wall,
-/area/service/kitchen/coldroom)
+/obj/machinery/light_switch{
+ pixel_x = 7;
+ pixel_y = -26
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/commons/toilet)
"biD" = (
/obj/machinery/portable_atmospherics/canister/air,
/turf/open/floor/plating,
@@ -24998,14 +25021,14 @@
dir = 8
},
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"bjU" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 6
},
/obj/effect/turf_decal/tile/blue,
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"bjV" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -25015,7 +25038,7 @@
dir = 8
},
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"bjX" = (
/obj/structure/table,
/obj/machinery/recharger{
@@ -25559,7 +25582,7 @@
dir = 4
},
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"bll" = (
/obj/structure/table/reinforced,
/obj/item/folder/white,
@@ -26176,7 +26199,7 @@
pixel_x = -24
},
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"bmK" = (
/obj/structure/table/reinforced,
/turf/open/floor/plasteel/white,
@@ -29787,7 +29810,7 @@
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"bvl" = (
/obj/machinery/door/airlock/medical/glass{
name = "Surgery Observation"
@@ -44867,7 +44890,7 @@
dir = 8
},
/turf/open/floor/plasteel/dark,
-/area/command)
+/area/command/heads_quarters/ce)
"cgQ" = (
/obj/machinery/camera{
c_tag = "Engineering East";
@@ -52491,6 +52514,9 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 6
},
+/obj/machinery/light_switch{
+ pixel_y = 24
+ },
/turf/open/floor/plasteel/freezer,
/area/commons/toilet/locker)
"ddI" = (
@@ -53335,7 +53361,7 @@
},
/obj/machinery/camera{
c_tag = "Prison Forestry";
- dir = 8;
+ dir = 4;
network = list("ss13","prison")
},
/turf/open/floor/plasteel,
@@ -53652,9 +53678,12 @@
/turf/open/floor/carpet,
/area/commons/dorms)
"eRr" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/obj/machinery/light_switch{
+ pixel_x = -10;
+ pixel_y = 26
+ },
+/turf/open/floor/plasteel/dark,
+/area/service/chapel/main)
"eRz" = (
/obj/structure/lattice,
/obj/structure/grille,
@@ -53962,6 +53991,10 @@
"fgl" = (
/obj/structure/closet/crate/bin,
/obj/item/coin/silver,
+/obj/machinery/airalarm{
+ dir = 8;
+ pixel_x = 23
+ },
/turf/open/floor/carpet/arcade,
/area/commons/arcade)
"fgy" = (
@@ -54222,6 +54255,10 @@
dir = 8;
pixel_x = 24
},
+/obj/machinery/light_switch{
+ pixel_x = -7;
+ pixel_y = -24
+ },
/turf/open/floor/plasteel,
/area/security/range)
"fsQ" = (
@@ -55117,6 +55154,10 @@
},
/obj/effect/turf_decal/tile/red,
/obj/effect/landmark/start/clown,
+/obj/machinery/camera{
+ c_tag = "Theatre - Backstage";
+ dir = 1
+ },
/turf/open/floor/plasteel,
/area/service/theater)
"gLz" = (
@@ -55870,7 +55911,6 @@
req_access_txt = "6"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/dark,
/area/medical/morgue)
"ibK" = (
@@ -55916,8 +55956,11 @@
/turf/open/floor/plasteel/freezer,
/area/security/prison/cells)
"ihR" = (
-/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/obj/machinery/airalarm{
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel,
+/area/cargo/warehouse)
"ihS" = (
/obj/effect/landmark/event_spawn,
/obj/effect/turf_decal/tile/blue{
@@ -56272,7 +56315,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/reagent_dispensers/cooking_oil,
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"iPX" = (
/obj/structure/table,
/obj/machinery/reagentgrinder{
@@ -56475,6 +56518,10 @@
pixel_y = -28
},
/obj/effect/landmark/start/paramedic,
+/obj/machinery/light_switch{
+ pixel_x = -26;
+ pixel_y = -26
+ },
/turf/open/floor/plasteel/dark,
/area/medical/paramedic)
"jex" = (
@@ -56531,9 +56578,18 @@
/turf/closed/wall,
/area/engineering/main)
"jiT" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/light_switch{
+ pixel_x = -9;
+ pixel_y = 26
+ },
+/turf/open/floor/plasteel,
+/area/cargo/sorting)
"jkx" = (
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/machinery/computer/slot_machine,
@@ -58875,6 +58931,9 @@
/obj/structure/sign/poster/contraband/fun_police{
pixel_x = 32
},
+/obj/machinery/camera{
+ c_tag = "Bar Arcade"
+ },
/turf/open/floor/carpet/arcade,
/area/commons/arcade)
"meb" = (
@@ -60602,10 +60661,12 @@
/turf/open/floor/mineral/titanium/blue,
/area/commons/dorms)
"oJV" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/cable{
icon_state = "2-4"
},
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
/turf/open/floor/plasteel/dark,
/area/medical/morgue)
"oKh" = (
@@ -61649,9 +61710,26 @@
},
/area/maintenance/starboard/aft)
"qnC" = (
-/obj/machinery/door/firedoor,
-/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/power/apc{
+ areastring = "/area/maintenance/department/medical/morgue";
+ dir = 1;
+ name = "Morgue Maintenance APC";
+ pixel_y = 23
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating,
+/area/maintenance/department/medical/morgue)
"qoT" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9
@@ -62015,7 +62093,7 @@
icon_state = "plant-22"
},
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"qUh" = (
/obj/machinery/door/airlock/public/glass{
name = "Chapel Office";
@@ -63054,6 +63132,11 @@
pixel_x = 2;
pixel_y = 2
},
+/obj/machinery/camera{
+ c_tag = "Service Hallway";
+ dir = 1;
+ name = "hallway camera"
+ },
/turf/open/floor/plasteel,
/area/hallway/secondary/service)
"syJ" = (
@@ -63871,7 +63954,7 @@
dir = 1
},
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"tCs" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
@@ -64041,11 +64124,14 @@
"tMl" = (
/obj/effect/turf_decal/loading_area,
/turf/open/floor/plasteel/showroomfloor,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"tNl" = (
/obj/structure/cable{
icon_state = "1-2"
},
+/obj/machinery/atmospherics/components/unary/vent_pump/on{
+ dir = 4
+ },
/turf/open/floor/plasteel/dark,
/area/medical/morgue)
"tNF" = (
@@ -64239,6 +64325,10 @@
/obj/structure/cable{
icon_state = "0-4"
},
+/obj/machinery/light_switch{
+ pixel_x = -26;
+ pixel_y = 26
+ },
/turf/open/floor/wood,
/area/maintenance/bar)
"ucq" = (
@@ -64556,13 +64646,6 @@
/obj/structure/grille,
/turf/open/floor/plating,
/area/maintenance/port/fore)
-"uBr" = (
-/obj/effect/turf_decal/tile/blue,
-/obj/effect/turf_decal/tile/blue{
- dir = 8
- },
-/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
"uCn" = (
/obj/structure/table/reinforced,
/obj/item/paper_bin,
@@ -64731,6 +64814,10 @@
/turf/open/floor/plasteel/dark,
/area/security/prison/upper)
"uOd" = (
+/obj/machinery/light_switch{
+ pixel_x = 7;
+ pixel_y = -26
+ },
/turf/open/floor/plasteel/white/side{
dir = 4
},
@@ -65612,7 +65699,7 @@
dir = 8
},
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"wcB" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10
@@ -67022,6 +67109,10 @@
/area/security/execution/transfer)
"yfX" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on,
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = -24
+ },
/turf/open/floor/carpet/arcade,
/area/commons/arcade)
"ygb" = (
@@ -87984,7 +88075,7 @@ wUr
mzB
uSc
wHm
-qTG
+bgc
aJe
aKw
aLE
@@ -88768,7 +88859,7 @@ aTH
aPK
aWz
aWC
-baS
+ihR
baS
baS
bcR
@@ -89805,7 +89896,7 @@ aZH
aZK
bhZ
aZK
-cNM
+jiT
bfQ
bnG
bnz
@@ -97234,7 +97325,7 @@ atf
dgz
tqg
ujF
-ujF
+bfG
ujF
dgz
aaa
@@ -99550,7 +99641,7 @@ aDM
aGx
aDM
aDM
-aDM
+biC
aAh
aMm
aJq
@@ -102397,7 +102488,7 @@ bet
bfH
aiP
wbE
-ihR
+bhh
wbE
bmJ
bof
@@ -102651,12 +102742,12 @@ bby
aYV
aYV
bet
-bfG
+rUe
bhe
bit
bjS
tCd
-eRr
+bli
boe
bli
bpN
@@ -102908,9 +102999,9 @@ aJC
aYV
aYV
bet
-bfG
+rUe
bhe
-ihR
+bhh
bjU
blk
blk
@@ -103165,9 +103256,9 @@ aJC
bcr
aYV
bet
-bfG
+rUe
bhe
-ihR
+bhh
bjV
blj
bmK
@@ -103423,8 +103514,8 @@ aYV
bdo
beu
bvk
-jiT
-jiT
+biu
+biu
bjT
blm
bmL
@@ -103679,9 +103770,9 @@ aJC
aYV
aYV
bet
-qnC
-ihR
-ihR
+bfJ
+bhh
+bhh
bgQ
bll
bhh
@@ -103938,8 +104029,8 @@ aYV
bet
bfH
qTV
-ihR
-uBr
+bhh
+bhg
bln
bmM
boj
@@ -104948,10 +105039,10 @@ alP
aGL
aIe
bhr
-bhr
-bhr
-bhr
-bhr
+aJI
+aJI
+aJI
+aJI
aJI
aRC
aSK
@@ -105204,7 +105295,7 @@ aaa
alP
aGN
aIh
-bhr
+aJI
aKT
aMD
aNM
@@ -105718,7 +105809,7 @@ aaa
alP
aGL
aHY
-biC
+aQj
iNn
aMk
aNK
@@ -106232,9 +106323,9 @@ vpY
alP
aGJ
avI
-bhr
-bhr
-bhr
+aJI
+aJI
+aJI
aNO
aOT
aJI
@@ -106491,9 +106582,9 @@ aGJ
avI
aJL
aKX
-bhr
-bhr
-bhr
+aJI
+aJI
+aJI
aJI
aRH
aVz
@@ -107282,7 +107373,7 @@ tIE
dnW
jdE
nyi
-cTO
+qnC
bmZ
bpG
bqZ
@@ -113431,7 +113522,7 @@ aFw
aFw
aFw
aFw
-aFz
+eRr
aPk
aQu
aPk
@@ -115509,7 +115600,7 @@ pKV
pKV
pKV
bpp
-pKV
+bqe
brr
bsE
bvK
@@ -115766,7 +115857,7 @@ biY
bmd
bnr
bpr
-bgc
+bqe
btj
buu
bvM
@@ -116022,8 +116113,8 @@ bhG
blO
bmc
bnq
-bgc
-bgc
+bqe
+bqe
bru
bsF
btY
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index bb0af44bb4..2de7bc4e1e 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -46157,8 +46157,7 @@
},
/obj/effect/turf_decal/delivery,
/obj/machinery/atmospherics/components/binary/valve/digital{
- dir = 8;
- icon_state = "dvalve_map-2"
+ dir = 8
},
/turf/open/floor/plasteel,
/area/science/xenobiology)
@@ -50090,6 +50089,9 @@
/obj/effect/turf_decal/tile/purple{
dir = 4
},
+/obj/machinery/airalarm{
+ pixel_y = 23
+ },
/turf/open/floor/plasteel/white,
/area/science/misc_lab)
"djz" = (
@@ -50940,6 +50942,9 @@
/obj/effect/turf_decal/tile/purple{
dir = 8
},
+/obj/machinery/light_switch{
+ pixel_x = -26
+ },
/turf/open/floor/plasteel/white,
/area/science/misc_lab)
"dln" = (
@@ -53782,6 +53787,9 @@
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/tile/blue,
+/obj/item/wallframe/light_fixture/small{
+ pixel_y = -15
+ },
/turf/open/floor/plasteel,
/area/maintenance/department/medical)
"dss" = (
@@ -56700,6 +56708,10 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/delivery,
+/obj/machinery/light_switch{
+ pixel_x = -26;
+ pixel_y = -26
+ },
/turf/open/floor/plasteel,
/area/hallway/secondary/construction)
"dyP" = (
@@ -60428,6 +60440,10 @@
/obj/item/clothing/gloves/color/latex/nitrile,
/obj/item/clothing/suit/apron/surgical,
/obj/item/clothing/mask/breath/medical,
+/obj/item/wallframe/light_fixture/small{
+ dir = 4;
+ pixel_x = 14
+ },
/turf/open/floor/plating,
/area/maintenance/department/medical/morgue)
"dGA" = (
@@ -77552,8 +77568,7 @@
/area/engineering/main)
"grf" = (
/obj/machinery/atmospherics/pipe/simple/orange/hidden{
- dir = 5;
- icon_state = "pipe11-2"
+ dir = 5
},
/turf/closed/wall/r_wall,
/area/science/xenobiology)
@@ -77889,8 +77904,7 @@
dir = 8
},
/obj/machinery/atmospherics/components/unary/outlet_injector/on{
- dir = 4;
- icon_state = "inje_map-2"
+ dir = 4
},
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
@@ -78953,7 +78967,6 @@
/turf/open/floor/plasteel,
/area/commons/dorms)
"gUc" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/bodycontainer/crematorium{
dir = 4;
id = "cremawheat"
@@ -86276,7 +86289,7 @@
"jjN" = (
/obj/structure/table/reinforced,
/obj/machinery/camera{
- c_tag = "Science - Experimentation Lab";
+ c_tag = "Science - Circuitry Lab";
name = "science camera";
network = list("ss13","rd")
},
@@ -91351,7 +91364,7 @@
pixel_y = 32
},
/obj/machinery/camera{
- c_tag = "Library - Aft";
+ c_tag = "Library - Port";
name = "library camera"
},
/turf/open/floor/wood,
@@ -101092,6 +101105,19 @@
},
/turf/open/floor/plasteel,
/area/engineering/main)
+"orP" = (
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/maintenance/aft)
"orZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
@@ -113658,6 +113684,20 @@
},
/turf/open/floor/plasteel,
/area/engineering/break_room)
+"sOn" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/light_switch{
+ pixel_x = -26;
+ pixel_y = 8
+ },
+/turf/open/floor/plasteel,
+/area/security/brig)
"sOo" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
@@ -114372,7 +114412,7 @@
dir = 4
},
/obj/machinery/camera{
- c_tag = "Library - Aft";
+ c_tag = "Library - Beam";
name = "library camera"
},
/turf/open/floor/plasteel/grimy,
@@ -117067,6 +117107,10 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
+/obj/machinery/camera{
+ c_tag = "Engineering MiniSat Access";
+ dir = 1
+ },
/turf/open/floor/plasteel/dark,
/area/engineering/transit_tube)
"tVn" = (
@@ -118939,6 +118983,9 @@
/obj/effect/turf_decal/tile/red{
dir = 4
},
+/obj/machinery/light_switch{
+ pixel_y = 24
+ },
/turf/open/floor/plasteel,
/area/security/office)
"uBU" = (
@@ -119406,6 +119453,10 @@
/obj/effect/turf_decal/stripes/line{
dir = 1
},
+/obj/machinery/light_switch{
+ pixel_x = 26;
+ pixel_y = 26
+ },
/turf/open/floor/plasteel,
/area/ai_monitored/command/storage/eva)
"uNf" = (
@@ -126517,7 +126568,7 @@
dir = 4
},
/obj/machinery/camera{
- c_tag = "Science - Lab Access";
+ c_tag = "Science - Circuitry Lab Starboard";
dir = 8;
name = "science camera";
network = list("ss13","rd")
@@ -169461,7 +169512,7 @@ dGk
dHF
dIW
dCy
-dKY
+orP
dMx
dNS
aaa
@@ -179929,7 +179980,7 @@ byJ
bAl
bCe
bEc
-bmh
+sOn
bHA
bJw
bLn
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index d9b14bab19..5658a87fc2 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -4143,6 +4143,10 @@
/obj/effect/turf_decal/stripes/line{
dir = 8
},
+/obj/machinery/light_switch{
+ pixel_x = -10;
+ pixel_y = -26
+ },
/turf/open/floor/plasteel,
/area/security/range)
"amt" = (
@@ -5971,6 +5975,10 @@
pixel_x = -3;
pixel_y = 5
},
+/obj/machinery/light_switch{
+ pixel_x = 16;
+ pixel_y = -26
+ },
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
"ast" = (
@@ -8519,6 +8527,9 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
+/obj/machinery/light/small{
+ dir = 1
+ },
/turf/open/floor/plating{
icon_state = "platingdmg2"
},
@@ -24204,6 +24215,11 @@
},
/obj/structure/table,
/obj/item/kitchen/rollingpin,
+/obj/machinery/camera{
+ c_tag = "Service Hallway";
+ dir = 4;
+ name = "hallway camera"
+ },
/turf/open/floor/plasteel,
/area/hallway/secondary/service)
"bYp" = (
@@ -33174,6 +33190,10 @@
icon_state = "1-8"
},
/obj/effect/landmark/start/medical_doctor,
+/obj/machinery/camera{
+ c_tag = "Patient Room";
+ dir = 10
+ },
/turf/open/floor/plasteel/white,
/area/medical/patients_rooms/room_a)
"cum" = (
@@ -33364,6 +33384,10 @@
/obj/effect/turf_decal/tile/blue{
dir = 4
},
+/obj/machinery/light_switch{
+ pixel_x = -25;
+ pixel_y = 26
+ },
/turf/open/floor/plasteel,
/area/medical/paramedic)
"cuy" = (
@@ -35364,7 +35388,7 @@
dir = 10
},
/obj/machinery/camera{
- c_tag = "Genetics Lab";
+ c_tag = "Genetics Lab Hall";
dir = 6;
network = list("ss13","medbay")
},
@@ -52788,7 +52812,7 @@
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/camera{
- c_tag = "Atmospherics - Entrance"
+ c_tag = "Atmospherics - Bow"
},
/turf/open/floor/plasteel,
/area/engineering/atmos)
@@ -54751,7 +54775,7 @@
"gXt" = (
/obj/machinery/cryopod,
/obj/machinery/camera{
- c_tag = "Fitness Room - Fore"
+ c_tag = "Cryogenics"
},
/turf/open/floor/plasteel/dark,
/area/commons/cryopod)
@@ -56227,6 +56251,10 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
+/obj/machinery/light_switch{
+ pixel_x = 8;
+ pixel_y = 30
+ },
/turf/open/floor/plasteel/dark,
/area/command/teleporter)
"hNB" = (
@@ -56376,6 +56404,16 @@
},
/turf/open/floor/engine/n2,
/area/engineering/atmos)
+"hRD" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/machinery/light_switch{
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel,
+/area/security/brig)
"hSe" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10
@@ -56908,6 +56946,9 @@
/area/solars/starboard/aft)
"ihO" = (
/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/light/small{
+ dir = 4
+ },
/turf/open/floor/plating,
/area/maintenance/prison)
"iiu" = (
@@ -59850,6 +59891,16 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/cargo/storage)
+"jPq" = (
+/obj/structure/urinal{
+ pixel_y = 29
+ },
+/obj/machinery/camera{
+ c_tag = "Auxiliary Restrooms";
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/commons/toilet/auxiliary)
"jPu" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
@@ -64388,6 +64439,10 @@
"moT" = (
/obj/structure/table,
/obj/item/camera,
+/obj/machinery/camera{
+ c_tag = "Art Storage";
+ dir = 1
+ },
/turf/open/floor/plasteel,
/area/commons/storage/art)
"moW" = (
@@ -67269,6 +67324,9 @@
/obj/effect/turf_decal/bot{
dir = 1
},
+/obj/machinery/light_switch{
+ pixel_x = -23
+ },
/turf/open/floor/plasteel{
dir = 1
},
@@ -70711,6 +70769,10 @@
pixel_x = -28
},
/obj/machinery/light/small,
+/obj/machinery/light_switch{
+ pixel_x = -10;
+ pixel_y = -26
+ },
/turf/open/floor/plasteel/freezer,
/area/commons/fitness/recreation)
"pRd" = (
@@ -83941,6 +84003,9 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
+/obj/machinery/light_switch{
+ pixel_x = -24
+ },
/turf/open/floor/plasteel,
/area/security/office)
"xnt" = (
@@ -84591,6 +84656,9 @@
/turf/open/floor/wood,
/area/service/lawoffice)
"xEM" = (
+/obj/machinery/light_switch{
+ pixel_x = -20
+ },
/turf/open/floor/plating,
/area/commons/toilet/auxiliary)
"xFb" = (
@@ -102517,7 +102585,7 @@ btZ
bvV
bxN
mei
-nzp
+jPq
xEM
mei
smm
@@ -110693,7 +110761,7 @@ afR
akx
anh
anh
-anh
+hRD
anh
alQ
anh
diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm
index 43cfcbebd0..b530cf0325 100644
--- a/_maps/map_files/OmegaStation/OmegaStation.dmm
+++ b/_maps/map_files/OmegaStation/OmegaStation.dmm
@@ -937,9 +937,6 @@
id = "engsm";
name = "Radiation Chamber Shutters"
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 10
- },
/turf/open/floor/plating,
/area/engineering/gravity_generator)
"abR" = (
@@ -1314,14 +1311,14 @@
/area/engineering/main)
"acA" = (
/obj/structure/cable/white,
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 4
- },
/obj/effect/spawner/structure/window/plasma/reinforced,
/obj/machinery/door/poddoor/shutters/radiation/preopen{
id = "engsm";
name = "Radiation Chamber Shutters"
},
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
/turf/open/floor/plating,
/area/engineering/gravity_generator)
"acB" = (
@@ -2545,6 +2542,10 @@
pixel_x = 24;
pixel_y = 24
},
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = -24
+ },
/turf/open/floor/plasteel,
/area/cargo/qm)
"aeQ" = (
@@ -6573,6 +6574,10 @@
/area/commons/toilet/restrooms)
"alX" = (
/obj/machinery/vending/wardrobe/law_wardrobe,
+/obj/machinery/camera{
+ c_tag = "Law Office";
+ dir = 8
+ },
/turf/open/floor/wood,
/area/service/lawoffice)
"alY" = (
@@ -7009,14 +7014,10 @@
/turf/open/floor/wood,
/area/service/lawoffice)
"amS" = (
-/obj/machinery/camera{
- c_tag = "Law Office";
- dir = 8
- },
/obj/machinery/power/apc{
- areastring = "/area/commons/toilet/restrooms";
+ areastring = "/area/service/lawoffice";
dir = 4;
- name = "Restrooms APC";
+ name = "Law Office APC";
pixel_x = 24
},
/obj/structure/cable/white{
@@ -7345,6 +7346,10 @@
name = "Chief Engineer RC";
pixel_x = 32
},
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = -17
+ },
/turf/open/floor/plasteel,
/area/command/heads_quarters/ce)
"anB" = (
@@ -8434,7 +8439,7 @@
pixel_y = 32
},
/obj/machinery/atmospherics/components/unary/vent_pump/on,
-/obj/machinery/atmospherics/pipe/simple/orange/visible{
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
dir = 4
},
/turf/open/floor/plasteel/dark,
@@ -8844,10 +8849,12 @@
/turf/open/floor/plasteel,
/area/service/bar/atrium)
"apX" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/obj/effect/turf_decal/delivery,
/obj/effect/turf_decal/stripes/box,
/obj/machinery/rnd/production/techfab/department/service,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
/turf/open/floor/plasteel,
/area/service/bar/atrium)
"apY" = (
@@ -12774,6 +12781,10 @@
pixel_x = -26;
pixel_y = -26
},
+/obj/machinery/camera{
+ c_tag = "Bathrooms";
+ dir = 1
+ },
/turf/open/floor/plasteel/freezer,
/area/commons/toilet/restrooms)
"axg" = (
@@ -13508,6 +13519,10 @@
"ayE" = (
/obj/structure/table/wood,
/obj/item/instrument/violin,
+/obj/machinery/camera{
+ c_tag = "Central Diner 2";
+ dir = 4
+ },
/turf/open/floor/plasteel/dark,
/area/service/theater)
"ayF" = (
@@ -13540,10 +13555,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/machinery/camera{
- c_tag = "Central Diner 2";
- dir = 4
- },
/turf/open/floor/plasteel/dark/side{
dir = 8
},
@@ -15209,6 +15220,10 @@
},
/area/service/theater)
"aBW" = (
+/obj/machinery/light_switch{
+ pixel_x = 10;
+ pixel_y = 26
+ },
/turf/open/floor/wood{
icon_state = "wood-broken7"
},
@@ -16021,7 +16036,7 @@
"aDv" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/closed/wall/r_wall,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aDw" = (
/obj/machinery/firealarm{
dir = 4;
@@ -16037,7 +16052,7 @@
/turf/open/floor/plasteel/white/corner{
dir = 1
},
-/area/engineering/break_room)
+/area/engineering/lobby)
"aDx" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 4
@@ -16051,7 +16066,7 @@
/turf/open/floor/plasteel/dark/corner{
dir = 1
},
-/area/engineering/break_room)
+/area/engineering/lobby)
"aDy" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/effect/turf_decal/tile/yellow{
@@ -16060,7 +16075,7 @@
/turf/open/floor/plasteel/dark/corner{
dir = 1
},
-/area/engineering/break_room)
+/area/engineering/lobby)
"aDz" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 8
@@ -16071,7 +16086,7 @@
/turf/open/floor/plasteel/dark/corner{
dir = 1
},
-/area/engineering/break_room)
+/area/engineering/lobby)
"aDA" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 8
@@ -16082,7 +16097,7 @@
/turf/open/floor/plasteel/dark/corner{
dir = 1
},
-/area/engineering/break_room)
+/area/engineering/lobby)
"aDB" = (
/obj/item/kirbyplants{
icon_state = "plant-21"
@@ -16091,7 +16106,7 @@
dir = 4
},
/turf/open/floor/plasteel/checker,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aDC" = (
/obj/structure/table/reinforced,
/obj/item/airlock_painter,
@@ -16596,7 +16611,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/sign/warning/nosmoking,
/turf/closed/wall/r_wall,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aEB" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 4
@@ -16608,7 +16623,7 @@
/turf/open/floor/plasteel/white/corner{
dir = 1
},
-/area/engineering/break_room)
+/area/engineering/lobby)
"aEC" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 9
@@ -16617,26 +16632,26 @@
icon_state = "1-2"
},
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aED" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 8
},
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aEE" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aEF" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 1
},
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aEG" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -16645,7 +16660,7 @@
dir = 4
},
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aEH" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -16655,7 +16670,7 @@
name = "Engineering Foyer"
},
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aEI" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -17202,7 +17217,7 @@
/turf/open/floor/plasteel/white/corner{
dir = 1
},
-/area/engineering/break_room)
+/area/engineering/lobby)
"aFD" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 10
@@ -17217,7 +17232,7 @@
icon_state = "2-4"
},
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aFE" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/cable/white{
@@ -17231,7 +17246,7 @@
icon_state = "2-4"
},
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aFF" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 8
@@ -17241,7 +17256,7 @@
},
/obj/effect/landmark/event_spawn,
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aFG" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -17251,7 +17266,7 @@
icon_state = "4-8"
},
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aFH" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -17261,7 +17276,7 @@
},
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aFI" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -17274,7 +17289,7 @@
name = "Engineering Foyer"
},
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aFJ" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -17615,7 +17630,7 @@
/turf/open/floor/plasteel/white/corner{
dir = 1
},
-/area/engineering/break_room)
+/area/engineering/lobby)
"aGq" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 4
@@ -17627,7 +17642,7 @@
dir = 8
},
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aGr" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/light,
@@ -17646,28 +17661,28 @@
dir = 8
},
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aGs" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/tile/yellow{
dir = 8
},
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aGt" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 1
},
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aGu" = (
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/yellow,
/turf/open/floor/plasteel,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aGv" = (
/obj/structure/table/reinforced,
/obj/item/stock_parts/cell/high,
@@ -20008,7 +20023,6 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
},
@@ -21046,6 +21060,10 @@
dir = 1;
pixel_y = 1
},
+/obj/machinery/camera{
+ c_tag = "Hydroponics South";
+ dir = 9
+ },
/turf/open/floor/grass,
/area/service/hydroponics)
"aMt" = (
@@ -21434,7 +21452,7 @@
icon_state = "1-2"
},
/obj/machinery/camera{
- c_tag = "Atmospherics South West";
+ c_tag = "Central Hallway West 2";
dir = 4
},
/turf/open/floor/plasteel{
@@ -21580,10 +21598,6 @@
"aNu" = (
/obj/structure/closet/crate/bin,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/machinery/camera{
- c_tag = "Hydroponics South";
- dir = 8
- },
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel/dark/side,
/area/service/hydroponics)
@@ -23309,7 +23323,7 @@
pixel_y = -32
},
/obj/machinery/camera{
- c_tag = "Starboard Primary Hallway 3";
+ c_tag = "Starboard Primary Hallway";
dir = 1
},
/obj/effect/turf_decal/bot,
@@ -23475,18 +23489,14 @@
/area/engineering/main)
"aQU" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
- },
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/machinery/door/airlock/maintenance_hatch{
- name = "Maintenance Hatch";
- req_access_txt = "12"
+/obj/machinery/light/small{
+ dir = 4
},
-/turf/open/floor/plasteel,
-/area/maintenance/port/aft)
+/turf/open/floor/plating,
+/area/maintenance/starboard/fore)
"aQV" = (
/obj/machinery/computer/arcade{
dir = 4
@@ -24002,6 +24012,10 @@
dir = 1
},
/obj/machinery/holopad,
+/obj/machinery/light_switch{
+ pixel_x = 12;
+ pixel_y = 32
+ },
/turf/open/floor/plasteel/white,
/area/medical/virology)
"aSf" = (
@@ -24087,6 +24101,10 @@
/area/medical/chemistry)
"aSo" = (
/obj/effect/landmark/event_spawn,
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = -24
+ },
/turf/open/floor/plasteel/dark,
/area/medical/morgue)
"aSp" = (
@@ -24615,22 +24633,22 @@
/obj/structure/table/wood,
/obj/item/flashlight/lamp,
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aTz" = (
/obj/structure/chair/comfy/brown,
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aTA" = (
/obj/item/kirbyplants{
icon_state = "plant-18"
},
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aTB" = (
/obj/structure/chair/comfy/brown,
/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aTC" = (
/obj/structure/table/wood,
/obj/item/storage/fancy/donut_box,
@@ -24638,7 +24656,7 @@
c_tag = "Arrivals Lounge"
},
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aTD" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel,
@@ -24928,7 +24946,9 @@
/turf/open/floor/wood,
/area/service/library)
"aUh" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
/turf/closed/wall/r_wall,
/area/medical/virology)
"aUi" = (
@@ -25071,16 +25091,16 @@
dir = 4
},
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aUy" = (
/turf/open/floor/carpet,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aUz" = (
/obj/structure/chair/comfy/brown{
dir = 8
},
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aUA" = (
/obj/machinery/rnd/destructive_analyzer,
/obj/effect/turf_decal/stripes/line{
@@ -25498,17 +25518,17 @@
dir = 8
},
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aVq" = (
/obj/machinery/holopad,
/turf/open/floor/carpet,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aVr" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
},
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aVt" = (
/obj/machinery/computer/rdconsole/core{
dir = 4
@@ -26261,7 +26281,7 @@
/obj/structure/table/wood,
/obj/item/reagent_containers/food/snacks/chips,
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aWQ" = (
/obj/structure/chair/comfy/brown{
buildstackamount = 0;
@@ -26273,7 +26293,7 @@
pixel_y = -22
},
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aWR" = (
/obj/item/kirbyplants{
icon_state = "plant-21";
@@ -26285,7 +26305,7 @@
pixel_y = -32
},
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aWS" = (
/obj/structure/chair/comfy/brown{
buildstackamount = 0;
@@ -26296,13 +26316,13 @@
pixel_y = -24
},
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aWT" = (
/obj/structure/table/wood,
/obj/item/folder,
/obj/item/pen,
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aWU" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -26876,20 +26896,12 @@
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
"aYe" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4
+/obj/machinery/airalarm{
+ dir = 8;
+ pixel_x = 24
},
-/obj/machinery/power/apc{
- areastring = "/area/commons/lounge";
- dir = 1;
- name = "Lounge APC";
- pixel_y = 23
- },
-/obj/structure/cable/white{
- icon_state = "0-2"
- },
-/turf/open/floor/plasteel,
-/area/hallway/primary/aft)
+/turf/open/floor/plasteel/white/corner,
+/area/commons/dorms)
"aYf" = (
/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
/turf/open/floor/plasteel,
@@ -26991,7 +27003,7 @@
/area/science/research)
"aYp" = (
/obj/machinery/camera{
- c_tag = "Communications Relay";
+ c_tag = "Telecommunications Relay";
dir = 8;
network = list("ss13","tcomms")
},
@@ -30415,6 +30427,10 @@
},
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Toxins Lab";
+ network = list("ss13","rd")
+ },
/turf/open/floor/plasteel/dark/side{
dir = 1
},
@@ -33375,7 +33391,7 @@
icon_state = "1-2"
},
/obj/machinery/camera{
- c_tag = "Starboard Primary Hallway 2";
+ c_tag = "Starboard Primary Hallway 3";
dir = 8
},
/turf/open/floor/plasteel,
@@ -33433,7 +33449,7 @@
"blm" = (
/obj/structure/closet/emcloset,
/obj/machinery/camera{
- c_tag = "Starboard Primary Hallway"
+ c_tag = "Starboard Primary Hallway 1"
},
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel/dark/side{
@@ -35282,7 +35298,7 @@
"fgG" = (
/obj/machinery/status_display/ai,
/turf/closed/wall,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"fgZ" = (
/obj/structure/girder/reinforced,
/obj/effect/turf_decal/sand/plating,
@@ -35877,6 +35893,10 @@
/obj/effect/turf_decal/stripes/line{
dir = 9
},
+/obj/machinery/light_switch{
+ dir = 9;
+ pixel_x = -22
+ },
/turf/open/floor/plasteel/dark,
/area/command/gateway)
"hIu" = (
@@ -35924,9 +35944,6 @@
/obj/structure/cable/white{
icon_state = "0-8"
},
-/obj/structure/cable/white{
- icon_state = "1-8"
- },
/turf/open/floor/plasteel{
heat_capacity = 1e+006
},
@@ -36155,6 +36172,13 @@
/obj/item/toy/poolnoodle/red,
/turf/open/floor/wood,
/area/maintenance/starboard/aft)
+"iUa" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/closed/wall/r_wall,
+/area/engineering/gravity_generator)
"iUq" = (
/obj/machinery/status_display,
/turf/closed/wall,
@@ -36951,7 +36975,7 @@
/area/asteroid/nearstation)
"lIM" = (
/turf/closed/wall/rust,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"lMu" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -37333,10 +37357,6 @@
/obj/machinery/firealarm{
pixel_y = 24
},
-/obj/machinery/camera{
- c_tag = "Toxins Lab West";
- network = list("ss13","rd")
- },
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel/dark/side{
dir = 1
@@ -38475,6 +38495,9 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
+/obj/structure/cable/white{
+ icon_state = "2-8"
+ },
/turf/open/floor/plating,
/area/maintenance/starboard)
"sEq" = (
@@ -38484,7 +38507,7 @@
"sEG" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"sEJ" = (
/obj/structure/cable/white{
icon_state = "1-2"
@@ -38522,6 +38545,9 @@
name = "Technology Storage";
req_access_txt = "23"
},
+/obj/structure/cable/white{
+ icon_state = "1-2"
+ },
/turf/open/floor/plasteel/dark,
/area/engineering/storage/tech)
"sEQ" = (
@@ -38548,9 +38574,21 @@
pixel_x = -3;
pixel_y = -3
},
+/obj/machinery/power/apc{
+ areastring = "/area/engineering/storage/tech";
+ dir = 1;
+ name = "Tech Storage APC";
+ pixel_y = 23
+ },
+/obj/structure/cable/white{
+ icon_state = "0-4"
+ },
/turf/open/floor/plasteel/dark,
/area/engineering/storage/tech)
"sFo" = (
+/obj/structure/cable/white{
+ icon_state = "1-8"
+ },
/turf/open/floor/plasteel/dark/side{
dir = 9
},
@@ -38620,6 +38658,10 @@
pixel_x = -4;
pixel_y = -4
},
+/obj/machinery/camera{
+ c_tag = "Tech Storage";
+ dir = 4
+ },
/turf/open/floor/plasteel/dark,
/area/engineering/storage/tech)
"sFS" = (
@@ -38645,6 +38687,14 @@
/obj/item/electronics/apc,
/obj/item/electronics/airlock,
/obj/item/stock_parts/cell/high,
+/obj/machinery/airalarm{
+ dir = 8;
+ pixel_x = 24
+ },
+/obj/machinery/light_switch{
+ pixel_x = -6;
+ pixel_y = -24
+ },
/turf/open/floor/plasteel/dark,
/area/engineering/storage/tech)
"sFX" = (
@@ -39226,7 +39276,7 @@
/obj/effect/turf_decal/delivery,
/obj/effect/turf_decal/stripes/line,
/obj/machinery/camera{
- c_tag = "AI Chamber - Core";
+ c_tag = "AI Chamber - Core Fore";
name = "core camera";
network = list("rd")
},
@@ -39536,7 +39586,7 @@
dir = 10
},
/obj/machinery/camera{
- c_tag = "AI Chamber - Core";
+ c_tag = "AI Chamber - Core Aft";
name = "core camera";
network = list("rd")
},
@@ -40072,7 +40122,7 @@
"sNz" = (
/obj/item/beacon,
/turf/open/floor/carpet,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"sNA" = (
/obj/effect/turf_decal/stripes/line{
dir = 10
@@ -40640,7 +40690,7 @@
/area/hallway/secondary/entry)
"tWh" = (
/turf/closed/wall,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"tWQ" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -40860,7 +40910,7 @@
"uuU" = (
/obj/machinery/status_display,
/turf/closed/wall,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"uuX" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -41484,7 +41534,9 @@
/area/science/mixing)
"wQj" = (
/obj/effect/turf_decal/bot,
-/obj/machinery/atmospherics/components/unary/thermomachine/freezer,
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
+ dir = 1
+ },
/turf/open/floor/plasteel/dark,
/area/engineering/main)
"wRY" = (
@@ -41570,7 +41622,7 @@
dir = 4
},
/obj/machinery/camera{
- c_tag = "Security Checkpoint";
+ c_tag = "Science Foyer";
dir = 6
},
/turf/open/floor/plasteel,
@@ -41666,7 +41718,7 @@
"xwu" = (
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
-/area/engineering/break_room)
+/area/engineering/lobby)
"xxx" = (
/obj/structure/chair/stool/bar,
/obj/effect/turf_decal/tile/red{
@@ -70849,7 +70901,7 @@ amF
anw
anO
aop
-aGe
+iUa
aJl
aKu
aLI
@@ -76781,7 +76833,7 @@ aQW
aQW
sJI
aPO
-aQU
+aXv
aRV
aUb
aUu
@@ -79067,7 +79119,7 @@ jJn
bxJ
aDD
aBQ
-aDD
+aYe
aDF
aEN
awQ
@@ -83972,7 +84024,7 @@ aUy
aUy
aWS
lIM
-aYe
+ugK
hOc
byo
baK
@@ -87522,7 +87574,7 @@ bym
bdi
bdF
bxw
-bym
+aQU
afB
agu
ahj
diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm
index 4078c690d4..bad187e5ed 100644
--- a/_maps/map_files/PubbyStation/PubbyStation.dmm
+++ b/_maps/map_files/PubbyStation/PubbyStation.dmm
@@ -5229,6 +5229,10 @@
/obj/structure/cable{
icon_state = "2-8"
},
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = 24
+ },
/turf/open/floor/plasteel,
/area/security/brig)
"anw" = (
@@ -15212,6 +15216,10 @@
/obj/structure/cable{
icon_state = "1-8"
},
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = 24
+ },
/turf/open/floor/plasteel,
/area/command/teleporter)
"aMa" = (
@@ -15846,6 +15854,10 @@
/obj/effect/turf_decal/stripes/line{
dir = 8
},
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = 24
+ },
/turf/open/floor/plasteel/dark,
/area/ai_monitored/command/storage/eva)
"aNu" = (
@@ -15950,6 +15962,10 @@
/obj/effect/turf_decal/tile/red{
dir = 4
},
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = 24
+ },
/turf/open/floor/plasteel,
/area/security/checkpoint/supply)
"aNH" = (
@@ -16898,6 +16914,10 @@
/area/cargo/warehouse)
"aQe" = (
/obj/effect/spawner/lootdrop/maintenance,
+/obj/machinery/light_switch{
+ pixel_x = -7;
+ pixel_y = -24
+ },
/turf/open/floor/plasteel,
/area/cargo/warehouse)
"aQf" = (
@@ -19482,7 +19502,7 @@
receive_ore_updates = 1
},
/obj/machinery/camera{
- c_tag = "Bar Access"
+ c_tag = "Service Hallway"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -20644,6 +20664,10 @@
/obj/effect/turf_decal/tile/brown{
dir = 4
},
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = 24
+ },
/turf/open/floor/plasteel,
/area/cargo/office)
"aYs" = (
@@ -21835,6 +21859,10 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
+/obj/machinery/light_switch{
+ pixel_x = -26;
+ pixel_y = -26
+ },
/turf/open/floor/plasteel,
/area/security/checkpoint/customs)
"baR" = (
@@ -24548,6 +24576,10 @@
/obj/effect/turf_decal/tile/brown{
dir = 8
},
+/obj/machinery/light_switch{
+ pixel_x = -6;
+ pixel_y = -24
+ },
/turf/open/floor/plasteel,
/area/cargo/miningdock)
"bht" = (
@@ -25504,6 +25536,9 @@
/obj/effect/turf_decal/tile/red{
dir = 4
},
+/obj/machinery/light_switch{
+ pixel_y = 22
+ },
/turf/open/floor/plasteel,
/area/security/checkpoint/medical)
"bkb" = (
@@ -26499,6 +26534,9 @@
/obj/machinery/vending/wallmed{
pixel_y = -28
},
+/obj/machinery/light_switch{
+ pixel_x = -23
+ },
/turf/open/floor/plasteel/dark,
/area/medical/paramedic)
"bmn" = (
@@ -30452,6 +30490,9 @@
/obj/effect/turf_decal/tile/purple{
dir = 8
},
+/obj/machinery/light_switch{
+ pixel_x = 24
+ },
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
"bva" = (
@@ -31157,6 +31198,10 @@
dir = 4
},
/obj/structure/disposalpipe/segment,
+/obj/machinery/light_switch{
+ dir = 8;
+ pixel_x = 24
+ },
/turf/open/floor/plasteel/white,
/area/medical/medbay/zone3)
"bwE" = (
@@ -32738,6 +32783,10 @@
/obj/effect/turf_decal/tile/blue{
dir = 4
},
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = 24
+ },
/turf/open/floor/plasteel/white,
/area/medical/treatment_center)
"bzU" = (
@@ -35453,6 +35502,10 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = -24
+ },
/turf/open/floor/plasteel,
/area/security/checkpoint/science)
"bEZ" = (
@@ -37187,6 +37240,10 @@
/obj/structure/cable{
icon_state = "0-8"
},
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = -24
+ },
/turf/open/floor/engine,
/area/science/storage)
"bII" = (
@@ -37973,7 +38030,7 @@
layer = 4.5
},
/turf/open/floor/plasteel/freezer,
-/area/medical/exam_room)
+/area/medical/medbay/central)
"bKw" = (
/obj/machinery/vending/wallmed{
pixel_y = 28
@@ -37986,7 +38043,7 @@
},
/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/freezer,
-/area/medical/exam_room)
+/area/medical/medbay/central)
"bKx" = (
/obj/machinery/button/door{
id = "patientB";
@@ -38000,7 +38057,7 @@
dir = 4
},
/turf/open/floor/plasteel/freezer,
-/area/medical/exam_room)
+/area/medical/medbay/central)
"bKy" = (
/obj/machinery/door/airlock/medical{
name = "Patient Room";
@@ -38010,7 +38067,7 @@
dir = 4
},
/turf/open/floor/plasteel/freezer,
-/area/medical/exam_room)
+/area/medical/medbay/central)
"bKz" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -38462,7 +38519,7 @@
pixel_x = -22
},
/turf/open/floor/plasteel/freezer,
-/area/medical/exam_room)
+/area/medical/medbay/central)
"bLG" = (
/obj/structure/chair/office/light{
dir = 8
@@ -38470,15 +38527,19 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
},
+/obj/machinery/airalarm{
+ dir = 1;
+ pixel_y = -22
+ },
/turf/open/floor/plasteel/freezer,
-/area/medical/exam_room)
+/area/medical/medbay/central)
"bLH" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/structure/closet/secure_closet/personal/patient,
/turf/open/floor/plasteel/freezer,
-/area/medical/exam_room)
+/area/medical/medbay/central)
"bLI" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "patientB";
@@ -38489,7 +38550,7 @@
},
/obj/effect/spawner/structure/window/reinforced,
/turf/open/floor/plating,
-/area/medical/exam_room)
+/area/medical/medbay/central)
"bLJ" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
/obj/effect/turf_decal/tile/blue{
@@ -40138,6 +40199,10 @@
/obj/structure/disposalpipe/sorting/mail{
sortType = 6
},
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = 24
+ },
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bPP" = (
@@ -40557,6 +40622,9 @@
dir = 4
},
/obj/effect/turf_decal/tile/yellow,
+/obj/machinery/light{
+ dir = 4
+ },
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bQI" = (
@@ -42547,6 +42615,10 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
+/obj/machinery/light_switch{
+ pixel_x = -24;
+ pixel_y = -13
+ },
/turf/open/floor/plasteel,
/area/security/checkpoint/engineering)
"bUW" = (
@@ -47468,6 +47540,10 @@
/area/maintenance/department/security/brig)
"clm" = (
/obj/machinery/photocopier,
+/obj/machinery/light_switch{
+ pixel_x = -24;
+ pixel_y = -8
+ },
/turf/open/floor/plasteel/dark,
/area/service/library/lounge)
"cln" = (
@@ -50925,8 +51001,11 @@
/turf/open/floor/plasteel/dark,
/area/service/library)
"czP" = (
-/turf/closed/mineral,
-/area/maintenance/department/chapel/monastery)
+/obj/machinery/light_switch{
+ pixel_x = -24
+ },
+/turf/open/floor/carpet/black,
+/area/service/chapel/office)
"czQ" = (
/obj/structure/table/wood,
/obj/item/storage/bag/books,
@@ -53664,7 +53743,7 @@
/area/security/courtroom)
"gDR" = (
/obj/machinery/camera{
- c_tag = "Central Primary Hallway Escape";
+ c_tag = "Aft Primary Hallway Medsci";
dir = 4
},
/obj/effect/turf_decal/tile/blue{
@@ -53944,7 +54023,7 @@
"gXZ" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/camera{
- c_tag = "Engineering Supermatter Fore";
+ c_tag = "Engineering Supermatter Port";
dir = 4;
network = list("ss13","engine")
},
@@ -57485,6 +57564,10 @@
pixel_y = -32
},
/obj/item/gavelhammer,
+/obj/machinery/light_switch{
+ pixel_x = -26;
+ pixel_y = 26
+ },
/turf/open/floor/plasteel,
/area/security/courtroom)
"nih" = (
@@ -59200,6 +59283,9 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
+/obj/machinery/light_switch{
+ pixel_x = -25
+ },
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
"pNy" = (
@@ -59419,8 +59505,15 @@
/turf/open/floor/plating,
/area/maintenance/department/engine)
"qdY" = (
-/turf/closed/wall,
-/area/medical/exam_room)
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/light_switch{
+ pixel_x = 24;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/dark,
+/area/service/library)
"qeY" = (
/turf/closed/wall/r_wall,
/area/engineering/supermatter)
@@ -59868,6 +59961,9 @@
/obj/effect/turf_decal/tile/blue{
dir = 4
},
+/obj/machinery/light_switch{
+ pixel_x = -25
+ },
/turf/open/floor/plasteel/dark,
/area/science/xenobiology)
"qVP" = (
@@ -61786,7 +61882,7 @@
name = "Defense"
},
/obj/machinery/camera{
- c_tag = "Atmospherics Starboard";
+ c_tag = "Atmospherics Hallway";
dir = 8
},
/obj/effect/turf_decal/tile/purple,
@@ -75511,7 +75607,7 @@ csd
csd
csB
csd
-csd
+czP
cBM
aaa
aaa
@@ -83005,7 +83101,7 @@ hlj
cAg
cAt
ckH
-hlj
+qdY
lEh
cyU
aaa
@@ -85028,10 +85124,10 @@ aht
cjm
cvK
cjm
-czP
-czP
-czP
-czP
+cfN
+cfN
+cfN
+cfN
cAj
eNc
cfN
@@ -85285,10 +85381,10 @@ cjm
cjm
cwg
cjm
-czP
+cfN
kJo
-czP
-czP
+cfN
+cfN
cAj
eNc
cjm
@@ -85545,7 +85641,7 @@ cjm
cwg
eNc
czt
-czP
+cfN
qWo
lxI
xVt
@@ -85802,8 +85898,8 @@ cjm
eNc
czl
cjm
-czP
-czP
+cfN
+cfN
eNc
cjm
cjm
@@ -91164,7 +91260,7 @@ bIe
bjc
bKv
bLF
-qdY
+bjc
bNS
bCz
bPB
@@ -91421,7 +91517,7 @@ bIf
bjc
bKw
bLG
-qdY
+bjc
bNT
bCz
bPB
@@ -91678,7 +91774,7 @@ bIg
bjc
bKx
bLH
-qdY
+bjc
bNU
bCz
bPB
@@ -91935,7 +92031,7 @@ bkb
bjc
bKy
bLI
-qdY
+bjc
bjc
bCz
bPB
diff --git a/_maps/shuttles/aux_base_default.dmm b/_maps/shuttles/aux_base_default.dmm
index 684a78e980..7587fb40da 100644
--- a/_maps/shuttles/aux_base_default.dmm
+++ b/_maps/shuttles/aux_base_default.dmm
@@ -52,11 +52,7 @@
/area/shuttle/auxillary_base)
"P" = (
/obj/docking_port/mobile/auxillary_base{
- dheight = 4;
- dir = 2;
- dwidth = 4;
- height = 9;
- width = 9
+ dir = 2
},
/obj/machinery/bluespace_beacon,
/obj/machinery/computer/auxillary_base,
@@ -77,6 +73,7 @@
/area/shuttle/auxillary_base)
"X" = (
/obj/machinery/camera{
+ c_tag = "Auxiliary Base Platform";
dir = 1;
network = list("auxbase")
},
diff --git a/_maps/shuttles/aux_base_small.dmm b/_maps/shuttles/aux_base_small.dmm
index fc507ea3d8..4dcc35c78b 100644
--- a/_maps/shuttles/aux_base_small.dmm
+++ b/_maps/shuttles/aux_base_small.dmm
@@ -35,6 +35,7 @@
/area/shuttle/auxillary_base)
"h" = (
/obj/machinery/camera{
+ c_tag = "Auxiliary Base Platform";
dir = 1;
network = list("auxbase")
},
@@ -49,11 +50,7 @@
/area/shuttle/auxillary_base)
"j" = (
/obj/docking_port/mobile/auxillary_base{
- dheight = 4;
- dir = 2;
- dwidth = 4;
- height = 9;
- width = 9
+ dir = 2
},
/obj/machinery/bluespace_beacon,
/obj/machinery/computer/auxillary_base,
diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm
index a5b5cf6dc0..5695995713 100644
--- a/code/__DEFINES/DNA.dm
+++ b/code/__DEFINES/DNA.dm
@@ -179,6 +179,7 @@
#define ORGAN_SLOT_VAGINA "vagina"
#define ORGAN_SLOT_TESTICLES "testicles"
#define ORGAN_SLOT_BREASTS "breasts"
+#define ORGAN_SLOT_BUTT "butt"
////organ defines
#define STANDARD_ORGAN_THRESHOLD 100
diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm
index 04eeb515c9..fa11db38aa 100644
--- a/code/__DEFINES/citadel_defines.dm
+++ b/code/__DEFINES/citadel_defines.dm
@@ -6,12 +6,13 @@
#define CIT_FILTER_STAMINACRIT filter(type="drop_shadow", x=0, y=0, size=-3, color="#04080F")
//organ defines
-#define VAGINA_LAYER_INDEX 1
-#define TESTICLES_LAYER_INDEX 2
-#define GENITAL_LAYER_INDEX 3
-#define PENIS_LAYER_INDEX 4
+#define BUTT_LAYER_INDEX 1
+#define VAGINA_LAYER_INDEX 2
+#define TESTICLES_LAYER_INDEX 3
+#define GENITAL_LAYER_INDEX 4
+#define PENIS_LAYER_INDEX 5
-#define GENITAL_LAYER_INDEX_LENGTH 4 //keep it updated with each new index added, thanks.
+#define GENITAL_LAYER_INDEX_LENGTH 5 //keep it updated with each new index added, thanks.
//genital flags
#define GENITAL_BLACKLISTED (1<<0) //for genitals that shouldn't be added to GLOB.genitals_list.
@@ -62,6 +63,9 @@
#define MILK_RATE_MULT 1
#define MILK_EFFICIENCY 1
+#define BUTT_SIZE_DEF 1
+#define BUTT_SIZE_MAX 5 //butt genitals are special in that they have caps. if there's the event there's even bigger butt sprites, raise this number.
+
//visibility toggles defines to avoid errors typos code errors.
#define GEN_VISIBLE_ALWAYS "Always visible"
#define GEN_VISIBLE_NO_CLOTHES "Hidden by clothes"
@@ -102,6 +106,8 @@
#define GENITAL_EXAMINE (1<<13)
#define VORE_EXAMINE (1<<14)
#define TRASH_FORCEFEED (1<<15)
+#define BUTT_ENLARGEMENT (1<<16)
+//Note: reminder, if you're a coder adding more bitflags here in the event we add more horny things, the maximum is (1<<23).
#define TOGGLES_CITADEL 0
//belly sound pref things
diff --git a/code/__HELPERS/_cit_helpers.dm b/code/__HELPERS/_cit_helpers.dm
index a5ffda36f9..c4a7b051de 100644
--- a/code/__HELPERS/_cit_helpers.dm
+++ b/code/__HELPERS/_cit_helpers.dm
@@ -56,6 +56,7 @@ GLOBAL_LIST_EMPTY(ipc_antennas_list)
GLOBAL_LIST_EMPTY(genitals_list)
GLOBAL_LIST_EMPTY(cock_shapes_list)
GLOBAL_LIST_EMPTY(balls_shapes_list)
+GLOBAL_LIST_EMPTY(butt_shapes_list)
GLOBAL_LIST_EMPTY(breasts_shapes_list)
GLOBAL_LIST_EMPTY(vagina_shapes_list)
//longcat memes.
@@ -124,6 +125,11 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE)
return TRUE
return FALSE
+/mob/living/carbon/proc/has_butt()
+ if(getorganslot(ORGAN_SLOT_BUTT))
+ return TRUE
+ return FALSE
+
/mob/living/carbon/proc/is_groin_exposed(list/L)
if(!L)
L = get_equipped_items()
@@ -157,7 +163,9 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE)
if(H.gender == MALE)
H.give_genital(/obj/item/organ/genital/penis)
H.give_genital(/obj/item/organ/genital/testicles)
+ H.give_genital(/obj/item/organ/genital/butt)
else
H.give_genital(/obj/item/organ/genital/vagina)
H.give_genital(/obj/item/organ/genital/womb)
H.give_genital(/obj/item/organ/genital/breasts)
+ H.give_genital(/obj/item/organ/genital/butt)
diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm
index 56e1976990..3e5658fa00 100644
--- a/code/__HELPERS/global_lists.dm
+++ b/code/__HELPERS/global_lists.dm
@@ -55,6 +55,7 @@
init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, GLOB.cock_shapes_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/vagina, GLOB.vagina_shapes_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, GLOB.breasts_shapes_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/butt, GLOB.butt_shapes_list)
init_sprite_accessory_subtypes(/datum/sprite_accessory/testicles, GLOB.balls_shapes_list)
for(var/gpath in subtypesof(/obj/item/organ/genital))
diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index 178fa5b8a4..d113b8b789 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -90,6 +90,8 @@
init_sprite_accessory_subtypes(/datum/sprite_accessory/vagina, GLOB.vagina_shapes_list)
if(!GLOB.breasts_shapes_list.len)
init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, GLOB.breasts_shapes_list)
+ if(!GLOB.butt_shapes_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/butt, GLOB.butt_shapes_list)
if(!GLOB.ipc_screens_list.len)
init_sprite_accessory_subtypes(/datum/sprite_accessory/screen, GLOB.ipc_screens_list)
if(!GLOB.ipc_antennas_list.len)
@@ -206,10 +208,16 @@
"vag_shape" = pick(GLOB.vagina_shapes_list),
"vag_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"has_womb" = FALSE,
+ "has_butt" = FALSE,
+ "butt_size" = BUTT_SIZE_DEF,
+ "butt_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
+
+
"balls_visibility" = GEN_VISIBLE_NO_UNDIES,
"breasts_visibility"= GEN_VISIBLE_NO_UNDIES,
"cock_visibility" = GEN_VISIBLE_NO_UNDIES,
"vag_visibility" = GEN_VISIBLE_NO_UNDIES,
+ "butt_visibility" = GEN_VISIBLE_NO_UNDIES,
"ipc_screen" = snowflake_ipc_antenna_list ? pick(snowflake_ipc_antenna_list) : "None",
"ipc_antenna" = "None",
"flavor_text" = "",
diff --git a/code/controllers/configuration/entries/fetish_content.dm b/code/controllers/configuration/entries/fetish_content.dm
index 1de796a11d..b7ae2e0d83 100644
--- a/code/controllers/configuration/entries/fetish_content.dm
+++ b/code/controllers/configuration/entries/fetish_content.dm
@@ -11,6 +11,16 @@
config_entry_value = 20
min_val = 0
+/datum/config_entry/number/butt_min_size_prefs
+ config_entry_value = 1
+ min_val = 0
+ max_val = BUTT_SIZE_MAX
+
+/datum/config_entry/number/butt_max_size_prefs
+ config_entry_value = BUTT_SIZE_MAX
+ min_val = 0
+ max_val = BUTT_SIZE_MAX
+
/datum/config_entry/keyed_list/safe_visibility_toggles
key_mode = KEY_MODE_TEXT
value_mode = VALUE_MODE_FLAG
diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm
index ad286a52a7..2950bf5a9a 100644
--- a/code/game/machinery/limbgrower.dm
+++ b/code/game/machinery/limbgrower.dm
@@ -335,6 +335,12 @@
if(!features["breasts_producing"])
boobs.genital_flags &= ~(GENITAL_FUID_PRODUCTION|CAN_CLIMAX_WITH|CAN_MASTURBATE_WITH)
boobs.update()
+ if(/obj/item/organ/genital/butt)
+ var/obj/item/organ/genital/butt/ass = new(loc)
+ if(features["has_butt"])
+ ass.color = sanitize_hexcolor(features["butt_color"], 6, TRUE)
+ ass.size = features["butt_size"]
+ ass.update()
else
new built_typepath(loc)
else
diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm
index 6c3185b312..e700bf87e0 100644
--- a/code/game/objects/items/storage/firstaid.dm
+++ b/code/game/objects/items/storage/firstaid.dm
@@ -405,6 +405,14 @@
for(var/i in 1 to 10)
new /obj/item/reagent_containers/pill/breast_enlargement(src)
+/obj/item/storage/pill_bottle/butt_enlargement
+ name = "butt enlargement pills"
+ desc = "May alert security when sneaking around if enough pills are consumed due to assclapping. Be dummy thick responsibly."
+
+/obj/item/storage/pill_bottle/butt_enlargement/PopulateContents()
+ for(var/i in 1 to 10)
+ new /obj/item/reagent_containers/pill/butt_enlargement(src)
+
/obj/item/storage/pill_bottle/neurine
name = "bottle of neurine pills"
desc = "Contains pills to treat non-severe mental traumas."
@@ -551,6 +559,9 @@
new /obj/item/reagent_containers/glass/bottle/vial/small/penisreduction(src)
new /obj/item/reagent_containers/glass/bottle/vial/small/penisreduction(src)
new /obj/item/reagent_containers/glass/bottle/vial/small/penisreduction(src)
+ new /obj/item/reagent_containers/glass/bottle/vial/small/buttreduction(src)
+ new /obj/item/reagent_containers/glass/bottle/vial/small/buttreduction(src)
+ new /obj/item/reagent_containers/glass/bottle/vial/small/buttreduction(src)
/obj/item/storage/hypospraykit/brute
name = "brute trauma hypospray kit"
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 8d3e1c79ec..ad07257e3d 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -10,7 +10,6 @@ GLOBAL_PROTECT(admin_verbs_default)
/client/proc/hide_most_verbs, /*hides all our hideable adminverbs*/
/client/proc/debug_variables, /*allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify*/
/client/proc/dsay, /*talk in deadchat using our ckey/fakekey*/
- /client/proc/investigate_show, /*various admintools for investigation. Such as a singulo grief-log*/
/client/proc/secrets,
/client/proc/toggle_hear_radio, /*allows admins to hide all radio output*/
/client/proc/reload_admins,
@@ -123,6 +122,10 @@ GLOBAL_LIST_INIT(admin_verbs_fun, list(
GLOBAL_PROTECT(admin_verbs_fun)
GLOBAL_LIST_INIT(admin_verbs_spawn, list(/datum/admins/proc/spawn_atom, /datum/admins/proc/podspawn_atom, /datum/admins/proc/spawn_cargo, /datum/admins/proc/spawn_objasmob, /client/proc/respawn_character))
GLOBAL_PROTECT(admin_verbs_spawn)
+GLOBAL_LIST_INIT(admin_verbs_sensitive, list(
+ /client/proc/investigate_show /*various admintools for investigation. Such as a singulo grief-log*/
+))
+GLOBAL_PROTECT(admin_verbs_sensitive)
GLOBAL_LIST_INIT(admin_verbs_server, world.AVerbsServer())
GLOBAL_PROTECT(admin_verbs_server)
/world/proc/AVerbsServer()
@@ -315,6 +318,8 @@ GLOBAL_PROTECT(admin_verbs_hideable)
add_verb(src, /client/proc/play_web_sound)
if(rights & R_SPAWN)
add_verb(src, GLOB.admin_verbs_spawn)
+ if(rights & R_SENSITIVE)
+ add_verb(src, GLOB.admin_verbs_sensitive)
/client/proc/remove_admin_verbs()
remove_verb(src, list(
diff --git a/code/modules/admin/sql_message_system.dm b/code/modules/admin/sql_message_system.dm
index 3ba309bc24..9193f0b077 100644
--- a/code/modules/admin/sql_message_system.dm
+++ b/code/modules/admin/sql_message_system.dm
@@ -369,6 +369,8 @@
qdel(query_find_message_secret)
/proc/browse_messages(type, target_ckey, index, linkless = FALSE, filter, agegate = FALSE)
+ if(!check_rights(R_SENSITIVE))
+ return
if(!SSdbcore.Connect())
to_chat(usr, "Failed to establish database connection.", confidential = TRUE)
return
diff --git a/code/modules/arousal/genitals.dm b/code/modules/arousal/genitals.dm
index b7e90e5b84..f4ecafa690 100644
--- a/code/modules/arousal/genitals.dm
+++ b/code/modules/arousal/genitals.dm
@@ -228,6 +228,8 @@
give_genital(/obj/item/organ/genital/breasts)
if(dna.features["has_cock"])
give_genital(/obj/item/organ/genital/penis)
+ if(dna.features["has_butt"])
+ give_genital(/obj/item/organ/genital/butt)
/mob/living/carbon/human/proc/give_genital(obj/item/organ/genital/G)
if(!dna || (NOGENITALS in dna.species.species_traits) || getorganslot(initial(G.slot)))
@@ -285,6 +287,8 @@
S = GLOB.vagina_shapes_list[G.shape]
if(/obj/item/organ/genital/breasts)
S = GLOB.breasts_shapes_list[G.shape]
+ if(/obj/item/organ/genital/butt)
+ S = GLOB.butt_shapes_list[G.shape]
if(!S || S.icon_state == "none")
continue
@@ -317,6 +321,8 @@
genital_overlay.color = "#[dna.features["breasts_color"]]"
if("vag_color")
genital_overlay.color = "#[dna.features["vag_color"]]"
+ if("butt_color")
+ genital_overlay.color = "#[dna.features["butt_color"]]"
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size][(dna.species.use_skintones && !dna.skin_tone_override) ? "_s" : ""]_[aroused_state]_[layertext]"
@@ -346,20 +352,30 @@
var/organCheck = locate(/obj/item/organ/genital) in internal_organs
var/breastCheck = getorganslot(ORGAN_SLOT_BREASTS)
var/willyCheck = getorganslot(ORGAN_SLOT_PENIS)
+ var/buttCheck = getorganslot(ORGAN_SLOT_BUTT)
+ var/ballCheck = getorganslot(ORGAN_SLOT_TESTICLES)
if(organCheck == FALSE)
if(ishuman(src) && dna.species.use_skintones)
dna.features["genitals_use_skintone"] = TRUE
- if(src.dna.species.fixed_mut_color)
+ if(dna.species.fixed_mut_color)
dna.features["cock_color"] = "[dna.species.fixed_mut_color]"
dna.features["breasts_color"] = "[dna.species.fixed_mut_color]"
+ dna.features["butt_color"] = "[dna.species.fixed_mut_color]"
+ dna.features["testicles_color"] = "[dna.species.fixed_mut_color]"
return
//So people who haven't set stuff up don't get rainbow surprises.
dna.features["cock_color"] = "[dna.features["mcolor"]]"
dna.features["breasts_color"] = "[dna.features["mcolor"]]"
+ dna.features["butt_color"] = "[dna.features["mcolor"]]"
+ dna.features["testicles_color"] = "[dna.features["mcolor"]]"
else //If there's a new organ, make it the same colour.
if(breastCheck == FALSE)
dna.features["breasts_color"] = dna.features["cock_color"]
else if (willyCheck == FALSE)
dna.features["cock_color"] = dna.features["breasts_color"]
+ else if (buttCheck == FALSE)
+ dna.features["butt_color"] = dna.features["butt_color"]
+ else if (ballCheck == FALSE)
+ dna.features["testicles_color"] = dna.features["testicles_color"]
return TRUE
diff --git a/code/modules/arousal/genitals_sprite_accessories.dm b/code/modules/arousal/genitals_sprite_accessories.dm
index 1140a1d3ec..65c71edb30 100644
--- a/code/modules/arousal/genitals_sprite_accessories.dm
+++ b/code/modules/arousal/genitals_sprite_accessories.dm
@@ -64,6 +64,10 @@
icon_state = "single"
name = "Single" //Single as "single pair", for clarity.
+/datum/sprite_accessory/testicles/hidden
+ icon_state = "hidden"
+ name = "Hidden" //not sure why these were missing, but I'm pretty certain people might want these.
+
//Vaginas
/datum/sprite_accessory/vagina
icon = 'icons/obj/genitals/vagina_onmob.dmi'
@@ -119,3 +123,15 @@
/datum/sprite_accessory/breasts/sextuple
icon_state = "sextuple"
name = "Sextuple"
+
+//BUTT BE HERE
+/datum/sprite_accessory/butt
+ icon = 'icons/obj/genitals/butt_onmob.dmi'
+ icon_state = "butt"
+ name = "butt"
+ color_src = "butt_color"
+
+//there literally shouldn't be any other ass types besides one because that'd be weird, this is just here to keep things consistent for the genital system.
+/datum/sprite_accessory/butt/pair
+ icon_state = "pair"
+ name = "Pair"
diff --git a/code/modules/arousal/organs/butt.dm b/code/modules/arousal/organs/butt.dm
new file mode 100644
index 0000000000..172b87f748
--- /dev/null
+++ b/code/modules/arousal/organs/butt.dm
@@ -0,0 +1,92 @@
+/obj/item/organ/genital/butt
+ name = "butt"
+ desc = "You see a pair of asscheeks."
+ icon_state = "butt"
+ icon = 'icons/obj/genitals/butt.dmi'
+ zone = BODY_ZONE_PRECISE_GROIN
+ slot = ORGAN_SLOT_BUTT
+ w_class = 3
+ size = 0
+ var/size_name = "nonexistent"
+ shape = "Pair" //turn this into a default constant if for some inexplicable reason we get more than one butt type but I doubt it.
+ genital_flags = UPDATE_OWNER_APPEARANCE|GENITAL_UNDIES_HIDDEN
+ masturbation_verb = "massage"
+ var/size_cached = 0
+ var/prev_size //former size value, to allow update_size() to early return should be there no significant changes.
+ layer_index = BUTT_LAYER_INDEX
+
+/obj/item/organ/genital/butt/on_life()
+ if(QDELETED(src))
+ return
+ if(!owner)
+ return
+
+/obj/item/organ/genital/butt/modify_size(modifier, min = -INFINITY, max = BUTT_SIZE_MAX)
+ var/new_value = clamp(size_cached + modifier, min, max)
+ if(new_value == size_cached)
+ return
+ prev_size = size_cached
+ size_cached = new_value
+ size = round(size_cached)
+ update()
+ ..()
+
+/obj/item/organ/genital/butt/update_size()//wah
+ var/rounded_size = round(size)
+ if(size < 0)//I don't actually know what round() does to negative numbers, so to be safe!!fixed
+ if(owner)
+ to_chat(owner, "You feel your asscheeks shrink down to an ordinary size.")
+ QDEL_IN(src, 1)
+ return
+
+ if(owner) //Because byond doesn't count from 0, I have to do this.
+ var/mob/living/carbon/human/H = owner
+ var/r_prev_size = round(prev_size)
+ if (rounded_size > r_prev_size)
+ to_chat(H, "Your buttcheeks [pick("swell up to", "flourish into", "expand into", "plump up into", "grow eagerly into", "amplify into")] a larger pair.")
+ else if (rounded_size < r_prev_size)
+ to_chat(H, "Your buttcheeks [pick("shrink down to", "decrease into", "wobble down into", "diminish into", "deflate into", "contracts into")] a smaller pair.")
+
+
+/obj/item/organ/genital/butt/update_appearance()
+ var/lowershape = lowertext(shape)
+
+ //Reflect the size of dat ass on examine.
+ switch(round(size))
+ if(1)
+ size_name = "average"
+ if(2)
+ size_name = "sizable"
+ if(3)
+ size_name = "squeezable"
+ if(4)
+ size_name = "hefty"
+ if(5)
+ size_name = pick("massive","extreme","enormous","very generous","humongous","big bubbly","dummy thicc")
+ else
+ size_name = "nonexistent"
+
+ desc = "You see a [lowershape] of [size_name] asscheeks."
+
+ var/icon_size = size
+ icon_state = "butt_[lowershape]_[icon_size]"
+ if(owner)
+ if(owner.dna.species.use_skintones && owner.dna.features["genitals_use_skintone"])
+ if(ishuman(owner)) // Check before recasting type, although someone fucked up if you're not human AND have use_skintones somehow...
+ var/mob/living/carbon/human/H = owner // only human mobs have skin_tone, which we need.
+ color = SKINTONE2HEX(H.skin_tone)
+ if(!H.dna.skin_tone_override)
+ icon_state += "_s"
+ else
+ color = "#[owner.dna.features["butt_color"]]"
+
+
+/obj/item/organ/genital/butt/get_features(mob/living/carbon/human/H)
+ var/datum/dna/D = H.dna
+ if(D.species.use_skintones && D.features["genitals_use_skintone"])
+ color = SKINTONE2HEX(H.skin_tone)
+ else
+ color = "#[D.features["butt_color"]]"
+ size = D.features["butt_size"]
+ prev_size = size
+ toggle_visibility(D.features["butt_visibility"], FALSE)
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 5fcb6787d2..92e7830b74 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -130,7 +130,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/eye_type = DEFAULT_EYES_TYPE //Eye type
var/split_eye_colors = FALSE
var/datum/species/pref_species = new /datum/species/human() //Mutant race
- var/list/features = list("mcolor" = "FFFFFF", "mcolor2" = "FFFFFF", "mcolor3" = "FFFFFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "horns_color" = "85615a", "ears" = "None", "wings" = "None", "wings_color" = "FFF", "frills" = "None", "deco_wings" = "None", "spines" = "None", "legs" = "Plantigrade", "insect_wings" = "Plain", "insect_fluff" = "None", "insect_markings" = "None", "arachnid_legs" = "Plain", "arachnid_spinneret" = "Plain", "arachnid_mandibles" = "Plain", "mam_body_markings" = list(), "mam_ears" = "None", "mam_snouts" = "None", "mam_tail" = "None", "mam_tail_animated" = "None", "xenodorsal" = "Standard", "xenohead" = "Standard", "xenotail" = "Xenomorph Tail", "taur" = "None", "genitals_use_skintone" = FALSE, "has_cock" = FALSE, "cock_shape" = DEF_COCK_SHAPE, "cock_length" = COCK_SIZE_DEF, "cock_diameter_ratio" = COCK_DIAMETER_RATIO_DEF, "cock_color" = "ffffff", "cock_taur" = FALSE, "has_balls" = FALSE, "balls_color" = "ffffff", "balls_shape" = DEF_BALLS_SHAPE, "balls_size" = BALLS_SIZE_DEF, "balls_cum_rate" = CUM_RATE, "balls_cum_mult" = CUM_RATE_MULT, "balls_efficiency" = CUM_EFFICIENCY, "has_breasts" = FALSE, "breasts_color" = "ffffff", "breasts_size" = BREASTS_SIZE_DEF, "breasts_shape" = DEF_BREASTS_SHAPE, "breasts_producing" = FALSE, "has_vag" = FALSE, "vag_shape" = DEF_VAGINA_SHAPE, "vag_color" = "ffffff", "has_womb" = FALSE, "balls_visibility" = GEN_VISIBLE_NO_UNDIES, "breasts_visibility"= GEN_VISIBLE_NO_UNDIES, "cock_visibility" = GEN_VISIBLE_NO_UNDIES, "vag_visibility" = GEN_VISIBLE_NO_UNDIES, "ipc_screen" = "Sunburst", "ipc_antenna" = "None", "flavor_text" = "", "silicon_flavor_text" = "", "ooc_notes" = "", "meat_type" = "Mammalian", "body_model" = MALE, "body_size" = RESIZE_DEFAULT_SIZE, "color_scheme" = OLD_CHARACTER_COLORING)
+ var/list/features = list("mcolor" = "FFFFFF", "mcolor2" = "FFFFFF", "mcolor3" = "FFFFFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "horns_color" = "85615a", "ears" = "None", "wings" = "None", "wings_color" = "FFF", "frills" = "None", "deco_wings" = "None", "spines" = "None", "legs" = "Plantigrade", "insect_wings" = "Plain", "insect_fluff" = "None", "insect_markings" = "None", "arachnid_legs" = "Plain", "arachnid_spinneret" = "Plain", "arachnid_mandibles" = "Plain", "mam_body_markings" = list(), "mam_ears" = "None", "mam_snouts" = "None", "mam_tail" = "None", "mam_tail_animated" = "None", "xenodorsal" = "Standard", "xenohead" = "Standard", "xenotail" = "Xenomorph Tail", "taur" = "None", "genitals_use_skintone" = FALSE, "has_cock" = FALSE, "cock_shape" = DEF_COCK_SHAPE, "cock_length" = COCK_SIZE_DEF, "cock_diameter_ratio" = COCK_DIAMETER_RATIO_DEF, "cock_color" = "ffffff", "cock_taur" = FALSE, "has_balls" = FALSE, "balls_color" = "ffffff", "balls_shape" = DEF_BALLS_SHAPE, "balls_size" = BALLS_SIZE_DEF, "balls_cum_rate" = CUM_RATE, "balls_cum_mult" = CUM_RATE_MULT, "balls_efficiency" = CUM_EFFICIENCY, "has_breasts" = FALSE, "breasts_color" = "ffffff", "breasts_size" = BREASTS_SIZE_DEF, "breasts_shape" = DEF_BREASTS_SHAPE, "breasts_producing" = FALSE, "has_vag" = FALSE, "vag_shape" = DEF_VAGINA_SHAPE, "vag_color" = "ffffff", "has_womb" = FALSE, "has_butt" = FALSE, "butt_color" = "ffffff", "butt_size" = BUTT_SIZE_DEF, "balls_visibility" = GEN_VISIBLE_NO_UNDIES, "breasts_visibility"= GEN_VISIBLE_NO_UNDIES, "cock_visibility" = GEN_VISIBLE_NO_UNDIES, "vag_visibility" = GEN_VISIBLE_NO_UNDIES, "butt_visibility" = GEN_VISIBLE_NO_UNDIES, "ipc_screen" = "Sunburst", "ipc_antenna" = "None", "flavor_text" = "", "silicon_flavor_text" = "", "ooc_notes" = "", "meat_type" = "Mammalian", "body_model" = MALE, "body_size" = RESIZE_DEFAULT_SIZE, "color_scheme" = OLD_CHARACTER_COLORING)
var/custom_speech_verb = "default" //if your say_mod is to be something other than your races
var/custom_tongue = "default" //if your tongue is to be something other than your races
@@ -721,6 +721,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else
dat += "Testicles Color:
"
dat += " Change
"
+ dat += "Testicles Shape: [features["balls_shape"]]"
dat += "Testicles Visibility:[features["balls_visibility"]]"
dat += APPEARANCE_CATEGORY_COLUMN
dat += "