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 += "

Vagina

" @@ -780,6 +781,19 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Breasts Visibility:[features["breasts_visibility"]]" dat += "Lactates:[features["breasts_producing"] == TRUE ? "Yes" : "No"]" dat += "" + dat += APPEARANCE_CATEGORY_COLUMN + dat += "

Butt

" + dat += "[features["has_butt"] == TRUE ? "Yes" : "No"]" + if(features["has_butt"]) + if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) + dat += "Color:
" + dat += "[SKINTONE2HEX(skin_tone)](Skin tone overriding)
" + else + dat += "Color:
" + dat += "#[features["butt_color"]] Change
" + dat += "Butt Size:[features["butt_size"]]" + dat += "Butt Visibility:[features["butt_visibility"]]" + dat += "" dat += "" dat += "" @@ -1139,6 +1153,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

Other content prefs

" dat += "Breast Enlargement: [(cit_toggles & BREAST_ENLARGEMENT) ? "Allowed" : "Disallowed"]
" dat += "Penis Enlargement: [(cit_toggles & PENIS_ENLARGEMENT) ? "Allowed" : "Disallowed"]
" + dat += "Butt Enlargement: [(cit_toggles & BUTT_ENLARGEMENT) ? "Allowed" : "Disallowed"]
" dat += "Hypno: [(cit_toggles & NEVER_HYPNO) ? "Disallowed" : "Allowed"]
" dat += "Aphrodisiacs: [(cit_toggles & NO_APHRO) ? "Disallowed" : "Allowed"]
" dat += "Ass Slapping: [(cit_toggles & NO_ASS_SLAP) ? "Disallowed" : "Allowed"]
" @@ -2391,6 +2406,12 @@ GLOBAL_LIST_EMPTY(preferences_datums) else to_chat(user,"Invalid color. Your color is not bright enough.") + if("balls_shape") + var/new_shape + new_shape = input(user, "Testicle Shape", "Character Preference") as null|anything in GLOB.balls_shapes_list + if(new_shape) + features["balls_shape"] = new_shape + if("balls_visibility") var/n_vis = input(user, "Testicles Visibility", "Character Preference") as null|anything in CONFIG_GET(keyed_list/safe_visibility_toggles) if(n_vis) @@ -2445,6 +2466,29 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(n_vis) features["vag_visibility"] = n_vis + if("butt_color") + var/new_buttcolor = input(user, "Butt color:", "Character Preference","#"+features["butt_color"]) as color|null + if(new_buttcolor) + var/temp_hsv = RGBtoHSV(new_buttcolor) + if(new_buttcolor == "#000000") + features["butt_color"] = pref_species.default_color + else if(ReadHSV(temp_hsv)[3] >= ReadHSV(MINIMUM_MUTANT_COLOR)[3]) + features["butt_color"] = sanitize_hexcolor(new_buttcolor, 6) + else + to_chat(user,"Invalid color. Your color is not bright enough.") + + if("butt_size") + var/min_B = CONFIG_GET(number/butt_min_size_prefs) + var/max_B = CONFIG_GET(number/butt_max_size_prefs) + var/new_length = input(user, "Butt size:\n([min_B]-[max_B])", "Character Preference") as num|null + if(new_length) + features["butt_size"] = clamp(round(new_length), min_B, max_B) + + if("butt_visibility") + var/n_vis = input(user, "Butt Visibility", "Character Preference") as null|anything in CONFIG_GET(keyed_list/safe_visibility_toggles) + if(n_vis) + features["butt_visibility"] = n_vis + if("ooccolor") var/new_ooccolor = input(user, "Choose your OOC colour:", "Game Preference",ooccolor) as color|null if(new_ooccolor) @@ -2707,6 +2751,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["has_womb"] = FALSE if("has_womb") features["has_womb"] = !features["has_womb"] + if("has_butt") + features["has_butt"] = !features["has_butt"] if("widescreenpref") widescreenpref = !widescreenpref user.client.view_size.setDefault(getScreenSize(widescreenpref)) @@ -3027,6 +3073,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("penis_enlargement") cit_toggles ^= PENIS_ENLARGEMENT + if("butt_enlargement") + cit_toggles ^= BUTT_ENLARGEMENT + if("feminization") cit_toggles ^= FORCED_FEM diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 67eb4a31ed..19d6580d1f 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -652,7 +652,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car var/savefile/S = new /savefile(path) if(!S) return FALSE - 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" = "Plain", "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) + 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" = "Plain", "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) S.cd = "/" if(!slot) @@ -834,6 +834,11 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["feature_vag_visibility"] >> features["vag_visibility"] //womb features S["feature_has_womb"] >> features["has_womb"] + //butt features + S["feature_has_butt"] >> features["has_butt"] + S["feature_butt_color"] >> features["butt_color"] + S["feature_butt_size"] >> features["butt_size"] + S["feature_butt_visibility"] >> features["butt_visibility"] //flavor text //Let's make our players NOT cry desperately as we wipe their savefiles of their special snowflake texts: @@ -956,6 +961,13 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car var/static/max_D if(!max_D) max_D = CONFIG_GET(number/penis_max_inches_prefs) + var/static/min_B + if(!min_B) + min_B = CONFIG_GET(number/butt_min_size_prefs) + var/static/max_B + if(!max_B) + max_B = CONFIG_GET(number/butt_max_size_prefs) + var/static/safe_visibilities if(!safe_visibilities) var/list/L = CONFIG_GET(keyed_list/safe_visibility_toggles) @@ -963,6 +975,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car features["breasts_size"] = sanitize_inlist(features["breasts_size"], B_sizes, BREASTS_SIZE_DEF) features["cock_length"] = sanitize_integer(features["cock_length"], min_D, max_D, COCK_SIZE_DEF) + features["butt_size"] = sanitize_integer(features["butt_size"], min_B, max_B, BUTT_SIZE_DEF) features["breasts_shape"] = sanitize_inlist(features["breasts_shape"], GLOB.breasts_shapes_list, DEF_BREASTS_SHAPE) features["cock_shape"] = sanitize_inlist(features["cock_shape"], GLOB.cock_shapes_list, DEF_COCK_SHAPE) features["balls_shape"] = sanitize_inlist(features["balls_shape"], GLOB.balls_shapes_list, DEF_BALLS_SHAPE) @@ -975,6 +988,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car features["cock_visibility"] = sanitize_inlist(features["cock_visibility"], safe_visibilities, GEN_VISIBLE_NO_UNDIES) features["balls_visibility"] = sanitize_inlist(features["balls_visibility"], safe_visibilities, GEN_VISIBLE_NO_UNDIES) features["vag_visibility"] = sanitize_inlist(features["vag_visibility"], safe_visibilities, GEN_VISIBLE_NO_UNDIES) + features["butt_visibility"] = sanitize_inlist(features["butt_visibility"], safe_visibilities, GEN_VISIBLE_NO_UNDIES) custom_speech_verb = sanitize_inlist(custom_speech_verb, GLOB.speech_verbs, "default") custom_tongue = sanitize_inlist(custom_tongue, GLOB.roundstart_tongues, "default") @@ -1136,6 +1150,11 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["feature_has_womb"], features["has_womb"]) + WRITE_FILE(S["feature_has_butt"], features["has_butt"]) + WRITE_FILE(S["feature_butt_color"], features["butt_color"]) + WRITE_FILE(S["feature_butt_size"], features["butt_size"]) + WRITE_FILE(S["feature_butt_visibility"], features["butt_visibility"]) + WRITE_FILE(S["feature_ooc_notes"], features["ooc_notes"]) WRITE_FILE(S["feature_color_scheme"], features["color_scheme"]) diff --git a/code/modules/mob/living/carbon/human/innate_abilities/customization.dm b/code/modules/mob/living/carbon/human/innate_abilities/customization.dm index 583577840f..f395dfd556 100644 --- a/code/modules/mob/living/carbon/human/innate_abilities/customization.dm +++ b/code/modules/mob/living/carbon/human/innate_abilities/customization.dm @@ -22,7 +22,7 @@ /datum/action/innate/ability/humanoid_customization/proc/change_form() var/mob/living/carbon/human/H = owner - var/select_alteration = input(owner, "Select what part of your form to alter", "Form Alteration", "cancel") in list("Body Color", "Eye Color","Hair Style", "Genitals", "Tail", "Snout", "Markings", "Ears", "Taur body", "Penis", "Vagina", "Penis Length", "Breast Size", "Breast Shape", "Cancel") + var/select_alteration = input(owner, "Select what part of your form to alter", "Form Alteration", "cancel") in list("Body Color", "Eye Color","Hair Style", "Genitals", "Tail", "Snout", "Markings", "Ears", "Taur body", "Penis", "Vagina", "Penis Length", "Breast Size", "Breast Shape", "Butt Size", "Cancel") if(select_alteration == "Body Color") var/new_color = input(owner, "Choose your skin color:", "Race change","#"+H.dna.features["mcolor"]) as color|null @@ -227,5 +227,17 @@ H.apply_overlay() H.give_genital(/obj/item/organ/genital/breasts) + else if (select_alteration == "Butt Size") + for(var/obj/item/organ/genital/butt/X in H.internal_organs) + qdel(X) + var/min_B = CONFIG_GET(number/butt_min_size_prefs) + var/max_B = CONFIG_GET(number/butt_max_size_prefs) + var/new_length = input(owner, "Butt size:\n([min_B]-[max_B])", "Genital Alteration") as num|null + if(new_length) + H.dna.features["butt_size"] = clamp(round(new_length), min_B, max_B) + H.update_genitals() + H.apply_overlay() + H.give_genital(/obj/item/organ/genital/butt) + else return diff --git a/code/modules/reagents/reagent_containers/hypovial.dm b/code/modules/reagents/reagent_containers/hypovial.dm index 8d99248d97..92c33af3b1 100644 --- a/code/modules/reagents/reagent_containers/hypovial.dm +++ b/code/modules/reagents/reagent_containers/hypovial.dm @@ -103,6 +103,11 @@ icon_state = "hypovial-pink" list_reagents = list(/datum/reagent/fermi/PEsmaller_hypo = 30) +/obj/item/reagent_containers/glass/bottle/vial/small/buttreduction + name = "pink hypovial (butt treatment)" + icon_state = "hypovial-pink" + list_reagents = list(/datum/reagent/fermi/AEsmaller_hypo = 30) + /obj/item/reagent_containers/glass/bottle/vial/large/CMO name = "deluxe hypovial" icon_state = "hypoviallarge-cmos" diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index a5b4e5b8ab..6cf528eed7 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -265,3 +265,7 @@ /obj/item/reagent_containers/pill/breast_enlargement name = "breast enlargement pill" list_reagents = list(/datum/reagent/fermi/breast_enlarger = 10) + +/obj/item/reagent_containers/pill/butt_enlargement + name = "butt enlargement pill" + list_reagents = list(/datum/reagent/fermi/butt_enlarger = 10) diff --git a/code/modules/research/designs/limbgrower_designs.dm b/code/modules/research/designs/limbgrower_designs.dm index e30cdfb5ef..f0e162b24f 100644 --- a/code/modules/research/designs/limbgrower_designs.dm +++ b/code/modules/research/designs/limbgrower_designs.dm @@ -212,3 +212,13 @@ reagents_list = list(/datum/reagent/medicine/synthflesh = 25) build_path = /obj/item/organ/genital/breasts category = list("initial","human","lizard","fly","insect","plasmaman","mammal","xeno") + +/datum/design/butt + name = "Butt" + id = "butt" + research_icon_state = "butt_pair_5_s" + research_icon = 'icons/obj/genitals/butt.dmi' + build_type = LIMBGROWER + reagents_list = list(/datum/reagent/medicine/synthflesh = 25) + build_path = /obj/item/organ/genital/butt + category = list("initial","human","lizard","fly","insect","plasmaman","mammal","xeno") diff --git a/code/modules/vending/kinkmate.dm b/code/modules/vending/kinkmate.dm index 6d8eea1782..02f3f30e4b 100644 --- a/code/modules/vending/kinkmate.dm +++ b/code/modules/vending/kinkmate.dm @@ -31,6 +31,7 @@ /obj/item/autosurgeon/testicles = 3, /obj/item/storage/pill_bottle/penis_enlargement = 10, /obj/item/storage/pill_bottle/breast_enlargement = 10, + /obj/item/storage/pill_bottle/butt_enlargement = 10, /obj/item/reagent_containers/glass/bottle/crocin = 10, /obj/item/reagent_containers/glass/bottle/camphor = 5, /obj/item/storage/daki = 4 diff --git a/config/entries/fetish_content.txt b/config/entries/fetish_content.txt index 6fabd095d8..1bc9ebe968 100644 --- a/config/entries/fetish_content.txt +++ b/config/entries/fetish_content.txt @@ -12,6 +12,10 @@ BREASTS_CUPS_PREFS h PENIS_MIN_INCHES_PREFS 1 PENIS_MAX_INCHES_PREFS 24 +## Minimum and maximum limits for butt size from the character creation menu. If there's bigger butt sizes out there, change the max accordingly. +BUTT_MIN_SIZE_PREFS 1 +BUTT_MAX_SIZE_PREFS 5 + ## Body size configs, the feature will be disabled if both min and max have the same value. BODY_SIZE_MIN 0.9 BODY_SIZE_MAX 1.25 diff --git a/html/changelogs/AutoChangeLog-pr-15304.yml b/html/changelogs/AutoChangeLog-pr-15304.yml new file mode 100644 index 0000000000..82b04bfb9b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-15304.yml @@ -0,0 +1,6 @@ +author: "BlueWildrose" +delete-after: True +changes: + - rscadd: "Butts." + - rscadd: "Butt growth related chemicals. Check out the kinkmate, and check out the hypokit for rectifying genitals." + - bugfix: "Testicles are actually rendered again. Hidden testicles are available as well." diff --git a/html/changelogs/AutoChangeLog-pr-15574.yml b/html/changelogs/AutoChangeLog-pr-15574.yml new file mode 100644 index 0000000000..dbb232df28 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-15574.yml @@ -0,0 +1,14 @@ +author: "TripleShades" +delete-after: True +changes: + - rscadd: "Added cameras to some areas in current rotation stations for parity" + - rscadd: "Added light switches to many areas in current rotation stations" + - rscadd: "Added atmos alarms to a few areas in current rotation stations for parity" + - rscadd: "[Box] Gives Morgue Maintenance an APC" + - rscdel: "[Omega] Removes Arrivals Lobby APC since it's now part of the hallway" + - bugfix: "Fixes a few duplicate c_tags for current rotation ruins and stations" + - bugfix: "Fixes some incorrectly placed areas in current rotation stations" + - bugfix: "Fixes pipes that led to nowhere in current rotation stations" + - bugfix: "[Box] Kitchen Cold Room should now lose power via proper area connection" + - bugfix: "[Box] Chief Engineer's Office should no longer be announced as Command erroneously due to mapping error" + - bugfix: "[Omega] Law Office APC should no longer control the Restrooms" diff --git a/icons/obj/genitals/breasts_onmob.dmi b/icons/obj/genitals/breasts_onmob.dmi index 3f3bcf5bd7..aa717be8f0 100644 Binary files a/icons/obj/genitals/breasts_onmob.dmi and b/icons/obj/genitals/breasts_onmob.dmi differ diff --git a/icons/obj/genitals/butt.dmi b/icons/obj/genitals/butt.dmi new file mode 100644 index 0000000000..304a8424bb Binary files /dev/null and b/icons/obj/genitals/butt.dmi differ diff --git a/icons/obj/genitals/butt_onmob.dmi b/icons/obj/genitals/butt_onmob.dmi new file mode 100644 index 0000000000..95a75fa745 Binary files /dev/null and b/icons/obj/genitals/butt_onmob.dmi differ diff --git a/icons/obj/genitals/testicles_onmob.dmi b/icons/obj/genitals/testicles_onmob.dmi index 65eb24268f..febbd5b362 100644 Binary files a/icons/obj/genitals/testicles_onmob.dmi and b/icons/obj/genitals/testicles_onmob.dmi differ diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm index b25cb27543..4516491f9f 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm @@ -37,7 +37,7 @@ if(volume >= 15) //To prevent monkey breast farms var/turf/T = get_turf(M) var/obj/item/organ/genital/breasts/B = new /obj/item/organ/genital/breasts(T) - M.visible_message("A pair of breasts suddenly fly out of the [M]!") + M.visible_message("A pair of breasts suddenly fly out of [M]!") var/T2 = get_random_station_turf() M.adjustBruteLoss(25) M.DefaultCombatKnockdown(50) @@ -179,7 +179,7 @@ if(volume >= 15) //to prevent monkey penis farms var/turf/T = get_turf(M) var/obj/item/organ/genital/penis/P = new /obj/item/organ/genital/penis(T) - M.visible_message("A penis suddenly flies out of the [M]!") + M.visible_message("A penis suddenly flies out of [M]!") var/T2 = get_random_station_turf() M.adjustBruteLoss(25) M.DefaultCombatKnockdown(50) @@ -297,3 +297,87 @@ else if(P.length < optimal_size) P.modify_size(0.1, 0, optimal_size) return ..() + + + +///Ass enhancer +/datum/reagent/fermi/butt_enlarger + name = "Denbu Tincture" //on Hyper it was 'Denbu Draft' but this makes it more consistent with the rectifying chemical down below. + description = "A mixture of natural vitamins and valentines plant extract, causing butt enlargement in humanoids." + color = "#e8ff1b" + taste_description = "butter with a sweet aftertaste" //pass me the butter, OM NOM + overdose_threshold = 17 + can_synth = FALSE + +/datum/reagent/fermi/butt_enlarger/on_mob_metabolize(mob/living/carbon/M) + . = ..() + if(!ishuman(M)) //leaving the monkey feature for those desperate for goon level comedy. + if(volume >= 15) //to prevent monkey butt farms + var/turf/T = get_turf(M) + var/obj/item/organ/genital/butt/B = new /obj/item/organ/genital/butt(T) + M.visible_message("An ass suddenly flies out of [M]!") + var/T2 = get_random_station_turf() + M.adjustBruteLoss(25) + M.DefaultCombatKnockdown(50) + M.Stun(50) + B.throw_at(T2, 8, 1) + M.reagents.del_reagent(type) + return + var/mob/living/carbon/human/H = M + if(!H.getorganslot(ORGAN_SLOT_BUTT) && H.emergent_genital_call()) + H.genital_override = TRUE + +/datum/reagent/fermi/butt_enlarger/on_mob_life(mob/living/carbon/M) //Increases butt size + if(!ishuman(M)) + return ..() + var/mob/living/carbon/human/H = M + if(!(H.client?.prefs.cit_toggles & BUTT_ENLARGEMENT)) + return ..() + var/obj/item/organ/genital/butt/B = M.getorganslot(ORGAN_SLOT_BUTT) + if(!B) //If they don't have a butt. Give them one! + var/obj/item/organ/genital/butt/nB = new + nB.Insert(M) + if(nB) + if(M.dna.species.use_skintones && M.dna.features["genitals_use_skintone"]) + nB.color = SKINTONE2HEX(H.skin_tone) + else if(M.dna.features["butt_color"]) + nB.color = "#[M.dna.features["butt_color"]]" + else + nB.color = SKINTONE2HEX(H.skin_tone) + nB.size = 1 + to_chat(M, "Your ass cheeks bulge outwards and feel more plush.") + M.reagents.remove_reagent(type, 5) + B = nB + //If they have, increase size. + if(B.size_cached < BUTT_SIZE_MAX) //just in case + B.modify_size(0.05) + ..() + +/datum/reagent/fermi/AEsmaller_hypo //"BEsmaller" already exists so using "AE" instead, A is for ass. + name = "Rectify tincture" + color = "#e8ff1b" + taste_description = "butter" + description = "A medicine used to treat organomegaly in a patient's ass." + metabolization_rate = 0.5 + can_synth = TRUE + +/datum/reagent/fermi/AEsmaller_hypo/on_mob_metabolize(mob/living/M) + . = ..() + if(!ishuman(M)) + return + var/mob/living/carbon/human/H = M + if(!H.getorganslot(ORGAN_SLOT_BUTT) && H.dna.features["has_butt"]) + H.give_genital(/obj/item/organ/genital/butt) + +/datum/reagent/fermi/AEsmaller_hypo/on_mob_life(mob/living/carbon/M) + var/obj/item/organ/genital/butt/B = M.getorganslot(ORGAN_SLOT_BUTT) + if(!B) + return ..() + var/optimal_size = M.dna.features["butt_size"] + if(!optimal_size)//Fast fix for those who don't want it. + B.modify_size(-0.2) + else if(B.size > optimal_size) + B.modify_size(-0.1, optimal_size) + else if(B.size < optimal_size) + B.modify_size(0.1, 0, optimal_size) + return ..() diff --git a/tgstation.dme b/tgstation.dme index c55902ed5f..ba1baf4f71 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1835,6 +1835,7 @@ #include "code\modules\arousal\genitals.dm" #include "code\modules\arousal\genitals_sprite_accessories.dm" #include "code\modules\arousal\organs\breasts.dm" +#include "code\modules\arousal\organs\butt.dm" #include "code\modules\arousal\organs\penis.dm" #include "code\modules\arousal\organs\testicles.dm" #include "code\modules\arousal\organs\vagina.dm"