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 2c49cf77cd..66aa61d4cb 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)
@@ -4656,7 +4656,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{
@@ -9447,6 +9447,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" = (
@@ -15215,7 +15219,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";
@@ -15440,10 +15444,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" = (
@@ -15488,7 +15494,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{
@@ -15592,7 +15598,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,
@@ -15607,7 +15613,7 @@
dir = 8
},
/turf/open/floor/plasteel,
-/area/service/kitchen/coldroom)
+/area/service/kitchen)
"aKW" = (
/obj/machinery/light_switch{
pixel_y = 28
@@ -16059,13 +16065,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
@@ -16170,7 +16176,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
@@ -16182,7 +16188,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,
@@ -16473,7 +16479,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,
@@ -16484,7 +16490,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{
@@ -16505,7 +16511,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,
@@ -16876,7 +16882,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
@@ -16898,14 +16904,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";
@@ -16942,7 +16952,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
@@ -21956,6 +21966,7 @@
/obj/structure/table,
/obj/item/aiModule/supplied/quarantine,
/obj/machinery/camera/motion{
+ c_tag = "AI Upload Chamber - West";
dir = 4;
network = list("aiupload")
},
@@ -21975,6 +21986,7 @@
pixel_x = 32
},
/obj/machinery/camera/motion{
+ c_tag = "AI Upload Chamber - East";
dir = 8;
network = list("aiupload")
},
@@ -22909,6 +22921,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" = (
@@ -23091,9 +23107,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" = (
@@ -23290,13 +23304,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
@@ -23428,8 +23447,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;
@@ -23697,7 +23720,7 @@
dir = 8
},
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"bgX" = (
/obj/structure/table/wood,
/obj/machinery/airalarm{
@@ -23764,7 +23787,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{
@@ -23838,9 +23861,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;
@@ -24367,7 +24387,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,
@@ -24439,9 +24459,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,
@@ -25007,14 +25030,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
@@ -25024,7 +25047,7 @@
dir = 8
},
/turf/open/floor/plasteel/white,
-/area/medical/medbay/lobby)
+/area/medical/medbay/central)
"bjX" = (
/obj/structure/table,
/obj/machinery/recharger{
@@ -25568,7 +25591,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,
@@ -26185,7 +26208,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,
@@ -29797,7 +29820,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"
@@ -44878,7 +44901,7 @@
dir = 8
},
/turf/open/floor/plasteel/dark,
-/area/command)
+/area/command/heads_quarters/ce)
"cgQ" = (
/obj/machinery/camera{
c_tag = "Engineering East";
@@ -52515,6 +52538,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" = (
@@ -53359,7 +53385,7 @@
},
/obj/machinery/camera{
c_tag = "Prison Forestry";
- dir = 8;
+ dir = 4;
network = list("ss13","prison")
},
/turf/open/floor/plasteel,
@@ -53677,9 +53703,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,
@@ -53987,6 +54016,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" = (
@@ -54247,6 +54280,10 @@
dir = 8;
pixel_x = 24
},
+/obj/machinery/light_switch{
+ pixel_x = -7;
+ pixel_y = -24
+ },
/turf/open/floor/plasteel,
/area/security/range)
"fsQ" = (
@@ -55154,6 +55191,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" = (
@@ -55908,7 +55949,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" = (
@@ -55954,8 +55994,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{
@@ -56310,7 +56353,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{
@@ -56513,6 +56556,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" = (
@@ -56569,9 +56616,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,
@@ -58940,6 +58996,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" = (
@@ -60676,10 +60735,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" = (
@@ -61723,9 +61784,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
@@ -62089,7 +62167,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";
@@ -63128,6 +63206,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" = (
@@ -63945,7 +64028,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{
@@ -64116,11 +64199,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" = (
@@ -64314,6 +64400,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" = (
@@ -64631,13 +64721,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,
@@ -64806,6 +64889,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
},
@@ -65688,7 +65775,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
@@ -67109,6 +67196,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" = (
@@ -88071,7 +88162,7 @@ wUr
mzB
uSc
wHm
-qTG
+bgc
aJe
aKw
aLE
@@ -88855,7 +88946,7 @@ aTH
aPK
aWz
aWC
-baS
+ihR
baS
baS
bcR
@@ -89892,7 +89983,7 @@ aZH
aZK
bhZ
aZK
-cNM
+jiT
bfQ
bnG
bnz
@@ -97321,8 +97412,8 @@ atf
dgz
tqg
ujF
-woR
-woR
+bfG
+ujF
dgz
aaa
aJn
@@ -99637,7 +99728,7 @@ aDM
aGx
aDM
aDM
-aDM
+biC
aAh
aMm
aJq
@@ -102484,7 +102575,7 @@ bet
bfH
aiP
wbE
-ihR
+bhh
wbE
bmJ
bof
@@ -102738,12 +102829,12 @@ bby
aYV
aYV
bet
-bfG
+rUe
bhe
bit
bjS
tCd
-eRr
+bli
boe
bli
bpN
@@ -102995,9 +103086,9 @@ aJC
aYV
aYV
bet
-bfG
+rUe
bhe
-ihR
+bhh
bjU
blk
blk
@@ -103252,9 +103343,9 @@ aJC
bcr
aYV
bet
-bfG
+rUe
bhe
-ihR
+bhh
bjV
blj
bmK
@@ -103510,8 +103601,8 @@ aYV
bdo
beu
bvk
-jiT
-jiT
+biu
+biu
bjT
blm
bmL
@@ -103766,9 +103857,9 @@ aJC
aYV
aYV
bet
-qnC
-ihR
-ihR
+bfJ
+bhh
+bhh
bgQ
bll
bhh
@@ -104025,8 +104116,8 @@ aYV
bet
bfH
qTV
-ihR
-uBr
+bhh
+bhg
bln
bmM
boj
@@ -105035,10 +105126,10 @@ alP
aGL
aIe
bhr
-bhr
-bhr
-bhr
-bhr
+aJI
+aJI
+aJI
+aJI
aJI
aRC
aSK
@@ -105291,7 +105382,7 @@ aaa
alP
aGN
aIh
-bhr
+aJI
aKT
aMD
aNM
@@ -105805,7 +105896,7 @@ aaa
alP
aGL
aHY
-biC
+aQj
iNn
aMk
aNK
@@ -106319,9 +106410,9 @@ vpY
alP
aGJ
avI
-bhr
-bhr
-bhr
+aJI
+aJI
+aJI
aNO
aOT
aJI
@@ -106578,9 +106669,9 @@ aGJ
avI
aJL
aKX
-bhr
-bhr
-bhr
+aJI
+aJI
+aJI
aJI
aRH
aVz
@@ -107369,7 +107460,7 @@ tIE
dnW
jdE
nyi
-cTO
+qnC
bmZ
bpG
bqZ
@@ -113518,7 +113609,7 @@ aFw
aFw
aFw
aFw
-aFz
+eRr
aPk
aQu
aPk
@@ -115596,7 +115687,7 @@ pKV
pKV
pKV
bpp
-pKV
+bqe
brr
bsE
bvK
@@ -115853,7 +115944,7 @@ biY
bmd
bnr
bpr
-bgc
+bqe
btj
buu
bvM
@@ -116109,8 +116200,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 ced02ce075..4a493ea6eb 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -46179,8 +46179,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)
@@ -50112,6 +50111,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" = (
@@ -50962,6 +50964,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" = (
@@ -53804,6 +53809,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" = (
@@ -56722,6 +56730,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" = (
@@ -60450,6 +60462,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" = (
@@ -77585,8 +77601,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)
@@ -77922,8 +77937,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)
@@ -78986,7 +79000,6 @@
/turf/open/floor/plasteel,
/area/commons/dorms)
"gUc" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/bodycontainer/crematorium{
dir = 4;
id = "cremawheat"
@@ -86313,7 +86326,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")
},
@@ -91389,7 +91402,7 @@
pixel_y = 32
},
/obj/machinery/camera{
- c_tag = "Library - Aft";
+ c_tag = "Library - Port";
name = "library camera"
},
/turf/open/floor/wood,
@@ -101144,6 +101157,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,
@@ -113722,6 +113748,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,
@@ -114436,7 +114476,7 @@
dir = 4
},
/obj/machinery/camera{
- c_tag = "Library - Aft";
+ c_tag = "Library - Beam";
name = "library camera"
},
/turf/open/floor/plasteel/grimy,
@@ -117159,6 +117199,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" = (
@@ -119032,6 +119076,9 @@
/obj/effect/turf_decal/tile/red{
dir = 4
},
+/obj/machinery/light_switch{
+ pixel_y = 24
+ },
/turf/open/floor/plasteel,
/area/security/office)
"uBU" = (
@@ -119499,6 +119546,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" = (
@@ -126610,7 +126661,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")
@@ -169555,7 +169606,7 @@ dGk
dHF
dIW
dCy
-dKY
+orP
dMx
dNS
aaa
@@ -180023,7 +180074,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 80d389801f..d182ef9721 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -4145,6 +4145,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" = (
@@ -5976,6 +5980,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" = (
@@ -8529,6 +8537,9 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
+/obj/machinery/light/small{
+ dir = 1
+ },
/turf/open/floor/plating{
icon_state = "platingdmg2"
},
@@ -24220,6 +24231,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" = (
@@ -33191,6 +33207,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" = (
@@ -33381,6 +33401,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" = (
@@ -35382,7 +35406,7 @@
dir = 10
},
/obj/machinery/camera{
- c_tag = "Genetics Lab";
+ c_tag = "Genetics Lab Hall";
dir = 6;
network = list("ss13","medbay")
},
@@ -52816,7 +52840,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)
@@ -54778,7 +54802,7 @@
/area/service/bar)
"gXt" = (
/obj/machinery/camera{
- c_tag = "Fitness Room - Fore"
+ c_tag = "Cryogenics"
},
/obj/machinery/cryopod/tele,
/turf/open/floor/plasteel/dark,
@@ -56262,6 +56286,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" = (
@@ -56411,6 +56439,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
@@ -56943,6 +56981,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" = (
@@ -59886,6 +59927,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
@@ -64438,6 +64489,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" = (
@@ -67329,6 +67384,9 @@
/obj/effect/turf_decal/bot{
dir = 1
},
+/obj/machinery/light_switch{
+ pixel_x = -23
+ },
/turf/open/floor/plasteel{
dir = 1
},
@@ -70773,6 +70831,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" = (
@@ -84026,6 +84088,9 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
+/obj/machinery/light_switch{
+ pixel_x = -24
+ },
/turf/open/floor/plasteel,
/area/security/office)
"xnt" = (
@@ -84676,6 +84741,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" = (
@@ -102603,7 +102671,7 @@ btZ
bvV
bxN
mei
-nzp
+jPq
xEM
mei
smm
@@ -110779,7 +110847,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 f2a716a614..19b5d65416 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" = (
@@ -6574,6 +6575,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" = (
@@ -7010,14 +7015,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{
@@ -7346,6 +7347,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" = (
@@ -8435,7 +8440,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,
@@ -8845,10 +8850,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" = (
@@ -12775,6 +12782,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" = (
@@ -13509,6 +13520,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" = (
@@ -13541,10 +13556,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
},
@@ -15210,6 +15221,10 @@
},
/area/service/theater)
"aBW" = (
+/obj/machinery/light_switch{
+ pixel_x = 10;
+ pixel_y = 26
+ },
/turf/open/floor/wood{
icon_state = "wood-broken7"
},
@@ -16022,7 +16037,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;
@@ -16038,7 +16053,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
@@ -16052,7 +16067,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{
@@ -16061,7 +16076,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
@@ -16072,7 +16087,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
@@ -16083,7 +16098,7 @@
/turf/open/floor/plasteel/dark/corner{
dir = 1
},
-/area/engineering/break_room)
+/area/engineering/lobby)
"aDB" = (
/obj/item/kirbyplants{
icon_state = "plant-21"
@@ -16092,7 +16107,7 @@
dir = 4
},
/turf/open/floor/plasteel/checker,
-/area/engineering/break_room)
+/area/engineering/lobby)
"aDC" = (
/obj/structure/table/reinforced,
/obj/item/airlock_painter,
@@ -16597,7 +16612,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
@@ -16609,7 +16624,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
@@ -16618,26 +16633,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
@@ -16646,7 +16661,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{
@@ -16656,7 +16671,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
@@ -17203,7 +17218,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
@@ -17218,7 +17233,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{
@@ -17232,7 +17247,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
@@ -17242,7 +17257,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
@@ -17252,7 +17267,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
@@ -17262,7 +17277,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{
@@ -17275,7 +17290,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
@@ -17616,7 +17631,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
@@ -17628,7 +17643,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,
@@ -17647,28 +17662,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,
@@ -20009,7 +20024,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
},
@@ -21047,6 +21061,10 @@
dir = 1;
pixel_y = 1
},
+/obj/machinery/camera{
+ c_tag = "Hydroponics South";
+ dir = 9
+ },
/turf/open/floor/grass,
/area/service/hydroponics)
"aMt" = (
@@ -21435,7 +21453,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{
@@ -21581,10 +21599,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)
@@ -23310,7 +23324,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,
@@ -23476,18 +23490,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
@@ -24003,6 +24013,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" = (
@@ -24088,6 +24102,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" = (
@@ -24616,22 +24634,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,
@@ -24639,7 +24657,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,
@@ -24929,7 +24947,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" = (
@@ -25072,16 +25092,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{
@@ -25499,17 +25519,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
@@ -26262,7 +26282,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;
@@ -26274,7 +26294,7 @@
pixel_y = -22
},
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aWR" = (
/obj/item/kirbyplants{
icon_state = "plant-21";
@@ -26286,7 +26306,7 @@
pixel_y = -32
},
/turf/open/floor/plasteel/grimy,
-/area/commons/lounge)
+/area/hallway/primary/aft)
"aWS" = (
/obj/structure/chair/comfy/brown{
buildstackamount = 0;
@@ -26297,13 +26317,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,
@@ -26877,20 +26897,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,
@@ -26992,7 +27004,7 @@
/area/science/research)
"aYp" = (
/obj/machinery/camera{
- c_tag = "Communications Relay";
+ c_tag = "Telecommunications Relay";
dir = 8;
network = list("ss13","tcomms")
},
@@ -30406,6 +30418,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
},
@@ -33367,7 +33383,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,
@@ -33425,7 +33441,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{
@@ -35275,7 +35291,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,
@@ -35889,6 +35905,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" = (
@@ -35936,9 +35956,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
},
@@ -36167,6 +36184,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,
@@ -36965,7 +36989,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
@@ -37347,10 +37371,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
@@ -38489,6 +38509,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" = (
@@ -38498,7 +38521,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"
@@ -38536,6 +38559,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" = (
@@ -38562,9 +38588,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
},
@@ -38634,6 +38672,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" = (
@@ -38659,6 +38701,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" = (
@@ -39241,7 +39291,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")
},
@@ -39551,7 +39601,7 @@
dir = 10
},
/obj/machinery/camera{
- c_tag = "AI Chamber - Core";
+ c_tag = "AI Chamber - Core Aft";
name = "core camera";
network = list("rd")
},
@@ -40087,7 +40137,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
@@ -40655,7 +40705,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
@@ -40888,7 +40938,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
@@ -41513,7 +41563,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" = (
@@ -41599,7 +41651,7 @@
dir = 4
},
/obj/machinery/camera{
- c_tag = "Security Checkpoint";
+ c_tag = "Science Foyer";
dir = 6
},
/turf/open/floor/plasteel,
@@ -41695,7 +41747,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{
@@ -70878,7 +70930,7 @@ amF
anw
anO
aop
-aGe
+iUa
aJl
aKu
aLI
@@ -76810,7 +76862,7 @@ aQW
aQW
sJI
aPO
-aQU
+aXv
aRV
aUb
aUu
@@ -79096,7 +79148,7 @@ jJn
bxJ
aDD
aBQ
-aDD
+aYe
aDF
aEN
awQ
@@ -84001,7 +84053,7 @@ aUy
aUy
aWS
lIM
-aYe
+ugK
hOc
byo
baK
@@ -87551,7 +87603,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 1d6750ef4e..22d3c3b4f8 100644
--- a/_maps/map_files/PubbyStation/PubbyStation.dmm
+++ b/_maps/map_files/PubbyStation/PubbyStation.dmm
@@ -5236,6 +5236,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" = (
@@ -15223,6 +15227,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" = (
@@ -15857,6 +15865,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" = (
@@ -15961,6 +15973,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" = (
@@ -16909,6 +16925,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" = (
@@ -19493,7 +19513,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
@@ -20655,6 +20675,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" = (
@@ -21847,6 +21871,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" = (
@@ -24560,6 +24588,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" = (
@@ -25516,6 +25548,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" = (
@@ -26514,6 +26549,9 @@
/obj/machinery/vending/wallmed{
pixel_y = -28
},
+/obj/machinery/light_switch{
+ pixel_x = -23
+ },
/turf/open/floor/plasteel/dark,
/area/medical/paramedic)
"bmn" = (
@@ -30468,6 +30506,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" = (
@@ -31173,6 +31214,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" = (
@@ -32754,6 +32799,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" = (
@@ -35469,6 +35518,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" = (
@@ -37204,6 +37257,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" = (
@@ -37990,7 +38047,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
@@ -38003,7 +38060,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";
@@ -38017,7 +38074,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";
@@ -38027,7 +38084,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
@@ -38479,7 +38536,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
@@ -38487,15 +38544,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";
@@ -38506,7 +38567,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{
@@ -40156,6 +40217,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" = (
@@ -40575,6 +40640,9 @@
dir = 4
},
/obj/effect/turf_decal/tile/yellow,
+/obj/machinery/light{
+ dir = 4
+ },
/turf/open/floor/plasteel,
/area/engineering/atmos)
"bQI" = (
@@ -42565,6 +42633,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" = (
@@ -47487,6 +47559,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" = (
@@ -50947,8 +51023,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,
@@ -53698,7 +53777,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{
@@ -53978,7 +54057,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")
},
@@ -57531,6 +57610,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" = (
@@ -59248,6 +59331,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" = (
@@ -59467,8 +59553,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)
@@ -59917,6 +60010,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" = (
@@ -61868,7 +61964,7 @@
name = "Defense"
},
/obj/machinery/camera{
- c_tag = "Atmospherics Starboard";
+ c_tag = "Atmospherics Hallway";
dir = 8
},
/obj/effect/turf_decal/tile/purple,
@@ -75597,7 +75693,7 @@ csd
csd
csB
csd
-csd
+czP
cBM
aaa
aaa
@@ -83091,7 +83187,7 @@ hlj
cAg
cAt
ckH
-hlj
+qdY
lEh
cyU
aaa
@@ -85114,10 +85210,10 @@ aht
cjm
cvK
cjm
-czP
-czP
-czP
-czP
+cfN
+cfN
+cfN
+cfN
cAj
eNc
cfN
@@ -85371,10 +85467,10 @@ cjm
cjm
cwg
cjm
-czP
+cfN
kJo
-czP
-czP
+cfN
+cfN
cAj
eNc
cjm
@@ -85631,7 +85727,7 @@ cjm
cwg
eNc
czt
-czP
+cfN
qWo
lxI
xVt
@@ -85888,8 +85984,8 @@ cjm
eNc
czl
cjm
-czP
-czP
+cfN
+cfN
eNc
cjm
cjm
@@ -91250,7 +91346,7 @@ bIe
bjc
bKv
bLF
-qdY
+bjc
bNS
bCz
bPB
@@ -91507,7 +91603,7 @@ bIf
bjc
bKw
bLG
-qdY
+bjc
bNT
bCz
bPB
@@ -91764,7 +91860,7 @@ bIg
bjc
bKx
bLH
-qdY
+bjc
bNU
bCz
bPB
@@ -92021,7 +92117,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 b0834012bc..9099b135d4 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.
@@ -63,6 +64,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"
@@ -103,6 +107,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 dfca7c5f42..619bf75dea 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.
@@ -126,6 +127,11 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE)
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()
@@ -159,7 +165,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 e0354e2f5f..f8586d9607 100644
--- a/code/__HELPERS/global_lists.dm
+++ b/code/__HELPERS/global_lists.dm
@@ -57,6 +57,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 8c23a5b8ad..24a58afe10 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 1fab799bf9..2fb372c2dd 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,
@@ -124,6 +123,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()
@@ -317,6 +320,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 5985f98755..a376c8e32a 100644
--- a/code/modules/arousal/genitals.dm
+++ b/code/modules/arousal/genitals.dm
@@ -246,6 +246,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)))
@@ -303,6 +305,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
@@ -335,6 +339,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]"
@@ -364,20 +370,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 65b4154cf4..97762aab0c 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -144,7 +144,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
@@ -750,6 +750,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else
dat += "Testicles Color:
"
dat += "#[features["balls_color"]] Change
"
+ dat += "Testicles Shape: [features["balls_shape"]]"
dat += "Testicles Visibility:[features["balls_visibility"]]"
dat += APPEARANCE_CATEGORY_COLUMN
dat += "