diff --git a/RUN_SERVER.cmd b/RUN_SERVER.cmd new file mode 100644 index 00000000000..70e60a5276d --- /dev/null +++ b/RUN_SERVER.cmd @@ -0,0 +1,2 @@ +@echo off +call "%~dp0\tools\build\build.bat" --wait-on-error server %* diff --git a/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_syndicate_base1_skyrat.dmm b/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_syndicate_base1_skyrat.dmm index 2fd52e14425..3e6cb666ab4 100644 --- a/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_syndicate_base1_skyrat.dmm +++ b/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_syndicate_base1_skyrat.dmm @@ -3592,7 +3592,7 @@ }, /obj/item/paper/fluff/ruins/interdyne/note_1{ name = "Forcefield Generator Maintenance"; - default_raw_text = "To activate a deployable laboratory forcefield, open maintenance hatches of Generator itself, Relay, Well and Charger nodes with a screwdriver and upgrade them with provided parts by using rapid parts exchange device. Then close all hatches and activate every module of generator, by starting with closer to generator nodes in chain-like way. When preparations are done, set generator radius at maximum and press power button. If shield will recieve overwhelm damage, it requires some time to recharge and have to be turned back on manually." + default_raw_text = "To activate a deployable laboratory forcefield, open maintenance hatches of Generator itself, Relay, Well and Charger nodes with a screwdriver and upgrade them with provided parts by using rapid parts exchange device. Then close all hatches and activate every module of generator, by starting with closer to generator nodes in chain-like way. When preparations are done, set generator radius at maximum and press power button. If shield will receive overwhelm damage, it requires some time to recharge and have to be turned back on manually." }, /obj/effect/turf_decal/trimline/dark/filled/corner{ dir = 8 diff --git a/_maps/RandomRuins/LavaRuins/skyrat/lavaland_surface_syndicate_base1_skyrat.dmm b/_maps/RandomRuins/LavaRuins/skyrat/lavaland_surface_syndicate_base1_skyrat.dmm index 587709ac808..f1c75b50841 100644 --- a/_maps/RandomRuins/LavaRuins/skyrat/lavaland_surface_syndicate_base1_skyrat.dmm +++ b/_maps/RandomRuins/LavaRuins/skyrat/lavaland_surface_syndicate_base1_skyrat.dmm @@ -330,7 +330,7 @@ }, /obj/item/paper/fluff/ruins/interdyne/note_1{ name = "Forcefield Generator Maintenance"; - default_raw_text = "To activate a deployable laboratory forcefield, open maintenance hatches of Generator itself, Relay, Well and Charger nodes with a screwdriver and upgrade them with provided parts by using rapid parts exchange device. Then close all hatches and activate every module of generator, by starting with closer to generator nodes in chain-like way. When preparations are done, set generator radius at maximum and press power button. If shield will recieve overwhelm damage, it requires some time to recharge and have to be turned back on manually." + default_raw_text = "To activate a deployable laboratory forcefield, open maintenance hatches of Generator itself, Relay, Well and Charger nodes with a screwdriver and upgrade them with provided parts by using rapid parts exchange device. Then close all hatches and activate every module of generator, by starting with closer to generator nodes in chain-like way. When preparations are done, set generator radius at maximum and press power button. If shield will receive overwhelm damage, it requires some time to recharge and have to be turned back on manually." }, /obj/effect/turf_decal/trimline/dark/filled/corner{ dir = 8 diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm index 9c86551014e..594ff77aabf 100644 --- a/_maps/map_files/Birdshot/birdshot.dmm +++ b/_maps/map_files/Birdshot/birdshot.dmm @@ -254,6 +254,18 @@ /obj/structure/table, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"agb" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/chair/office/light{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "agy" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/tank/oxygen{ @@ -12586,12 +12598,6 @@ }, /turf/open/space/basic, /area/space) -"fuS" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/aft) "fuT" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/atmospherics/pipe/smart/manifold/general/visible{ @@ -12616,18 +12622,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/command/heads_quarters/ce) -"fvu" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/structure/chair/office/light{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) "fvz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12852,6 +12846,18 @@ /obj/effect/spawner/random/structure/furniture_parts, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"fAH" = ( +/obj/effect/gibspawner/human, +/obj/structure/table/optable{ + desc = "A cold, hard place for your final rest."; + name = "Morgue Slab" + }, +/mob/living/carbon/human/species/monkey/humand_legged{ + name = "Charles"; + real_name = "Charles" + }, +/turf/open/floor/iron/white/diagonal, +/area/station/maintenance/department/science/xenobiology) "fAJ" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -19327,6 +19333,12 @@ }, /turf/open/floor/wood, /area/station/engineering/main) +"hGt" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/aft) "hGE" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -33496,6 +33508,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"mdd" = ( +/obj/effect/decal/cleanable/glass, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/structure/aquarium/lawyer, +/turf/open/floor/iron/dark, +/area/station/service/lawoffice) "mdj" = ( /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plating, @@ -44595,13 +44614,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/heads_quarters/qm) -"pBH" = ( -/obj/machinery/atmospherics/pipe/smart/simple/supply/visible/layer2{ - dir = 6 - }, -/obj/machinery/meter/layer2, -/turf/open/floor/iron, -/area/station/engineering/atmos/pumproom) "pBJ" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/airalarm/directional/north, @@ -48025,13 +48037,6 @@ /obj/effect/turf_decal/siding/wideplating/dark, /turf/open/floor/iron, /area/station/security) -"qwG" = ( -/obj/item/kirbyplants/random/fullysynthetic, -/obj/effect/decal/cleanable/glass, -/obj/machinery/airalarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/service/lawoffice) "qwU" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/table/glass, @@ -49322,6 +49327,13 @@ "qPN" = ( /turf/closed/wall/r_wall, /area/station/security/prison/safe) +"qPO" = ( +/obj/machinery/atmospherics/pipe/smart/simple/supply/visible/layer2{ + dir = 6 + }, +/obj/machinery/meter/layer2, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "qQg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -71770,18 +71782,6 @@ /obj/structure/grille, /turf/closed/wall/mineral/titanium/nodiagonal, /area/station/engineering/atmos) -"xai" = ( -/obj/effect/gibspawner/human, -/obj/structure/table/optable{ - desc = "A cold, hard place for your final rest."; - name = "Morgue Slab" - }, -/mob/living/carbon/human/species/monkey/humand_legged{ - name = "Charles"; - real_name = "Charles" - }, -/turf/open/floor/iron/white/diagonal, -/area/station/maintenance/department/science/xenobiology) "xaj" = ( /obj/machinery/light/cold/directional/west, /obj/effect/decal/cleanable/dirt, @@ -76062,6 +76062,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/north, +/mob/living/basic/spider/giant/sgt_araneus, /turf/open/floor/stone, /area/station/command/heads_quarters/hos) "yaG" = ( @@ -89419,7 +89420,7 @@ uGB vja ssP ioN -pBH +qPO oYN dNM lPw @@ -106236,7 +106237,7 @@ tRc tRc tRc tRc -fuS +hGt dHT sSQ sSQ @@ -108554,7 +108555,7 @@ nYk vVP xAA hgf -fvu +agb uGj wgL oiA @@ -113410,7 +113411,7 @@ dDB blb dDB ldq -xai +fAH vXn ldq ldq @@ -113634,7 +113635,7 @@ sCc tOO aYY sCi -qwG +mdd uHe rrH vwc diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index f9bbb5e2f86..45237e45b12 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -12804,6 +12804,11 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/fore) +"deR" = ( +/obj/structure/sign/poster/official/report_crimes/directional/south, +/obj/structure/aquarium/lawyer, +/turf/open/floor/wood, +/area/station/service/lawoffice) "deT" = ( /obj/structure/tank_dispenser/oxygen, /obj/machinery/light/directional/east, @@ -14464,11 +14469,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/library/artgallery) -"dzq" = ( -/obj/structure/chair/office/light, -/obj/effect/turf_decal/trimline/green/filled/warning, -/turf/open/floor/iron/white, -/area/station/medical/virology) "dzw" = ( /turf/closed/wall/r_wall, /area/station/security/brig) @@ -14799,17 +14799,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/security/evidence) -"dFf" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/full, -/turf/open/floor/iron/large, -/area/station/medical/virology) "dFg" = ( /turf/open/floor/iron/chapel{ dir = 9 @@ -20603,15 +20592,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/engineering/atmos/project) -"fdv" = ( -/obj/structure/table/glass, -/obj/machinery/computer/records/medical/laptop, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/virology) "fdG" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -30895,13 +30875,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"hHe" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/sign/warning/electric_shock/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "hHi" = ( /obj/structure/closet/crate/hydroponics, /obj/item/paper/guides/jobs/hydroponics, @@ -38705,6 +38678,13 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) +"jCw" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "jCI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39465,13 +39445,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/large, /area/station/security/checkpoint/escape) -"jMb" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/sign/warning/electric_shock/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "jMk" = ( /obj/machinery/door/window/left/directional/east{ name = "Danger: Conveyor Access"; @@ -43968,6 +43941,21 @@ }, /turf/open/floor/iron, /area/station/maintenance/port) +"kUj" = ( +/obj/effect/decal/cleanable/oil/streak, +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 7 + }, +/obj/item/reagent_containers/cup/soda_cans/space_mountain_wind{ + pixel_x = 5 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/item/toy/figure/bitrunner{ + pixel_x = -6 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/bitrunning/den) "kUn" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/brown{ @@ -44989,11 +44977,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"lhp" = ( -/obj/item/kirbyplants/random, -/obj/structure/sign/poster/official/report_crimes/directional/south, -/turf/open/floor/wood, -/area/station/service/lawoffice) "lhC" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -51046,6 +51029,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/hallway/secondary/construction) +"mIg" = ( +/obj/structure/chair/office/light, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "mIs" = ( /turf/closed/wall, /area/station/command/gateway) @@ -58200,6 +58190,15 @@ }, /turf/open/floor/iron/dark/textured_half, /area/station/service/janitor) +"oDw" = ( +/obj/structure/table/glass, +/obj/machinery/computer/records/medical/laptop, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/medical/virology) "oDx" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -60909,13 +60908,6 @@ }, /turf/open/floor/iron, /area/station/command/gateway) -"pmN" = ( -/obj/structure/chair/office/light, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) "pmS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt, @@ -70722,6 +70714,17 @@ /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron, /area/station/engineering/main) +"rIO" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/full, +/turf/open/floor/iron/large, +/area/station/medical/virology) "rIP" = ( /obj/structure/lattice/catwalk, /obj/structure/sign/warning/secure_area/directional/east, @@ -76991,21 +76994,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/atmos/storage/gas) -"tlu" = ( -/obj/effect/decal/cleanable/oil/streak, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 7 - }, -/obj/item/reagent_containers/cup/soda_cans/space_mountain_wind{ - pixel_x = 5 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/item/toy/figure/bitrunner{ - pixel_x = -6 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/bitrunning/den) "tlA" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 @@ -77778,6 +77766,13 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"tuH" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/sign/warning/electric_shock/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "tuN" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -91415,6 +91410,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"wOz" = ( +/obj/structure/chair/office/light, +/obj/effect/turf_decal/trimline/green/filled/warning, +/turf/open/floor/iron/white, +/area/station/medical/virology) "wOP" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 @@ -131404,7 +131404,7 @@ tgT rZl wjV jpN -pmN +mIg rJG gqm qYo @@ -131907,8 +131907,8 @@ bMV wjP aaa uUx -fdv -dFf +oDw +rIO qJA gKl ecC @@ -131918,7 +131918,7 @@ gqm jyT wjV sFR -dzq +wOz fLV gqm qYo @@ -141065,7 +141065,7 @@ qbd gHq lJw tYI -tlu +kUj hXg lDY tpZ @@ -145205,7 +145205,7 @@ jvs pLR gXc pwx -lhp +deR rYA icD nfC @@ -146272,10 +146272,10 @@ qMf lrr qTb wZE -hHe +jCw nEM uEv -jMb +tuH wZE pSr wlD diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 8020bfa381a..423fc7e6f0f 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -1,11 +1,4 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aak" = ( -/obj/structure/stairs/south, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "aap" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, @@ -43,10 +36,14 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron, /area/station/hallway/primary/port) -"aaX" = ( -/obj/structure/chair/sofa/bench/right, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"aba" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "abb" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 5 @@ -105,29 +102,6 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"acr" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/entertainment/gambling, -/obj/machinery/newscaster/directional/south, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/iron/grimy, -/area/station/commons/lounge) -"acw" = ( -/obj/machinery/camera{ - c_tag = "Starboard Primary Hallway Center East" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"acx" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "acE" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -266,15 +240,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/large, /area/mine/mechbay) -"afv" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "afz" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -300,15 +265,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/upper) -"aga" = ( -/obj/structure/mirror/directional/west, -/obj/item/toy/mecha/honk{ - pixel_y = 12 - }, -/obj/machinery/light/small/directional/west, -/obj/structure/table/wood, -/turf/open/floor/wood/tile, -/area/station/service/theater) "agk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -316,6 +272,14 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/mine/mechbay) +"agl" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "agm" = ( /obj/machinery/camera/directional/north{ c_tag = "Engineering Supermatter Chamber"; @@ -331,13 +295,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"agt" = ( -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "agF" = ( /obj/structure/rack, /obj/item/storage/box/teargas{ @@ -404,16 +361,6 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"ahI" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "ahK" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plating, @@ -428,6 +375,23 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"ahW" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pharmacy_shutters3"; + name = "Pharmacy Shutters" + }, +/turf/open/floor/plating, +/area/station/service/kitchen) +"ail" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "ait" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -520,6 +484,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/security/prison/workout) +"ajS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"ajU" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/hydroponics/constructable, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "akk" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer2{ dir = 4 @@ -603,6 +586,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/transit_tube) +"ale" = ( +/obj/item/bedsheet/red, +/mob/living/simple_animal/bot/secbot/beepsky, +/turf/open/floor/plating, +/area/station/maintenance/fore) "alq" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/iron/grimy, @@ -660,6 +648,10 @@ }, /turf/open/floor/plating, /area/mine/storage) +"ama" = ( +/obj/structure/stairs/south, +/turf/open/floor/stone, +/area/station/commons/lounge) "amg" = ( /obj/machinery/door/poddoor/shutters/window/preopen{ dir = 4; @@ -688,6 +680,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"amr" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/vending/wardrobe/hydro_wardrobe, +/turf/open/floor/iron, +/area/station/service/hydroponics) "amt" = ( /obj/structure/cable, /turf/open/floor/iron/chapel{ @@ -705,6 +706,17 @@ /obj/structure/curtain, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) +"amD" = ( +/obj/machinery/seed_extractor, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "amE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -773,6 +785,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) +"anE" = ( +/obj/item/toy/snowball{ + pixel_x = -6; + pixel_y = -4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "anK" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -834,15 +853,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) -"aoP" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Canteen" - }, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/service/kitchen/diner) "apb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -920,6 +930,16 @@ }, /turf/open/floor/iron, /area/station/command/gateway) +"apQ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "apS" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -953,6 +973,35 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/mine/laborcamp) +"aqg" = ( +/obj/structure/rack, +/obj/item/wrench, +/obj/item/crowbar, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/engineering/flashlight, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/lesser) +"aqk" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/holosign/barrier/atmos/sturdy, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "minecraft_shutter"; + name = "Cart Shutters" + }, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "aqp" = ( /obj/effect/turf_decal/trimline/green/filled/warning{ dir = 8 @@ -1095,17 +1144,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"asJ" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 +"asG" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Dormitory South" }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, +/obj/machinery/light/directional/west, /turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/commons/dorms) "asM" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -1153,6 +1201,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_dark, /area/station/security/prison) +"ati" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "atj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1192,11 +1257,6 @@ /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/medical) -"atM" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "atN" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -1245,23 +1305,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"aut" = ( -/obj/structure/rack, -/obj/item/clothing/suit/utility/fire/firefighter, -/obj/item/tank/internals/oxygen, -/obj/item/clothing/mask/gas, -/obj/item/extinguisher, -/obj/item/clothing/head/utility/hardhat/red, -/obj/item/clothing/glasses/meson, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/atmospherics/components/binary/pump/on/general/visible/layer4{ - dir = 4; - name = "Air In" - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "auw" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 8; @@ -1283,6 +1326,12 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining_station, /turf/open/floor/plating, /area/mine/eva) +"auD" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing/corner/end/flip, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "auJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -1294,12 +1343,6 @@ /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) -"auN" = ( -/obj/structure/chair/sofa/corp/right{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "avb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -1339,6 +1382,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/ai_monitored/security/armory/upper) +"awh" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 8 + }, +/obj/structure/sign/poster/official/help_others/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/fitness) "awn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -1442,6 +1495,12 @@ /obj/machinery/modular_computer/preset/id, /turf/open/floor/iron, /area/station/command/bridge) +"axh" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "axm" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -1493,6 +1552,17 @@ /obj/effect/spawner/random/structure/billboard/nanotrasen, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"axM" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/service/hydroponics) "axN" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -1526,16 +1596,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/lobby) -"ayk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 +"ayd" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = -4 }, -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, +/obj/machinery/light_switch/directional/west{ + pixel_y = 5 + }, +/obj/machinery/photocopier, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/wood, /area/station/hallway/secondary/service) "ayq" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ @@ -1650,16 +1720,6 @@ }, /turf/open/floor/plating, /area/station/science/robotics/lab) -"aAa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "aAf" = ( /obj/machinery/incident_display/delam, /turf/closed/wall/r_wall, @@ -1714,6 +1774,23 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) +"aBJ" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/table/glass, +/obj/item/book/manual/hydroponics_pod_people, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/poster/contraband/kudzu/directional/north, +/obj/machinery/light/small/directional/west, +/obj/item/plant_analyzer, +/obj/item/watertank{ + pixel_y = -3; + pixel_x = -5 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "aBR" = ( /turf/open/genturf/blue, /area/icemoon/surface/outdoors/noruins) @@ -1817,6 +1894,10 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"aDA" = ( +/obj/machinery/newscaster/directional/east, +/turf/open/floor/stone, +/area/station/commons/lounge) "aDJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -1824,6 +1905,11 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron/dark/side, /area/station/security/prison) +"aDQ" = ( +/obj/item/kirbyplants/fern, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "aDZ" = ( /obj/structure/sign/warning/secure_area/directional/east, /obj/machinery/door/firedoor, @@ -1834,6 +1920,12 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/command/bridge) +"aEd" = ( +/obj/structure/chair/sofa/right/brown{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "aEA" = ( /obj/structure/rack, /obj/item/clothing/mask/gas, @@ -1884,15 +1976,6 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) -"aEU" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "aFg" = ( /obj/machinery/button/door/directional/east{ id = "lawyer_blast"; @@ -1970,6 +2053,10 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) +"aGz" = ( +/obj/effect/spawner/random/trash/bin, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "aGB" = ( /obj/machinery/telecomms/processor/preset_two, /turf/open/floor/iron/dark/telecomms, @@ -2088,10 +2175,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"aJh" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "aJm" = ( /obj/structure/cable, /obj/machinery/door/window/left/directional/east{ @@ -2144,6 +2227,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"aJJ" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "aJN" = ( /obj/structure/table/wood, /turf/open/floor/carpet, @@ -2180,6 +2270,13 @@ /obj/machinery/light/directional/south, /turf/open/floor/carpet, /area/station/security/detectives_office) +"aKg" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 10 + }, +/turf/open/floor/wood/large, +/area/station/hallway/primary/starboard) "aKq" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/portable_atmospherics/canister/air, @@ -2202,10 +2299,11 @@ /obj/structure/cable, /turf/open/floor/iron/white/textured, /area/station/security/medical) -"aKG" = ( -/obj/structure/table, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) +"aKC" = ( +/obj/structure/marker_beacon/burgundy, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "aKI" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -2338,12 +2436,6 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"aMX" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "aNc" = ( /obj/structure/fence{ dir = 4 @@ -2380,11 +2472,6 @@ /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/plating, /area/mine/eva/lower) -"aNR" = ( -/obj/machinery/smartfridge, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/service/bar/backroom) "aOa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2401,6 +2488,14 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/mine/eva) +"aOi" = ( +/obj/item/toy/snowball{ + pixel_y = 3; + pixel_x = 3 + }, +/obj/item/toy/snowball, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "aOz" = ( /obj/structure/chair{ dir = 4 @@ -2430,20 +2525,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/textured, /area/station/security/medical) -"aOV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ - color = "#ff0000"; - dir = 8; - name = "Scrubbers multi deck pipe adapter" - }, -/obj/structure/disposalpipe/trunk/multiz/down{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "aOX" = ( /turf/open/floor/engine/co2, /area/station/engineering/atmos) @@ -2476,15 +2557,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/atmos) -"aPo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "aPD" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage_shared) @@ -2548,6 +2620,13 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/stone, /area/mine/eva/lower) +"aQH" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/wood/large, +/area/station/service/bar) "aQJ" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -2744,14 +2823,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"aTm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "aTp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2763,6 +2834,12 @@ /obj/structure/displaycase/captain, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) +"aTx" = ( +/obj/structure/railing, +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "aTE" = ( /obj/structure/table/reinforced, /obj/machinery/light_switch/directional/east, @@ -2801,16 +2878,6 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron, /area/station/commons/storage/tools) -"aTV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/light/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "aTZ" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 @@ -2895,19 +2962,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"aUY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/chair/sofa/corp/right{ - dir = 4; - pixel_x = -4; - pixel_y = 8 - }, -/obj/machinery/newscaster/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/bar/atrium) "aVb" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -3030,6 +3084,18 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/security/armory/upper) +"aWs" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sink/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "aWD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3042,10 +3108,6 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"aWI" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "aWN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/siding/thinplating_new/corner{ @@ -3053,11 +3115,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) -"aWS" = ( -/obj/structure/table, -/obj/item/storage/box/donkpockets/donkpocketberry, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "aWV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -3069,6 +3126,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/mine/laborcamp/security) +"aXn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ + dir = 8; + name = "Air Out" + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "aXp" = ( /obj/structure/cable, /obj/machinery/button/door/directional/west{ @@ -3230,18 +3297,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"baj" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel Maintenance External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/chapel) "bam" = ( /turf/open/floor/carpet/red, /area/station/commons/vacant_room/office) @@ -3252,14 +3307,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"baq" = ( -/obj/machinery/modular_computer/preset/civilian{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/south, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "bar" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -3358,6 +3405,10 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron/textured, /area/station/security/brig) +"bck" = ( +/obj/structure/flora/rock/pile/icy/style_random, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "bcm" = ( /obj/machinery/camera/directional/east{ c_tag = "Security - Lower Brig Cells"; @@ -3394,6 +3445,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/xenobiology) +"bcG" = ( +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "bcN" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/central) @@ -3501,6 +3556,28 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) +"beG" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/structure/table/glass, +/obj/machinery/reagentgrinder{ + pixel_y = 8; + pixel_x = 6 + }, +/obj/item/storage/box/syringes{ + pixel_y = 8; + pixel_x = -5 + }, +/obj/item/storage/box/beakers{ + pixel_y = 5; + pixel_x = -9 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "beO" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -3513,11 +3590,6 @@ /obj/structure/sign/painting/large, /turf/open/floor/wood, /area/station/security/prison/rec) -"beT" = ( -/obj/structure/table/glass, -/obj/item/cultivator, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "beZ" = ( /turf/closed/indestructible/riveted{ desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease"; @@ -3582,20 +3654,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) -"bfZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/half{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/half{ - dir = 1 - }, -/area/station/hallway/secondary/service) -"bgd" = ( -/obj/structure/reagent_dispensers/plumbed, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/morgue) "bgs" = ( /obj/structure/sign/poster/random/directional/east, /obj/structure/cable, @@ -3640,10 +3698,6 @@ }, /turf/open/floor/iron/large, /area/station/command/gateway) -"bgG" = ( -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "bgK" = ( /obj/structure/table, /obj/item/toner, @@ -3752,6 +3806,14 @@ /obj/item/clothing/head/beanie/orange, /turf/open/floor/iron, /area/station/cargo/storage) +"biC" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/atrium) "biI" = ( /obj/machinery/camera/directional/west{ c_tag = "Xenobiology Test Chamber"; @@ -3782,6 +3844,14 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"biW" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "biY" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/fore) @@ -3836,6 +3906,13 @@ dir = 4 }, /area/station/security/prison) +"bju" = ( +/obj/structure/cable, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "bjv" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -3850,6 +3927,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"bjy" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "bjN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -3869,14 +3955,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"bjZ" = ( -/obj/structure/sink/kitchen/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "bkg" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/north, @@ -4026,13 +4104,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/library) -"bmf" = ( -/obj/effect/turf_decal/tile/blue/diagonal_edge, -/obj/machinery/computer/order_console/cook{ - dir = 1 - }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "bml" = ( /obj/structure/table, /obj/item/storage/medkit/regular, @@ -4045,21 +4116,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"bmw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) -"bmz" = ( -/obj/machinery/door/firedoor, -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "bmM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -4093,6 +4149,16 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/xenobiology) +"bnj" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "bnl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4147,6 +4213,14 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/interrogation) +"bnR" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "bnZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2{ dir = 1 @@ -4175,10 +4249,24 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"boK" = ( -/obj/structure/closet/firecloset, +"boJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ + color = "#0000ff"; + dir = 8; + name = "Supply multi deck pipe adapter" + }, +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ + color = "#ff0000"; + dir = 8; + name = "Scrubbers multi deck pipe adapter" + }, +/obj/structure/cable/multilayer/multiz, +/obj/machinery/airalarm/directional/east, /turf/open/floor/plating, -/area/station/service/kitchen/coldroom) +/area/station/maintenance/starboard/fore) "boO" = ( /obj/structure/chair/sofa/left/brown{ dir = 8 @@ -4203,16 +4291,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) -"boV" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "bpd" = ( /obj/machinery/power/smes/engineering, /obj/effect/turf_decal/delivery, @@ -4247,6 +4325,15 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"bpw" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "bpD" = ( /obj/machinery/newscaster/directional/south, /obj/structure/closet/firecloset, @@ -4254,11 +4341,6 @@ dir = 8 }, /area/station/science/research) -"bpG" = ( -/obj/effect/turf_decal/tile/blue/diagonal_edge, -/obj/machinery/chem_master/condimaster, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "bpK" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/unres, @@ -4337,18 +4419,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/brig/upper) -"bqH" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "bqX" = ( /obj/machinery/air_sensor/ordnance_burn_chamber, /turf/open/floor/engine/vacuum, @@ -4533,19 +4603,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"btp" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Service Diner North" - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "bts" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -4756,29 +4813,23 @@ dir = 8 }, /area/station/hallway/secondary/entry) -"bwr" = ( -/obj/machinery/light_switch/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) -"bws" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "bwt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"bwE" = ( +/obj/structure/closet/lasertag/red, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) "bwK" = ( /obj/structure/bookcase/random/religion, /turf/open/floor/wood, /area/station/service/library) -"bwL" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "bwM" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -4803,10 +4854,17 @@ "bxe" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/starboard/fore) -"bxv" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +"bxw" = ( +/obj/item/popsicle_stick{ + pixel_y = 1; + pixel_x = -9 + }, +/obj/item/popsicle_stick{ + pixel_y = 3; + pixel_x = -2 + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "bxJ" = ( /obj/structure/closet/crate, /turf/open/floor/plating, @@ -4847,6 +4905,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) +"bya" = ( +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "byd" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /obj/machinery/light_switch/directional/south, @@ -4855,15 +4917,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) -"byk" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/structure/table, -/obj/machinery/microwave, -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "byl" = ( /obj/machinery/conveyor{ dir = 4; @@ -4918,6 +4971,13 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) +"byG" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/loading_area/white, +/turf/open/floor/wood/large, +/area/station/service/bar/atrium) "byH" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/iron/dark, @@ -4950,22 +5010,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"bzn" = ( -/obj/machinery/door/airlock{ - name = "Kitchen Access" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "kitchencounter"; - name = "Kitchen Shutters" - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "bzA" = ( /obj/machinery/vending/coffee, /obj/effect/turf_decal/siding/wood/corner{ @@ -5022,6 +5066,22 @@ "bzW" = ( /turf/open/floor/engine/plasma, /area/station/engineering/atmos) +"bzX" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Fitness" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/commons/fitness) "bAa" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -5105,6 +5165,10 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/engineering/lobby) +"bBu" = ( +/obj/structure/reagent_dispensers/cooking_oil, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "bBw" = ( /obj/item/trash/sosjerky, /turf/open/floor/plating, @@ -5371,25 +5435,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/white, /area/station/maintenance/aft/greater) -"bEp" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Service Hallway - Lower East" - }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/photocopier, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) -"bEq" = ( -/obj/machinery/door/window/right/directional/north{ - name = "Terrarium"; - req_access = list("hydroponics") - }, -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/grass, -/area/station/service/hydroponics) "bEz" = ( /obj/machinery/door/airlock/command/glass{ name = "Secure EVA Storage" @@ -5440,6 +5485,12 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"bEO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "bEU" = ( /obj/structure/railing/wooden_fence{ dir = 4 @@ -5471,17 +5522,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"bFw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/table, -/obj/item/pen{ - pixel_x = -5 - }, -/obj/item/paper_bin, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) "bFS" = ( /obj/item/crowbar/red, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5565,17 +5605,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"bHG" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "bHI" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -5593,10 +5622,6 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"bHS" = ( -/obj/structure/chair/stool/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) "bHZ" = ( /obj/effect/spawner/random/trash/mess, /obj/effect/mapping_helpers/burnt_floor, @@ -5665,17 +5690,6 @@ "bID" = ( /turf/closed/wall/r_wall, /area/station/engineering/lobby) -"bIH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/sofa/right/brown{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/grimy, -/area/station/commons/lounge) "bIL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -5718,11 +5732,6 @@ /obj/machinery/light/small/red/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"bIW" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "bJa" = ( /obj/structure/railing{ dir = 4 @@ -5804,17 +5813,6 @@ /obj/item/paper/fluff/ids_for_dummies, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"bJA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/multi_tile/public/glass{ - name = "The Girly Boar" - }, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/atrium) "bJD" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/n2{ dir = 4 @@ -5961,10 +5959,32 @@ }, /turf/open/floor/wood, /area/station/service/library) +"bLS" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/trash/janitor_supplies, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "bLW" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/station/commons/vacant_room/commissary) +"bLX" = ( +/obj/structure/table, +/obj/item/toy/figure/virologist{ + pixel_x = -8; + pixel_y = 7 + }, +/obj/item/radio/headset/headset_med{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/book/manual/wiki/infections{ + pixel_x = 10; + pixel_y = 2 + }, +/obj/effect/turf_decal/tile/green/full, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/virology) "bLY" = ( /obj/structure/cable, /obj/machinery/duct, @@ -5987,17 +6007,18 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"bMu" = ( -/obj/machinery/door/airlock{ - name = "Service Hall" +"bMs" = ( +/obj/structure/railing{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 +/obj/effect/turf_decal/siding/white{ + dir = 4 }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured_half, -/area/station/hallway/secondary/service) +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "bMz" = ( /obj/docking_port/stationary{ dir = 8; @@ -6039,6 +6060,13 @@ }, /turf/open/floor/iron, /area/station/command/bridge) +"bNi" = ( +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "bNo" = ( /obj/machinery/conveyor{ dir = 8; @@ -6086,6 +6114,9 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/cryo) +"bNO" = ( +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "bOg" = ( /obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6130,6 +6161,10 @@ }, /turf/open/floor/plating, /area/mine/living_quarters) +"bOB" = ( +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "bOO" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 @@ -6159,21 +6194,24 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"bPg" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/obj/machinery/firealarm/directional/west, -/obj/structure/sink/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) "bPn" = ( /obj/structure/girder, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"bPq" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/item/stack/package_wrap{ + pixel_y = 2 + }, +/obj/item/book/manual/chef_recipes, +/obj/item/holosign_creator/robot_seat/restaurant, +/obj/structure/rack, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "bPr" = ( /obj/structure/table, /obj/item/stack/cable_coil{ @@ -6249,6 +6287,11 @@ }, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/storage) +"bQa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/fore) "bQd" = ( /obj/structure/fireaxecabinet/directional/south, /obj/structure/disposalpipe/segment{ @@ -6263,16 +6306,6 @@ dir = 1 }, /area/station/hallway/primary/starboard) -"bQr" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/duct, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bQA" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -6283,16 +6316,6 @@ }, /turf/open/floor/plating, /area/mine/eva/lower) -"bQP" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/red/full, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "bQS" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6307,6 +6330,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"bQY" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/coin{ + pixel_x = -7 + }, +/obj/effect/spawner/random/clothing/bowler_or_that, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "bRb" = ( /obj/structure/flora/bush/lavendergrass/style_random, /turf/open/floor/grass, @@ -6394,12 +6425,34 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/eighties/red, /area/station/security/prison/safe) +"bSu" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/graffiti{ + pixel_y = 32 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "bSz" = ( /obj/structure/railing{ dir = 8 }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"bSC" = ( +/obj/effect/decal/cleanable/confetti, +/obj/structure/closet/crate/cardboard, +/obj/item/storage/cans/sixbeer, +/obj/effect/spawner/random/food_or_drink/cups, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "bSG" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 8 @@ -6416,20 +6469,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"bSU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/service/hydroponics) "bSX" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/chair/sofa/right/brown, @@ -6478,10 +6517,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"bUc" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "bUp" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, /area/station/security/prison/garden) +"bUs" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "bUx" = ( /turf/closed/wall/r_wall, /area/station/maintenance/fore) @@ -6616,11 +6667,27 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/iron/dark, /area/station/service/chapel) +"bWx" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "bWy" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/engineering/atmos) +"bWz" = ( +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "bWK" = ( /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) @@ -6661,17 +6728,6 @@ }, /turf/open/floor/plating/elevatorshaft, /area/mine/storage) -"bXj" = ( -/obj/machinery/airalarm/directional/west, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "bXl" = ( /obj/machinery/air_sensor/nitrous_tank, /turf/open/floor/engine/n2o, @@ -6729,6 +6785,17 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/dark, /area/station/medical/storage) +"bXZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "bYd" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/light/small/directional/west, @@ -6742,6 +6809,18 @@ /obj/effect/spawner/random/armory/laser_gun, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) +"bYj" = ( +/obj/machinery/smartfridge, +/obj/machinery/door/window/right/directional/south{ + name = "Produce Access"; + req_access = list("hydroponics") + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "bYm" = ( /obj/structure/chair/pew{ dir = 1 @@ -6991,15 +7070,16 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"cbS" = ( -/obj/structure/rack, -/obj/item/wrench, -/obj/item/crowbar, -/obj/structure/disposalpipe/segment{ - dir = 4 +"cbU" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/lesser) +/turf/open/floor/plating, +/area/station/service/hydroponics) "ccg" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -7131,6 +7211,14 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) +"cdh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "cdl" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -7140,16 +7228,21 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"cdM" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 +"cdv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 5 }, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/structure/rack, +/obj/item/tank/internals/oxygen, +/obj/item/extinguisher, +/obj/item/clothing/suit/utility/fire/firefighter, +/obj/item/clothing/head/utility/hardhat/red, +/obj/item/clothing/mask/gas, +/obj/item/clothing/glasses/meson, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "cef" = ( /obj/machinery/biogenerator, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -7178,6 +7271,22 @@ /obj/effect/turf_decal/trimline/blue/filled/corner, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"ceA" = ( +/obj/item/book/manual/wiki/barman_recipes{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/rag, +/obj/structure/table/wood, +/obj/item/holosign_creator/robot_seat/bar{ + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) "ceE" = ( /obj/machinery/door/airlock/virology/glass{ name = "Isolation B" @@ -7277,6 +7386,12 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"cfN" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "cfS" = ( /obj/item/clothing/suit/costume/snowman{ name = "Man of Snow" @@ -7324,6 +7439,11 @@ /obj/effect/landmark/start/coroner, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"cgo" = ( +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "cgs" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/dark, @@ -7341,13 +7461,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) -"cgz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "cgC" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -7377,22 +7490,11 @@ /obj/structure/fence/door, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"chj" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "cht" = ( /obj/machinery/vending/engivend, /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/storage_shared) -"chB" = ( -/obj/machinery/door/airlock{ - id_tag = "Toilet1"; - name = "Unit 1" - }, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "chC" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -7444,6 +7546,12 @@ }, /turf/open/floor/iron/white/side, /area/mine/living_quarters) +"chU" = ( +/obj/structure/statue/snow/snowman{ + name = "Steve" + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "chW" = ( /obj/structure/extinguisher_cabinet/directional/west, /obj/machinery/chem_master, @@ -7516,20 +7624,6 @@ /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"cjj" = ( -/obj/machinery/holopad, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) -"cjl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "cjz" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/rack, @@ -7555,13 +7649,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"cjK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "cjL" = ( /obj/structure/chair/office{ dir = 1 @@ -7618,6 +7705,11 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) +"cle" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/maintenance/three, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "cll" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -7632,6 +7724,12 @@ /obj/effect/spawner/random/maintenance/seven, /turf/open/floor/plating, /area/station/construction) +"cln" = ( +/obj/item/food/chococoin, +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "clo" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/light/small/directional/north, @@ -7846,11 +7944,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/plating, /area/station/engineering/atmos) -"cnr" = ( -/obj/machinery/vending/autodrobe, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/wood/tile, -/area/station/service/theater) "cnx" = ( /obj/machinery/power/tracker, /obj/structure/cable, @@ -7876,6 +7969,20 @@ }, /turf/open/floor/iron, /area/station/cargo/office) +"cnI" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/door/airlock{ + name = "Bar" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/bar) "cnU" = ( /obj/machinery/modular_computer/preset/id, /obj/machinery/computer/security/telescreen/vault{ @@ -7886,14 +7993,15 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"coL" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 8 +"cok" = ( +/obj/structure/toilet/greyscale{ + cistern_open = 1; + dir = 1 }, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/effect/spawner/random/entertainment/cigar, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/toilet) "coT" = ( /obj/structure/table, /obj/item/storage/wallet, @@ -7924,6 +8032,14 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"cph" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/commons/lounge) "cpl" = ( /obj/machinery/camera/directional/south{ c_tag = "Atmospherics Storage Room - East" @@ -7955,6 +8071,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) +"cpy" = ( +/obj/structure/sign/warning/cold_temp/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "cpA" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -7963,6 +8083,15 @@ /obj/structure/railing, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"cpD" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "cpG" = ( /obj/structure/table, /obj/item/toy/cards/deck, @@ -8102,13 +8231,6 @@ /obj/effect/spawner/random/clothing/bowler_or_that, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"csg" = ( -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck{ - pixel_y = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "csm" = ( /obj/machinery/door/airlock/external{ name = "External Access" @@ -8127,13 +8249,14 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"csR" = ( +"csM" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "csT" = ( /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) @@ -8306,14 +8429,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"cvz" = ( -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/landmark/event_spawn, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "cvB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm/directional/west, @@ -8359,12 +8474,6 @@ "cvS" = ( /turf/closed/wall, /area/station/maintenance/department/medical/central) -"cwd" = ( -/obj/machinery/disposal/bin, -/obj/machinery/light/small/directional/west, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/iron, -/area/station/service/theater) "cwe" = ( /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, @@ -8591,15 +8700,6 @@ /obj/machinery/modular_computer/preset/cargochat/engineering, /turf/open/floor/iron/dark, /area/station/engineering/lobby) -"czm" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "czq" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -8642,6 +8742,17 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) +"czC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/chair, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "czD" = ( /turf/closed/wall, /area/mine/laborcamp/security) @@ -8650,6 +8761,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) +"czH" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/station/maintenance/starboard/fore) "czO" = ( /obj/machinery/door/airlock/atmos{ name = "Atmospherics" @@ -8701,6 +8819,31 @@ dir = 1 }, /area/station/hallway/primary/starboard) +"cAm" = ( +/obj/structure/closet/crate{ + name = "Le Caisee D'abeille" + }, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/queen_bee/bought, +/obj/item/clothing/suit/hooded/bee_costume, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/warm/directional/north, +/obj/item/seeds/sunflower, +/obj/effect/spawner/random/food_or_drink/seed, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "cAo" = ( /obj/machinery/airalarm/directional/west, /obj/structure/closet/toolcloset, @@ -8809,21 +8952,22 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"cBj" = ( -/obj/structure/closet/emcloset, -/obj/item/clothing/head/costume/festive, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "cBn" = ( /obj/structure/sign/poster/random/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"cBC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"cBt" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/structure/displaycase/forsale/kitchen, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "cBD" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -8840,15 +8984,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/prison/workout) -"cBL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/vending/coffee, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/stone, -/area/station/commons/lounge) "cBP" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp{ @@ -8856,6 +8991,9 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"cBQ" = ( +/turf/open/genturf, +/area/icemoon/surface/outdoors/nospawn) "cBT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, @@ -8876,6 +9014,12 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"cBX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/station/service/library) "cCb" = ( /obj/structure/flora/tree/pine/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -9048,6 +9192,18 @@ /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"cEH" = ( +/mob/living/basic/goat/pete{ + desc = "Not known for their pleasant disposition. This one seems a bit more hardy to the cold."; + habitable_atmos = list("min_oxy"=1,"max_oxy"=0,"min_plas"=0,"max_plas"=1,"min_co2"=0,"max_co2"=5,"min_n2"=0,"max_n2"=0); + minimum_survivable_temperature = 150; + name = "Snowy Pete" + }, +/turf/open/misc/ice/coldroom, +/area/station/service/kitchen/coldroom) +"cEK" = ( +/turf/open/floor/wood, +/area/station/commons/lounge) "cEL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9087,6 +9243,10 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"cFQ" = ( +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/commons/lounge) "cFX" = ( /obj/structure/sign/nanotrasen{ pixel_x = -32 @@ -9147,11 +9307,21 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) -"cGZ" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"cGT" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"cHa" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "cHb" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -9185,21 +9355,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"cHy" = ( -/obj/structure/cable, -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "cHB" = ( /obj/machinery/vending/autodrobe, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"cHJ" = ( +/obj/machinery/light/cold/directional/west, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) +"cHN" = ( +/obj/machinery/camera{ + c_tag = "Service - Botany"; + dir = 9 + }, +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "cHO" = ( /obj/effect/turf_decal/tile/dark_green{ dir = 4 @@ -9216,20 +9395,6 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"cHR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ - color = "#ff0000"; - dir = 8; - name = "Scrubbers multi deck pipe adapter" - }, -/obj/structure/disposalpipe/trunk/multiz{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "cHY" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -9249,15 +9414,6 @@ "cIc" = ( /turf/closed/wall, /area/station/security/prison/work) -"cId" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "cIq" = ( /obj/machinery/computer/slot_machine{ balance = 15; @@ -9269,12 +9425,25 @@ /obj/item/coin/diamond, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"cIH" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/fake_stairs/wood/directional/north, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "cIK" = ( /obj/structure/table/wood, /obj/item/pai_card, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/fore) +"cIL" = ( +/obj/structure/chair/sofa/bench/left, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "cIP" = ( /obj/machinery/bookbinder, /turf/open/floor/wood, @@ -9359,11 +9528,21 @@ dir = 6 }, /area/station/science/research) -"cKn" = ( +"cKp" = ( +/obj/machinery/door/airlock/external, +/obj/structure/sign/warning/gas_mask/directional/south{ + desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "chem-morgue-airlock" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /obj/effect/mapping_helpers/broken_floor, -/mob/living/simple_animal/bot/secbot/beepsky, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, /turf/open/floor/plating, -/area/station/maintenance/fore) +/area/station/medical/morgue) "cKq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9376,6 +9555,21 @@ }, /turf/open/floor/iron/dark/side, /area/station/security/processing) +"cKz" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/green/filled/corner, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "cKA" = ( /obj/structure/window/reinforced/spawner/directional/north{ pixel_y = 2 @@ -9412,6 +9606,11 @@ /obj/machinery/iv_drip, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"cLj" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "cLo" = ( /obj/machinery/recharge_station, /turf/open/floor/iron, @@ -9512,16 +9711,6 @@ "cMk" = ( /turf/closed/wall/r_wall, /area/mine/production) -"cMs" = ( -/obj/effect/turf_decal/tile/blue/diagonal_edge, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/light/directional/south, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "cMv" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -9571,6 +9760,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"cMK" = ( +/obj/item/toy/snowball{ + pixel_x = -11; + pixel_y = -2 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "cMN" = ( /obj/machinery/door/airlock/security/glass{ name = "Medbay Security Post" @@ -9592,16 +9788,23 @@ /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"cNd" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" +"cNf" = ( +/obj/structure/cable, +/obj/structure/holosign/barrier/atmos/sturdy, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/machinery/door/poddoor/shutters{ + dir = 1; + id = "minecraft_shutter"; + name = "Cart Shutters" }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/iron/textured, +/area/station/service/kitchen/coldroom) "cNh" = ( /obj/structure/fence/corner{ dir = 10 @@ -9623,15 +9826,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/service/lawoffice) -"cND" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "cNI" = ( /obj/machinery/door/poddoor/preopen{ id = "xenobio7"; @@ -9718,11 +9912,31 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/dark/smooth_half, /area/station/service/chapel) +"cPs" = ( +/obj/structure/closet/lasertag/blue, +/obj/effect/landmark/start/hangover/closet, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) "cPE" = ( /turf/open/floor/iron/smooth_half{ dir = 1 }, /area/station/security/prison/garden) +"cPF" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "cPI" = ( /obj/structure/table/wood, /obj/item/flashlight/lantern/on, @@ -9798,11 +10012,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) -"cQv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "cQw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown{ @@ -9892,22 +10101,12 @@ /obj/machinery/processor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"cSc" = ( -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/structure/closet/crate{ - name = "Le Caisee D'abeille" +"cRZ" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 }, -/obj/item/honey_frame, -/obj/item/honey_frame, -/obj/item/honey_frame, -/obj/item/clothing/suit/utility/beekeeper_suit, -/obj/item/clothing/suit/hooded/bee_costume, -/obj/item/clothing/head/utility/beekeeper_head, -/obj/item/clothing/head/hooded/bee_hood, -/obj/item/melee/flyswatter, -/obj/item/queen_bee/bought, -/turf/open/floor/grass, -/area/station/service/hydroponics) +/turf/open/floor/plating, +/area/station/maintenance/department/medical/morgue) "cSe" = ( /obj/structure/table, /obj/item/flashlight{ @@ -9925,13 +10124,6 @@ initial_gas_mix = "ICEMOON_ATMOS" }, /area/icemoon/underground/explored) -"cSu" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet, -/area/station/service/theater) "cSw" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -9963,13 +10155,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"cSQ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "cTh" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -10035,18 +10220,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"cUt" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "cUF" = ( /obj/machinery/camera/directional/west{ c_tag = "Aft Primary Hallway North" @@ -10057,6 +10230,15 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"cUP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Service - Electrical Maintenace Lower" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/lesser) "cVa" = ( /obj/machinery/camera/directional/north{ c_tag = "Fitness Room North" @@ -10104,6 +10286,10 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) +"cWr" = ( +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "cWG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10134,6 +10320,15 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"cXb" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "cXc" = ( /obj/effect/turf_decal/arrows, /turf/open/floor/iron, @@ -10170,15 +10365,6 @@ dir = 1 }, /area/station/security/prison/garden) -"cXN" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Fitness Room South" - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "cXV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/dark_red/filled/line{ @@ -10344,6 +10530,14 @@ "cZD" = ( /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) +"cZI" = ( +/obj/structure/table/wood, +/obj/item/wallframe/camera{ + pixel_y = -2; + pixel_x = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "cZN" = ( /obj/structure/table/wood, /obj/item/soap/nanotrasen, @@ -10372,6 +10566,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"dac" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/deepfryer, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "daf" = ( /obj/structure/table, /turf/open/floor/plating/snowed/icemoon, @@ -10445,14 +10647,6 @@ /obj/structure/sign/warning/gas_mask, /turf/closed/wall, /area/station/service/chapel) -"daZ" = ( -/obj/structure/marker_beacon/jade, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"dbb" = ( -/obj/structure/reagent_dispensers/cooking_oil, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "dbi" = ( /obj/structure/table, /obj/item/flashlight, @@ -10489,10 +10683,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"dby" = ( -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "dbH" = ( /turf/closed/wall/r_wall, /area/station/security/prison/mess) @@ -10508,6 +10698,16 @@ /obj/structure/cable, /turf/open/floor/carpet/red, /area/station/security/prison/work) +"dcp" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dcq" = ( /obj/structure/bed, /obj/machinery/airalarm/directional/north, @@ -10670,6 +10870,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"ddB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "ddZ" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/green{ @@ -10751,6 +10960,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) +"dfv" = ( +/obj/structure/fence/cut/large{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dfw" = ( /obj/structure/reagent_dispensers/wall/peppertank/directional/west, /obj/machinery/airalarm/directional/north, @@ -10788,6 +11003,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"dgI" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "dgZ" = ( /obj/machinery/airalarm/directional/south, /obj/structure/cable, @@ -10807,6 +11029,16 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) +"dhd" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock/maintenance{ + name = "Kitchen Maintenance" + }, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "dhj" = ( /obj/machinery/light_switch/directional/north, /turf/open/floor/wood, @@ -10827,6 +11059,16 @@ /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/medical) +"dhm" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "dhq" = ( /turf/closed/mineral/random/labormineral/ice, /area/icemoon/surface/outdoors/labor_camp) @@ -10915,15 +11157,6 @@ "diC" = ( /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory/upper) -"diH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "diI" = ( /obj/machinery/mech_bay_recharge_port, /obj/item/radio/intercom/directional/south, @@ -10948,6 +11181,14 @@ dir = 1 }, /area/mine/living_quarters) +"diY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "djr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11055,11 +11296,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"dkO" = ( -/obj/effect/landmark/start/hangover, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "dkT" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 1 @@ -11110,6 +11346,11 @@ }, /turf/open/floor/plating, /area/station/construction) +"dlV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/warning/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/fore) "dmj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /obj/machinery/button/door/directional/east{ @@ -11145,12 +11386,6 @@ /obj/structure/ladder, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"dmD" = ( -/obj/structure/closet/secure_closet/bar, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar/backroom) "dmG" = ( /obj/structure/table/wood, /obj/item/camera, @@ -11161,6 +11396,11 @@ /obj/effect/turf_decal/tile/yellow/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/pharmacy) +"dmL" = ( +/obj/machinery/light_switch/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/department/electrical) "dmR" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -11267,9 +11507,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"doJ" = ( -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "doK" = ( /obj/machinery/button/door/directional/east{ id = "xenobio8"; @@ -11343,11 +11580,37 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) +"dpF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron, +/area/station/commons/fitness) "dpH" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/central/greater) +"dpP" = ( +/obj/machinery/door/airlock/wood{ + name = "Backstage" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/service/theatre, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/theater) "dpU" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11364,18 +11627,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"dqd" = ( +"dqe" = ( /obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing/corner/end{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/half{ - dir = 4 - }, -/turf/open/floor/iron/half{ - dir = 1 - }, -/area/station/hallway/secondary/service) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dqg" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/secure_area/directional/south, @@ -11387,10 +11648,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/hallway/primary/central) -"dqv" = ( -/obj/item/bedsheet/red, -/turf/open/floor/plating, -/area/station/maintenance/fore) "dqw" = ( /obj/machinery/holopad, /turf/open/floor/iron, @@ -11448,11 +11705,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/lobby) -"dre" = ( -/obj/structure/closet, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "drh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -11537,10 +11789,31 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"drV" = ( +/obj/structure/table/wood, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) "drZ" = ( /obj/structure/flora/grass/both, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"dsa" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/stool/bar/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/eighties, +/area/station/commons/lounge) "dsf" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -11598,12 +11871,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"dsO" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "dsR" = ( /obj/machinery/conveyor/inverted{ dir = 10; @@ -11696,14 +11963,6 @@ "duh" = ( /turf/closed/wall/r_wall, /area/station/engineering/transit_tube) -"duq" = ( -/obj/structure/chair/sofa/bench/left{ - dir = 4 - }, -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "duE" = ( /obj/machinery/atmospherics/components/binary/tank_compressor{ dir = 4 @@ -11724,6 +11983,14 @@ /obj/item/poster/random_official, /turf/open/floor/iron/dark/textured, /area/station/security/prison) +"duQ" = ( +/obj/machinery/door/airlock{ + name = "Unisex Showers" + }, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "duS" = ( /obj/machinery/door/airlock{ name = "Labor Camp Library" @@ -11733,15 +12000,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) -"duV" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, +"duT" = ( +/obj/structure/noticeboard/directional/north, /turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/hallway/primary/central) "duZ" = ( /obj/machinery/door/airlock/engineering{ name = "Utilities Closet" @@ -11827,6 +12089,14 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/port/lesser) +"dwv" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "dww" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -11961,21 +12231,24 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"dxX" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"dyb" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "dyf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"dyw" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "dyE" = ( /obj/structure/chair/pew/right{ dir = 1 @@ -12000,6 +12273,16 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"dze" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dzg" = ( /obj/machinery/door/firedoor/heavy, /obj/machinery/door/poddoor/preopen{ @@ -12039,10 +12322,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) -"dzx" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/station/maintenance/fore) "dzy" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -12130,6 +12409,16 @@ dir = 5 }, /area/station/command/heads_quarters/rd) +"dAH" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "dAP" = ( /obj/structure/cable, /obj/structure/chair{ @@ -12189,6 +12478,13 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage/gas) +"dBP" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "dBQ" = ( /obj/machinery/camera/directional/north{ c_tag = "MiniSat AI Chamber South"; @@ -12208,19 +12504,6 @@ "dBZ" = ( /turf/open/floor/iron, /area/station/cargo/sorting) -"dCk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "dCs" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -12230,23 +12513,35 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/medbay/lobby) +"dCv" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "dCy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"dCA" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/random/maintenance/two, -/obj/structure/disposalpipe/segment{ - dir = 6 +"dCB" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/structure/sink/kitchen/directional/west, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "dCF" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/fitness) +"dDb" = ( +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "dDm" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 1 @@ -12314,6 +12609,12 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"dEd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "dEf" = ( /obj/effect/turf_decal/trimline/blue/corner{ dir = 1 @@ -12348,15 +12649,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/security/prison/rec) -"dEB" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "dEC" = ( /obj/machinery/door/firedoor/heavy, /obj/machinery/door/poddoor/shutters/preopen{ @@ -12410,6 +12702,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"dFd" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/camera{ + c_tag = "Service - Botany Lower Entrance"; + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "dFj" = ( /turf/open/floor/iron/white/side{ dir = 9 @@ -12491,10 +12794,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"dFP" = ( -/obj/structure/sink/directional/east, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "dFW" = ( /turf/open/floor/iron/white/side, /area/station/science/research) @@ -12591,30 +12890,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"dIc" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/obj/machinery/hydroponics/constructable, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"dIe" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock{ - name = "Service Hall" - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/plastic, -/area/station/hallway/secondary/service) "dIl" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -12622,14 +12897,6 @@ /obj/effect/turf_decal/bot_red, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"dIn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "dIx" = ( /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, @@ -12649,6 +12916,13 @@ dir = 9 }, /area/station/science/xenobiology) +"dIR" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "dIS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -12670,6 +12944,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/dark, /area/station/medical/virology) +"dJm" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Service External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "dJx" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -12720,17 +13007,6 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/tcommsat/computer) -"dKt" = ( -/obj/machinery/door/airlock/external, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "chem-morgue-airlock" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/turf/open/floor/plating, -/area/station/medical/morgue) "dKy" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -12797,6 +13073,11 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) +"dKY" = ( +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "dLe" = ( /obj/structure/chair/stool/directional/west, /turf/open/floor/wood/large, @@ -12836,19 +13117,25 @@ /obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/iron, /area/mine/laborcamp) +"dLZ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"dMh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/item/rack_parts, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dMp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"dMq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "dMv" = ( /obj/item/clothing/gloves/color/rainbow, /obj/item/clothing/head/soft/rainbow, @@ -12885,9 +13172,6 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"dMS" = ( -/turf/closed/wall, -/area/station/maintenance/department/crew_quarters/bar) "dMX" = ( /obj/structure/chair{ dir = 1; @@ -12960,22 +13244,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"dNZ" = ( -/obj/structure/training_machine, -/obj/item/target, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) -"dOc" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "dOq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13002,15 +13270,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"dOQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/mob/living/carbon/human/species/monkey/punpun, -/turf/open/floor/iron, -/area/station/service/bar) "dOY" = ( /obj/effect/spawner/random/vending/snackvend, /obj/effect/turf_decal/tile/red/half, @@ -13032,6 +13291,16 @@ }, /turf/open/floor/iron/freezer, /area/station/science/xenobiology) +"dPE" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "dPP" = ( /obj/structure/closet/toolcloset, /turf/open/floor/plating, @@ -13064,6 +13333,17 @@ dir = 1 }, /area/station/maintenance/department/cargo) +"dQh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/stool/bar/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "dQo" = ( /obj/machinery/button/door/directional/east{ id = "pharmacy_shutters2"; @@ -13137,6 +13417,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) +"dRl" = ( +/obj/machinery/light_switch/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "dRz" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -13151,6 +13437,15 @@ dir = 1 }, /area/station/command/gateway) +"dRR" = ( +/obj/structure/railing, +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/four, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dSj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -13209,21 +13504,6 @@ "dTs" = ( /turf/open/floor/iron/smooth, /area/mine/eva) -"dTv" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel External Airlock"; - opacity = 0 - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/turf/open/floor/iron, -/area/station/service/chapel) "dTD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -13242,6 +13522,10 @@ }, /turf/open/floor/iron, /area/mine/production) +"dTN" = ( +/obj/structure/chair/stool, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dTW" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -13373,6 +13657,16 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/wood/large, /area/station/commons/vacant_room/office) +"dWc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/chair/stool/bar/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "dWf" = ( /obj/item/trash/pistachios, /turf/open/floor/plating, @@ -13451,14 +13745,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/command/gateway) -"dXA" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/service/hydroponics) "dXF" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -13480,6 +13766,14 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"dYg" = ( +/obj/structure/table/glass, +/obj/structure/sign/poster/contraband/little_fruits/directional/east, +/obj/item/storage/bag/plants/portaseeder, +/obj/item/plant_analyzer, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dYj" = ( /obj/machinery/airalarm/directional/north, /obj/structure/cable, @@ -13523,10 +13817,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"dYO" = ( -/obj/structure/rack, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "dYP" = ( /obj/item/toy/snowball{ pixel_x = -11; @@ -13556,12 +13846,12 @@ dir = 8 }, /area/mine/eva) -"dZB" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/fitness) +"dZr" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/two, +/obj/item/sign, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dZJ" = ( /obj/machinery/seed_extractor, /obj/machinery/status_display/evac/directional/north, @@ -13658,15 +13948,18 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark/smooth_half, /area/station/security/prison/work) -"eaB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"eaH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/machinery/door/airlock/engineering{ + name = "Utilities Room" }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ebb" = ( /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, @@ -13675,11 +13968,6 @@ /obj/structure/flora/rock/pile/icy/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"ebq" = ( -/obj/effect/landmark/start/clown, -/obj/structure/disposalpipe/segment, -/turf/open/floor/carpet, -/area/station/service/theater) "ebr" = ( /turf/open/openspace, /area/station/engineering/atmos/storage) @@ -13715,15 +14003,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"ece" = ( -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/service/hydroponics) "ecs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13752,6 +14031,25 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"ecQ" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_apiary"; + name = "Apiary Shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) +"ecT" = ( +/obj/machinery/duct, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ecU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -13759,11 +14057,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"ecZ" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/closet/secure_closet/freezer/kitchen, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "edd" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -13797,19 +14090,6 @@ }, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"edD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/vending/cigarette, -/obj/machinery/camera{ - c_tag = "Service Bar South"; - dir = 9 - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/grimy, -/area/station/commons/lounge) "edN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -13820,6 +14100,11 @@ /obj/structure/grille/broken, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"edW" = ( +/obj/effect/turf_decal/tile/blue, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "eei" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -13827,6 +14112,20 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"eej" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "eek" = ( /obj/structure/rack, /obj/structure/window/reinforced/spawner/directional/east, @@ -13860,20 +14159,6 @@ /obj/effect/mapping_helpers/mail_sorting/engineering/atmospherics, /turf/open/floor/iron, /area/station/engineering/lobby) -"efh" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/computer/slot_machine{ - pixel_y = -6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) -"efi" = ( -/obj/structure/bed/dogbed, -/obj/effect/decal/cleanable/blood/gibs/body, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "efk" = ( /obj/structure/cable, /turf/open/floor/iron/white/side, @@ -13941,6 +14226,17 @@ initial_gas_mix = "ICEMOON_ATMOS" }, /area/icemoon/underground/explored) +"efP" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/vending/hydronutrients, +/turf/open/floor/iron, +/area/station/service/hydroponics) "efV" = ( /obj/effect/turf_decal/delivery, /obj/structure/cable, @@ -13953,6 +14249,14 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"egi" = ( +/obj/effect/landmark/generic_maintenance_landmark, +/obj/item/bikehorn/rubberducky, +/obj/structure/cable, +/obj/effect/landmark/start/hangover, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "egj" = ( /obj/structure/rack, /obj/machinery/light/small/directional/north, @@ -13986,6 +14290,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) +"egJ" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/trash/botanical_waste, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "egL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -14049,12 +14359,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"ehm" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "ehp" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -14067,14 +14371,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/hos) -"ehA" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Canteen" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/hallway/primary/starboard) "ehD" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -14087,6 +14383,13 @@ }, /turf/open/floor/plating/elevatorshaft, /area/mine/storage) +"ehI" = ( +/obj/item/toy/snowball{ + pixel_x = 9; + pixel_y = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "ehJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -14161,6 +14464,20 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"eiE" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "eiI" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -14180,14 +14497,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"ejg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/obj/machinery/meter/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) "ejn" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -14233,15 +14542,6 @@ "ejX" = ( /turf/open/floor/plating, /area/station/security/prison/safe) -"eke" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/closet/mini_fridge{ - name = "mini-fridge" - }, -/obj/item/reagent_containers/condiment/milk, -/obj/structure/table, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "ekh" = ( /obj/machinery/camera/directional/west{ c_tag = "Atmospherics - Central" @@ -14286,6 +14586,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) +"ekG" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "ekW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14324,6 +14634,16 @@ "elw" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/upper) +"elM" = ( +/obj/structure/table/glass, +/obj/item/shovel/spade, +/obj/item/cultivator{ + pixel_x = 1; + pixel_y = 6 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "elT" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ dir = 8 @@ -14337,11 +14657,27 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) +"elV" = ( +/obj/structure/table/wood, +/obj/machinery/newscaster/directional/west, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap{ + pixel_y = 3 + }, +/obj/item/storage/photo_album/bar, +/obj/item/toy/figure/bartender, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "emp" = ( /turf/open/floor/iron/dark/side{ dir = 1 }, /area/station/hallway/primary/starboard) +"emJ" = ( +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "emK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/side{ @@ -14358,6 +14694,14 @@ dir = 1 }, /area/station/security/brig) +"emO" = ( +/obj/machinery/computer/security/telescreen/entertainment/directional/south, +/obj/machinery/status_display/evac/directional/east, +/obj/structure/chair/sofa/right/brown{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "ena" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -14376,14 +14720,21 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/engineering/lobby) -"enG" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 +"enH" = ( +/obj/machinery/door/airlock/wood{ + name = "Bar Backroom" }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/backroom) "enI" = ( /obj/machinery/door/airlock/maintenance{ name = "Tool Storage Maintenance" @@ -14412,20 +14763,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel) -"eoq" = ( -/obj/structure/stairs/south{ - dir = 1 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "eos" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"eou" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "eoy" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -14475,6 +14823,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"eoU" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance{ + name = "Kitchen Maintenance" + }, +/turf/open/floor/plating, +/area/station/service/kitchen) "eoY" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -14609,6 +14965,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"eqZ" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "eri" = ( /obj/structure/chair/office/light{ dir = 4 @@ -14643,6 +15006,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/genetics) +"ers" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "erw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt/dust, @@ -14655,6 +15026,15 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron, /area/station/construction) +"erD" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 4 + }, +/obj/structure/sign/warning/electric_shock/directional/west, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "erH" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -14696,6 +15076,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/storage) +"erW" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/spawner/random/trash/crushed_can{ + pixel_y = 10 + }, +/turf/open/floor/iron, +/area/station/service/bar) "erY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14713,23 +15101,10 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/miningdock) -"esn" = ( -/obj/effect/landmark/start/bartender, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "eso" = ( /obj/machinery/telecomms/receiver/preset_left, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"esu" = ( -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "esv" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/green{ @@ -14754,6 +15129,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/gateway) +"esJ" = ( +/obj/structure/fence/corner{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "esK" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/east, @@ -14783,13 +15164,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/security/prison/workout) -"etA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "etB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ @@ -14817,18 +15191,15 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/iron/dark, /area/station/engineering/main) -"etV" = ( -/obj/machinery/door/airlock{ - name = "Service Hall" +"etU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 8 }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "etY" = ( /obj/machinery/light_switch/directional/north, /turf/open/floor/iron, @@ -14866,6 +15237,15 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) +"euj" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "eul" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/trimline/yellow/filled/end{ @@ -14955,14 +15335,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/processing) +"evB" = ( +/obj/effect/spawner/random/engineering/canister, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "evT" = ( /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) -"ewd" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "ewi" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -14972,12 +15351,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"ewz" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "ewC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, @@ -15030,6 +15403,10 @@ }, /turf/open/floor/iron/dark/smooth_edge, /area/station/ai_monitored/command/storage/eva) +"ext" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "exv" = ( /obj/effect/gibspawner/human/bodypartless, /turf/open/misc/asteroid/snow/icemoon, @@ -15058,12 +15435,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/work) -"exY" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/spawner/random/vending/colavend, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) +"exV" = ( +/obj/structure/stairs/west, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "eyb" = ( /turf/closed/wall, /area/station/security/processing) @@ -15112,6 +15487,26 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"eyv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/stool/directional/east, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"eyG" = ( +/obj/structure/chair{ + desc = "Aw geez, I wonder what the chef's cooking up in there!"; + dir = 1; + name = "The Peanut's Gallery" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "eyU" = ( /obj/structure/closet/crate/coffin, /obj/machinery/light/small/red/directional/south, @@ -15224,22 +15619,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"eAS" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/engineering{ - name = "Utilities Room" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"eBa" = ( -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "eBd" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, @@ -15257,25 +15636,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"eBi" = ( -/obj/machinery/door/airlock{ - name = "Hydroponics Backroom" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/turf/open/floor/iron/textured_half, -/area/station/service/hydroponics) -"eBk" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/fitness) "eBz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15402,12 +15762,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"eDi" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "eDj" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -15420,13 +15774,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/visit) -"eDx" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/cook, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "eDy" = ( /obj/structure/closet/boxinggloves, /obj/machinery/light/directional/north, @@ -15467,13 +15814,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/smooth_large, /area/station/command/heads_quarters/hos) -"eDP" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/obj/structure/bookcase/random/fiction, -/turf/open/floor/iron/dark, -/area/station/commons/lounge) "eEh" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical, @@ -15485,10 +15825,13 @@ /obj/item/flashlight, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"eEz" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/service/bar/atrium) +"eEu" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "eEC" = ( /obj/structure/table/wood, /obj/machinery/fax{ @@ -15568,6 +15911,25 @@ /obj/structure/sign/poster/official/report_crimes, /turf/closed/wall/ice, /area/icemoon/underground/explored) +"eFL" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"eFN" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) "eFO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15589,11 +15951,30 @@ /obj/structure/chair/stool/directional/south, /turf/open/floor/wood, /area/station/commons/dorms) +"eFZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "eGl" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"eGp" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = -4 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5; + pixel_y = 28 + }, +/turf/open/floor/wood/large, +/area/station/service/bar) "eGr" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -15669,22 +16050,26 @@ /obj/item/clothing/under/costume/jabroni, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"eHx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eHT" = ( /obj/structure/cable, /obj/effect/spawner/random/structure/steam_vent, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"eHW" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/warning/gas_mask/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "eHZ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -15692,13 +16077,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"eIa" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/restaurant_portal/bar, -/turf/open/floor/stone, -/area/station/commons/lounge) "eId" = ( /obj/structure/railing/corner{ dir = 8 @@ -15737,16 +16115,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"eIY" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/machinery/light/floor, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "eJe" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15760,18 +16128,6 @@ /obj/structure/lattice, /turf/open/openspace/icemoon/keep_below, /area/icemoon/underground/explored) -"eJq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/service/hydroponics) "eJx" = ( /obj/machinery/newscaster/directional/east, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -15832,6 +16188,13 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/port/lesser) +"eKO" = ( +/obj/structure/chair/sofa/right/brown, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "eKW" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 4 @@ -15867,15 +16230,6 @@ dir = 5 }, /area/station/science/research) -"eLx" = ( -/obj/effect/landmark/start/bartender, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "eLS" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/east, @@ -15889,6 +16243,13 @@ }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/mine/mechbay) +"eLW" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/machinery/hydroponics/constructable, +/obj/machinery/status_display/ai/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "eMa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15957,6 +16318,13 @@ /obj/effect/turf_decal/tile/red/diagonal_edge, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/mix) +"eMY" = ( +/obj/machinery/door/window/left/directional/west{ + req_access = list("hydroponics"); + name = "Hydroponics Equipment" + }, +/turf/open/floor/iron/half, +/area/station/service/hydroponics) "eNh" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -15976,20 +16344,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"eNz" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fitness Maintenance" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "eNC" = ( /obj/machinery/status_display/evac/directional/west, /obj/item/kirbyplants/random, @@ -16089,17 +16443,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) -"ePl" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "ePm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16147,15 +16490,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"eQN" = ( -/obj/machinery/door/airlock{ - name = "Unisex Showers" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "eQQ" = ( /obj/structure/sign/warning/biohazard, /turf/closed/wall, @@ -16195,6 +16529,20 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"eRG" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/obj/structure/desk_bell{ + pixel_x = -4; + pixel_y = 3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "eRH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -16251,13 +16599,12 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) -"eSF" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/dresser, -/obj/machinery/firealarm/directional/east, -/obj/structure/sign/poster/contraband/random/directional/north, -/turf/open/floor/iron, -/area/station/service/theater) +"eSG" = ( +/obj/structure/fence{ + dir = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "eSJ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -16270,6 +16617,15 @@ }, /turf/open/floor/iron/white, /area/station/science/genetics) +"eSU" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) "eSY" = ( /obj/structure/closet/emcloset, /turf/open/floor/iron/smooth, @@ -16303,6 +16659,15 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/large, /area/station/engineering/main) +"eTz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/item/kirbyplants/organic/plant2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "eTC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16348,15 +16713,6 @@ /obj/item/seeds/tower, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) -"eUw" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/table, -/obj/item/storage/bag/tray, -/obj/item/knife/kitchen{ - pixel_y = 2 - }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "eUA" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/green/corner{ @@ -16474,6 +16830,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"eVx" = ( +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "eVC" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 9 @@ -16565,19 +16925,16 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"eWI" = ( -/obj/machinery/door/airlock{ - name = "Hydroponics Maintenance" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, +"eWN" = ( /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 6 }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "eWP" = ( /obj/machinery/computer/security/mining, /obj/effect/turf_decal/tile/brown/anticorner/contrasted, @@ -16600,24 +16957,28 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"eXr" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eXH" = ( /turf/closed/wall/r_wall, /area/station/medical/chemistry) -"eXU" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/station/maintenance/starboard/lesser) -"eXY" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"eXW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/landmark/event_spawn, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/stone, +/area/station/commons/lounge) "eYe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16646,10 +17007,6 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"eYL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall, -/area/station/maintenance/fore) "eYP" = ( /obj/structure/cable, /obj/machinery/door/firedoor, @@ -16701,17 +17058,6 @@ /obj/machinery/drone_dispenser, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"eZj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "eZp" = ( /obj/machinery/space_heater, /obj/effect/decal/cleanable/dirt, @@ -16797,6 +17143,26 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"fag" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"faq" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/engineering{ + name = "Utilities Room" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"faF" = ( +/turf/open/floor/stone, +/area/station/commons/lounge) "faG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -16821,20 +17187,11 @@ "fbl" = ( /turf/open/floor/iron/dark, /area/station/science/breakroom) -"fbm" = ( -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/machinery/duct, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) -"fbt" = ( -/obj/effect/turf_decal/tile/green, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +"fbp" = ( +/obj/machinery/restaurant_portal/bar, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "fbw" = ( /obj/machinery/camera/directional/north{ c_tag = "Bridge Conference Room" @@ -16869,6 +17226,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/ordnance) +"fct" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, +/obj/structure/rack, +/obj/machinery/camera/directional/south{ + c_tag = "Chapel Electrical Maintenace Lower" + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/chapel) "fcu" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/chair, @@ -16950,11 +17316,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"fdP" = ( -/obj/structure/bonfire, -/obj/item/melee/roastingstick, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "fdX" = ( /obj/item/toy/cards/deck{ pixel_x = -9; @@ -16968,6 +17329,19 @@ /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /turf/closed/wall, /area/station/medical/cryo) +"fet" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/item/gun/ballistic/shotgun/doublebarrel, +/obj/structure/rack, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/box/red, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "fez" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, @@ -17054,16 +17428,6 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"fgE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "fgJ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -17109,10 +17473,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/fore) -"fhB" = ( -/obj/structure/chair/sofa/bench/left, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "fhU" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -17242,10 +17602,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"fjm" = ( -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "fjt" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 9"; @@ -17263,10 +17619,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"fjC" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "fjD" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/effect/turf_decal/bot, @@ -17288,10 +17640,42 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"fjN" = ( +/obj/structure/flora/bush/sunny/style_random, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "fjQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, /area/mine/living_quarters) +"fkc" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/missing_gloves/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) +"fke" = ( +/obj/item/trash/popcorn, +/obj/structure/reagent_dispensers/plumbed{ + name = "dormitory reservoir" + }, +/obj/machinery/light/small/dim/directional/north, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/fore) +"fki" = ( +/obj/item/food/grown/potato{ + pixel_y = 4 + }, +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fkj" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -17307,20 +17691,32 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/kitchen/diagonal, /area/station/service/kitchen) +"fkp" = ( +/obj/effect/spawner/random/vending/snackvend, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "fkt" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating/icemoon, /area/station/maintenance/port/lesser) +"fkC" = ( +/obj/effect/landmark/start/botanist, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/sign/calendar/directional/north, +/obj/machinery/camera{ + c_tag = "Service - Botany Equipment"; + dir = 9 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "fkF" = ( /obj/item/weldingtool, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"fkJ" = ( -/obj/machinery/computer/slot_machine{ - pixel_y = 2 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "fkN" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/iron/dark, @@ -17391,6 +17787,27 @@ /obj/machinery/vending/wardrobe/jani_wardrobe, /turf/open/floor/iron, /area/station/service/janitor) +"flM" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/warm/directional/south, +/obj/structure/sign/poster/contraband/lizard/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "flV" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -17473,21 +17890,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"fmD" = ( -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "fmU" = ( /obj/structure/railing/corner{ dir = 4 }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"fna" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "fng" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17505,6 +17913,22 @@ }, /turf/open/floor/wood, /area/station/security/prison/rec) +"fnp" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Fitness" + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/commons/fitness) "fnA" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 8 @@ -17564,10 +17988,13 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron, /area/station/commons/dorms) -"fpb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +"fpg" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "fpp" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -17590,6 +18017,28 @@ dir = 9 }, /area/station/security/prison/safe) +"fpv" = ( +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/genturf, +/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) +"fpw" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel Maintenance External Airlock"; + opacity = 0 + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/structure/sign/warning/gas_mask/directional/south{ + desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/department/chapel) "fpA" = ( /obj/machinery/hydroponics/soil, /obj/effect/turf_decal/siding/wideplating/dark{ @@ -17616,23 +18065,11 @@ /obj/machinery/suit_storage_unit/atmos, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos) -"fpP" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Central Hallway North-East" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"fpW" = ( -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) -"fqc" = ( -/obj/structure/table, -/obj/item/clothing/mask/cigarette/cigar, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) +"fpZ" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "fqv" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17661,14 +18098,6 @@ /obj/effect/turf_decal/trimline/white/filled/warning, /turf/open/genturf, /area/icemoon/underground/unexplored/rivers/deep) -"fqK" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/turf/open/floor/carpet, -/area/station/service/theater) "fqQ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -17697,6 +18126,11 @@ dir = 8 }, /area/station/medical/chem_storage) +"fqY" = ( +/obj/structure/fireplace, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "frd" = ( /obj/structure/railing/corner{ dir = 1 @@ -17707,6 +18141,18 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron, /area/station/commons/locker) +"fre" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/effect/landmark/navigate_destination/bar, +/obj/machinery/door/airlock/multi_tile/public/glass{ + name = "Atrium" + }, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/atrium) "fro" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line{ @@ -17746,6 +18192,19 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) +"frH" = ( +/obj/structure/closet/emcloset, +/obj/item/pickaxe, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron, +/area/station/service/hydroponics) "frN" = ( /obj/machinery/power/shieldwallgen, /obj/structure/window/reinforced/spawner/directional/west, @@ -17769,6 +18228,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/evidence) +"fsf" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "fsm" = ( /obj/structure/flora/rock/pile/icy/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -17783,11 +18252,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"fsr" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "fsv" = ( /turf/open/floor/iron, /area/station/hallway/secondary/entry) @@ -17829,6 +18293,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"fte" = ( +/obj/structure/sign/warning/directional/west, +/turf/open/openspace/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ftt" = ( /obj/structure/sign/warning/secure_area/directional/south{ desc = "A warning sign which reads 'SERVER ROOM'."; @@ -17856,16 +18324,6 @@ }, /turf/open/floor/plating, /area/station/science/genetics) -"ftM" = ( -/obj/machinery/button/door/directional/north{ - id = "kitchencounter"; - name = "Kitchen Lockdown"; - pixel_x = -25; - req_access = list("kitchen") - }, -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "ftN" = ( /obj/machinery/light_switch/directional/west, /obj/machinery/rnd/destructive_analyzer, @@ -17937,15 +18395,6 @@ "fvk" = ( /turf/open/floor/glass/reinforced, /area/station/science/xenobiology) -"fvs" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "fvx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17988,14 +18437,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall/r_wall, /area/station/maintenance/aft/greater) -"fwf" = ( -/obj/machinery/door/airlock/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "fwh" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -18032,6 +18473,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"fwG" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/duct, +/obj/effect/turf_decal/siding/dark{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "fwI" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18141,14 +18593,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"fyh" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/airalarm/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "fyr" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -18256,12 +18700,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"fAh" = ( -/obj/machinery/power/terminal{ - dir = 4 +"fAu" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/structure/desk_bell{ + pixel_x = -3 }, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) +/turf/open/floor/iron, +/area/station/service/bar) "fAF" = ( /obj/structure/rack, /obj/item/clothing/gloves/boxing/green, @@ -18338,10 +18784,6 @@ dir = 8 }, /area/station/service/chapel) -"fBN" = ( -/obj/structure/marker_beacon/burgundy, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "fBQ" = ( /obj/structure/cable, /turf/open/floor/iron/white/corner{ @@ -18392,6 +18834,21 @@ }, /turf/open/floor/cult, /area/station/service/chapel/office) +"fCy" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) +"fCz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/chair/stool/bar/directional/north, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "fCM" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -18404,11 +18861,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/dark/textured, /area/station/security/processing) -"fCY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sink/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "fDc" = ( /obj/structure/chair/office, /obj/effect/landmark/start/warden, @@ -18428,6 +18880,11 @@ /obj/machinery/light/small/built/directional/west, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"fDm" = ( +/obj/structure/sink/directional/east, +/obj/structure/mirror/directional/west, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "fDn" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, @@ -18442,14 +18899,14 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"fDt" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 10 +"fDG" = ( +/obj/item/chair/stool/bar{ + pixel_y = -2 }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fDI" = ( /obj/structure/table/wood, /obj/machinery/computer/records/medical/laptop{ @@ -18475,6 +18932,23 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) +"fDS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) +"fDT" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "fEd" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance/two, @@ -18486,17 +18960,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"fEj" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "fEA" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance{ @@ -18524,6 +18987,21 @@ dir = 4 }, /area/station/security/brig/entrance) +"fEE" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Fitness Maintenance" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) "fER" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 4 @@ -18583,6 +19061,10 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"fFs" = ( +/obj/effect/spawner/random/structure/closet_private, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fFx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18647,6 +19129,18 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/port/lesser) +"fGL" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "fGM" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -18655,6 +19149,13 @@ dir = 8 }, /area/station/security/brig/entrance) +"fGZ" = ( +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "fHb" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/cold_temp, @@ -18672,6 +19173,10 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"fHp" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/fore) "fHz" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -18839,16 +19344,6 @@ }, /turf/open/floor/engine/n2, /area/station/engineering/atmos) -"fKd" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/item/food/grown/pumpkin{ - pixel_y = 5 - }, -/turf/open/floor/grass, -/area/station/service/hydroponics) "fKe" = ( /obj/machinery/camera/directional/west{ c_tag = "Engineering West" @@ -18887,26 +19382,6 @@ /obj/structure/fluff/tram_rail, /turf/open/openspace/icemoon/keep_below, /area/icemoon/underground/explored) -"fKw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 1 - }, -/obj/effect/landmark/start/botanist, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"fKy" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "fKF" = ( /obj/effect/turf_decal/plaque{ icon_state = "L7" @@ -18945,10 +19420,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) -"fLa" = ( -/obj/machinery/gibber, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "fLb" = ( /obj/structure/sink/directional/west, /obj/structure/mirror/directional/east, @@ -18992,6 +19463,13 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"fLL" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "fLP" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 10 @@ -19052,6 +19530,12 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) +"fMb" = ( +/obj/machinery/holopad, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) "fMc" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -19076,6 +19560,9 @@ dir = 8 }, /area/station/medical/chem_storage) +"fMp" = ( +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) "fMq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -19086,13 +19573,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"fMP" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "fNa" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, @@ -19155,11 +19635,21 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter) +"fNU" = ( +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) "fOl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/explab) +"fOm" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "fOR" = ( /obj/structure/disposalpipe/trunk, /obj/machinery/airalarm/directional/east, @@ -19175,6 +19665,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"fPe" = ( +/obj/machinery/restaurant_portal/restaurant, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "fPh" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 4 @@ -19207,6 +19702,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) +"fPU" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/trash/crushed_can, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "fPX" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -19289,22 +19789,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/dark, /area/station/medical/virology) -"fRG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"fRJ" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/table, -/obj/item/clothing/head/fedora, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "fRK" = ( /obj/structure/marker_beacon/burgundy{ name = "landing marker" @@ -19314,16 +19798,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"fRP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Service - Electrical Maintenace Upper" - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/fore) "fSd" = ( /obj/structure/railing/corner{ dir = 4 @@ -19352,6 +19826,11 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"fSq" = ( +/obj/structure/table/wood/poker, +/obj/item/storage/dice, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "fSv" = ( /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron, @@ -19420,6 +19899,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"fTM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "fTR" = ( /obj/machinery/light/directional/north, /obj/structure/sign/warning/electric_shock/directional/north, @@ -19464,20 +19951,17 @@ /obj/structure/bed/medical/emergency, /turf/open/floor/iron/white/textured, /area/station/security/medical) -"fUn" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 +"fUk" = ( +/obj/item/clothing/head/beanie/orange{ + pixel_y = 8 }, -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/toy/figure/chef, -/obj/machinery/camera/directional/north{ - c_tag = "Service Kitchen - Cold Room" +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/shoes/wheelys/skishoes{ + pixel_y = -8 }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +/obj/effect/decal/remains/human, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "fUr" = ( /obj/machinery/airalarm/directional/south, /obj/structure/closet/emcloset, @@ -19531,6 +20015,22 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"fVz" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/kitchen) "fVD" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/engineering{ @@ -19592,6 +20092,13 @@ /obj/item/plant_analyzer, /turf/open/floor/grass, /area/station/security/prison/garden) +"fWg" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "fWn" = ( /obj/structure/table/glass, /obj/machinery/vending/wallmed/directional/north, @@ -19709,35 +20216,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) -"fYe" = ( -/obj/structure/closet/crate, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/item/food/canned/beans, -/obj/item/food/canned/beans, -/obj/item/food/canned/beans, -/obj/effect/decal/cleanable/dirt, -/mob/living/basic/mouse/white, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) -"fYh" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) +"fXT" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/port_gen/pacman, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/lesser) "fYi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19746,6 +20230,16 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) +"fYw" = ( +/obj/structure/frame/computer{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "fYF" = ( /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/openspace, @@ -19794,19 +20288,15 @@ }, /turf/open/floor/plating, /area/station/command/teleporter) -"fZo" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "fZq" = ( /obj/structure/curtain/cloth, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) +"fZI" = ( +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fZT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -19996,14 +20486,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/storage) -"gca" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "gck" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -20014,11 +20496,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/security/processing) -"gcm" = ( -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/machinery/light/small/directional/east, -/turf/open/floor/grass, -/area/station/service/hydroponics) "gcu" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/structure/cable, @@ -20158,6 +20635,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"geO" = ( +/obj/structure/chair/stool/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "geV" = ( /obj/structure/ladder, /obj/structure/cable, @@ -20179,9 +20662,28 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) +"gfa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "gfb" = ( /turf/closed/wall/r_wall, /area/station/maintenance/central/greater) +"gfn" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/chem_master/condimaster{ + desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; + name = "SapMaster XP" + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "gfo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20213,18 +20715,6 @@ /obj/structure/light_construct/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"gfE" = ( -/obj/machinery/light/small/directional/west, -/obj/structure/chair/stool/directional/south, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/components/binary/pump/on/general/visible/layer4{ - dir = 8; - name = "Air Out" - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "gfF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20244,6 +20734,14 @@ /obj/effect/spawner/random/trash/hobo_squat, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"ggm" = ( +/obj/structure/table, +/obj/item/storage/medkit/regular, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "ggn" = ( /obj/machinery/door/airlock/atmos{ name = "Atmospherics Maintenance" @@ -20265,17 +20763,22 @@ /obj/machinery/shower/directional/north, /turf/open/floor/iron/smooth, /area/mine/eva) -"ggD" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) +"ggw" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/plating, +/area/station/maintenance/fore) "ggG" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/storage_shared) +"ggO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ggR" = ( /obj/machinery/computer/teleporter{ dir = 8 @@ -20357,14 +20860,6 @@ /obj/structure/sign/warning/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"giD" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/item/seeds/watermelon, -/turf/open/floor/grass, -/area/station/maintenance/starboard/fore) "giN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/yellow/line, @@ -20601,6 +21096,10 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/medical/virology) +"glA" = ( +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "glC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -20622,11 +21121,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"glQ" = ( -/obj/machinery/door/firedoor, -/obj/machinery/smartfridge, -/turf/open/floor/iron, -/area/station/service/hydroponics) "glS" = ( /obj/machinery/camera/directional/south{ c_tag = "MiniSat Pod Access"; @@ -20652,6 +21146,10 @@ }, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) +"gmd" = ( +/obj/structure/sign/warning/directional/south, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "gmf" = ( /obj/structure/table/glass, /obj/machinery/reagentgrinder{ @@ -20663,18 +21161,16 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/white, /area/station/medical/virology) -"gmB" = ( -/obj/structure/stairs/south{ - dir = 1 +"gmy" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gmJ" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port to Infiltrate/Filter" @@ -20759,18 +21255,6 @@ }, /turf/open/floor/wood, /area/station/command/meeting_room) -"gnR" = ( -/obj/structure/toilet/greyscale{ - cistern = 1; - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/toilet) -"gnZ" = ( -/obj/structure/marker_beacon/burgundy, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "gob" = ( /obj/structure/closet/wardrobe/black, /obj/effect/decal/cleanable/cobweb, @@ -20851,6 +21335,16 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) +"gpG" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "gpU" = ( /obj/structure/frame/computer, /obj/item/stack/cable_coil/five, @@ -20869,6 +21363,12 @@ }, /turf/open/floor/iron, /area/station/commons/storage/tools) +"gqb" = ( +/obj/structure/chair/stool/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "gqh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sink/kitchen/directional/north{ @@ -20960,6 +21460,15 @@ /obj/structure/sign/warning/fire/directional/south, /turf/open/floor/glass/reinforced, /area/station/science/ordnance/office) +"grt" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "grA" = ( /obj/structure/table/reinforced, /obj/item/assembly/flash/handheld, @@ -21022,14 +21531,6 @@ "gst" = ( /turf/closed/wall, /area/station/commons/vacant_room/commissary) -"gsD" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "gsF" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -21063,18 +21564,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"gsW" = ( -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/airlock/freezer{ - desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold."; - name = "The Ice Box" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "gta" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/table, @@ -21082,16 +21571,6 @@ /obj/item/pen, /turf/open/floor/iron, /area/station/commons/locker) -"gtc" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/duct, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "gtg" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer1{ dir = 8 @@ -21101,15 +21580,16 @@ "gti" = ( /turf/open/openspace, /area/station/maintenance/starboard/aft) -"gtj" = ( -/obj/structure/closet, -/obj/effect/spawner/random/maintenance/three, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "gtw" = ( /obj/effect/turf_decal/tile/neutral/diagonal_edge, /turf/open/floor/iron/kitchen/diagonal, /area/station/service/kitchen) +"gtx" = ( +/obj/structure/flora/tree/pine/style_random{ + pixel_x = -15 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "gtF" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -21122,6 +21602,23 @@ /obj/effect/spawner/random/vending/colavend, /turf/open/floor/iron, /area/station/commons/locker) +"gtX" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "guS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21134,6 +21631,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, /turf/closed/wall, /area/station/engineering/atmos) +"guW" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/mob/living/carbon/human/species/monkey/punpun, +/obj/item/kirbyplants/organic/plant11, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"gva" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/floor/iron/stairs/old{ + dir = 4 + }, +/area/station/hallway/primary/starboard) "gvc" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -21179,6 +21692,10 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology) +"gvO" = ( +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "gwm" = ( /obj/machinery/door/firedoor/heavy, /turf/open/floor/iron/white/side{ @@ -21303,19 +21820,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/command/bridge) -"gxY" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"gxZ" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "gya" = ( /obj/structure/table/wood, /obj/item/storage/medkit/regular, @@ -21330,24 +21834,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"gyr" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/chair/stool/bar/directional/east, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) -"gyw" = ( -/obj/machinery/door/window/right/directional/west{ - name = "Apiary"; - req_access = list("hydroponics") - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/turf/open/floor/grass, -/area/station/service/hydroponics) "gyH" = ( /obj/machinery/light/directional/north, /obj/machinery/vending/coffee, @@ -21363,9 +21849,6 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/virology) -"gzw" = ( -/turf/open/openspace, -/area/station/hallway/secondary/service) "gzz" = ( /obj/machinery/computer/security/telescreen/entertainment/directional/west, /obj/machinery/computer/monitor{ @@ -21388,6 +21871,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"gAc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "gAd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21419,11 +21909,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/visit) -"gAy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "gAB" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -21436,35 +21921,16 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"gAM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/door/airlock/engineering{ - name = "Utilities Room" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"gAN" = ( -/obj/structure/reagent_dispensers/watertank/high, -/obj/effect/turf_decal/stripes/line, -/obj/item/reagent_containers/cup/watering_can, -/obj/effect/turf_decal/tile/blue/half{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green/half{ - dir = 8 - }, -/turf/open/floor/iron/half{ - dir = 1 - }, -/area/station/service/hydroponics) "gAR" = ( /obj/structure/falsewall, /turf/open/floor/plating, /area/station/security/prison) +"gAU" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "gAY" = ( /obj/structure/sign/warning/cold_temp/directional/west, /turf/open/floor/iron, @@ -21496,13 +21962,6 @@ /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, /area/icemoon/underground/explored) -"gBq" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "gBv" = ( /obj/machinery/door/window/left/directional/south{ name = "Engineering Delivery"; @@ -21545,6 +22004,12 @@ }, /turf/open/floor/iron/dark, /area/mine/storage) +"gCl" = ( +/obj/machinery/oven/range, +/obj/effect/turf_decal/siding/white, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "gCn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21713,27 +22178,16 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/plating, /area/station/engineering/storage_shared) -"gEz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/space_heater, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "gEE" = ( /turf/open/openspace, /area/station/service/chapel) -"gEL" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 6 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Service Botany - Upper North" - }, -/obj/item/hand_labeler, -/turf/open/floor/iron, +"gEH" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/sign/warning/gas_mask/directional/south, +/obj/machinery/light/warm/directional/south, +/turf/open/floor/iron/dark, /area/station/service/hydroponics) "gER" = ( /turf/open/floor/iron, @@ -21910,14 +22364,6 @@ /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /turf/open/floor/iron, /area/station/engineering/atmos) -"gHm" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gHq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21948,6 +22394,15 @@ /obj/effect/turf_decal/trimline/red/line, /turf/open/floor/iron/dark/textured, /area/station/security/range) +"gHM" = ( +/obj/machinery/camera{ + c_tag = "Starboard Primary Hallway Center" + }, +/obj/structure/cable, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "gHN" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -21962,17 +22417,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"gHR" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets{ - pixel_y = 8 - }, -/obj/structure/sign/poster/random/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "gHS" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/tile/neutral/half/contrasted, @@ -21983,6 +22427,18 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/checker, /area/station/science/lab) +"gIa" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/theater, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "gIl" = ( /obj/structure/fence/corner{ dir = 6 @@ -21998,6 +22454,12 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/mine/mechbay) +"gIB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/hobo_squat, +/obj/structure/sign/poster/contraband/random/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "gIF" = ( /obj/machinery/holopad, /turf/open/floor/iron/showroomfloor, @@ -22093,6 +22555,16 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"gKs" = ( +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "gKG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/green{ @@ -22111,16 +22583,18 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/central) -"gLo" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood/tile, -/area/station/service/theater) "gLu" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/engine_smes) +"gLE" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/entertainment/cigarette, +/obj/effect/spawner/random/entertainment/lighter, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "gLF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -22148,10 +22622,6 @@ /obj/item/flashlight/lamp, /turf/open/floor/wood, /area/station/maintenance/port/fore) -"gMp" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "gMt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt/dust, @@ -22326,6 +22796,19 @@ }, /turf/open/openspace, /area/station/cargo/storage) +"gOL" = ( +/obj/machinery/light_switch/directional/north{ + pixel_x = 6; + pixel_y = 28 + }, +/obj/machinery/button/door/directional/north{ + id = "botany_chasm_and_wolf_shutters"; + name = "Exterior Shutters"; + pixel_y = 28; + pixel_x = -4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) "gOS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22410,17 +22893,6 @@ }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) -"gQj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/disposal/bin, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/service/bar) "gQp" = ( /obj/machinery/door/airlock/external{ name = "External Access" @@ -22476,19 +22948,6 @@ /obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"gQZ" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"gRl" = ( -/obj/effect/landmark/start/hangover, -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "gRm" = ( /obj/structure/grille/broken, /obj/effect/decal/cleanable/dirt, @@ -22522,6 +22981,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"gRO" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "gRZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -22532,6 +22996,18 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/security/prison/visit) +"gSi" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/item/food/grown/carrot, +/obj/item/food/grown/carrot{ + pixel_y = 4; + pixel_x = -2 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "gSr" = ( /obj/structure/table/reinforced, /obj/item/clothing/suit/utility/radiation, @@ -22633,6 +23109,20 @@ }, /turf/open/openspace, /area/station/security/prison) +"gTy" = ( +/obj/structure/rack, +/obj/item/clothing/suit/utility/beekeeper_suit, +/obj/item/clothing/head/utility/beekeeper_head, +/obj/item/melee/flyswatter, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "gTK" = ( /turf/closed/wall, /area/station/engineering/engine_smes) @@ -22641,6 +23131,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/workout) +"gTX" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/light/warm/directional/east, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "gUg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -22675,16 +23175,24 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"gUB" = ( -/obj/structure/chair/stool/directional/south, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) -"gUF" = ( -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 +"gUE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ + color = "#0000ff"; + dir = 8; + name = "Supply multi deck pipe adapter" + }, +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ + color = "#ff0000"; + dir = 8; + name = "Scrubbers multi deck pipe adapter" + }, +/obj/structure/cable/multilayer/multiz, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "gUQ" = ( /obj/structure/fence/door{ dir = 4 @@ -22703,6 +23211,10 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"gVa" = ( +/obj/structure/flora/rock/pile/icy/style_random, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "gVe" = ( /obj/structure/table, /obj/effect/spawner/random/trash/food_packaging, @@ -22721,12 +23233,6 @@ }, /turf/open/floor/plating, /area/station/commons/dorms/laundry) -"gVn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "gVt" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/red{ @@ -22804,6 +23310,11 @@ /obj/structure/sign/warning/cold_temp, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) +"gWA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/fore) "gWX" = ( /obj/structure/chair{ dir = 4 @@ -22815,13 +23326,6 @@ /obj/structure/railing/wooden_fence, /turf/open/misc/hay/icemoon, /area/icemoon/surface) -"gXe" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "gXh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22894,6 +23398,11 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"gYb" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "gYg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -22913,6 +23422,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"gYq" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + name = "Fitness Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gYt" = ( /obj/machinery/door/window/left/directional/west{ name = "Research Division Delivery"; @@ -22928,6 +23448,23 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"gYy" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "gYz" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -22973,16 +23510,6 @@ /obj/structure/sign/poster/random/directional/north, /turf/open/floor/plating, /area/station/construction) -"gZl" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/space_heater, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gZq" = ( /obj/machinery/firealarm/directional/south, /obj/structure/table, @@ -23021,6 +23548,10 @@ dir = 1 }, /area/station/security/prison) +"gZR" = ( +/obj/machinery/power/smes/engineering, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "gZT" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -23062,13 +23593,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/mine/laborcamp) -"hao" = ( -/obj/structure/frame/computer{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) "hap" = ( /turf/open/floor/vault, /area/station/security/prison/rec) @@ -23101,21 +23625,24 @@ /obj/effect/landmark/start/bitrunner, /turf/open/floor/iron, /area/station/cargo/storage) -"haN" = ( -/obj/machinery/deepfryer, -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/sign/poster/contraband/moffuchis_pizza/directional/east, -/obj/machinery/camera/directional/east{ - c_tag = "Service Kitchen" - }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "haQ" = ( /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"hbi" = ( +/obj/machinery/newscaster/directional/north, +/obj/structure/table/wood, +/obj/machinery/light/small/directional/north, +/obj/item/toy/figure/mime{ + pixel_x = -6 + }, +/obj/item/toy/figure/clown{ + pixel_x = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "hbp" = ( /obj/machinery/photocopier, /turf/open/floor/wood, @@ -23151,15 +23678,6 @@ /obj/machinery/holopad, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"hbT" = ( -/obj/machinery/vending/hydronutrients, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/service/hydroponics) "hbY" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -23183,13 +23701,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hcv" = ( -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "hcw" = ( /obj/docking_port/stationary/random/icemoon{ dir = 8; @@ -23208,11 +23719,47 @@ }, /turf/open/openspace, /area/station/engineering/atmos/storage) +"hcJ" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/bar) "hcL" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"hcU" = ( +/obj/structure/fence/cut/large{ + dir = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"hcV" = ( +/obj/structure/railing/corner/end/flip, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/sink/kitchen/directional/south, +/obj/structure/mirror/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Coldroom Access" + }, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/kitchen, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "hdb" = ( /obj/machinery/shower/directional/south, /turf/open/floor/iron/smooth, @@ -23371,16 +23918,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/library) -"hfh" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "hfm" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -23487,6 +24024,16 @@ dir = 1 }, /area/station/service/chapel/office) +"hhM" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "hhN" = ( /obj/structure/sign/warning/secure_area/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -23512,17 +24059,6 @@ /obj/effect/landmark/start/chemist, /turf/open/floor/iron/textured, /area/station/medical/chem_storage) -"hid" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half{ - dir = 4 - }, -/turf/open/floor/iron/half{ - dir = 1 - }, -/area/station/hallway/secondary/service) "hil" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -23615,19 +24151,10 @@ dir = 1 }, /area/station/security/office) -"hkl" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/desk_bell{ - desc = "Why, I'm always here! I should get absolute service. Pronto, garcon!"; - name = "The Regular's Bell"; - pixel_x = -6 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) +"hkd" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "hkp" = ( /obj/effect/turf_decal/trimline/dark_blue/line{ dir = 8 @@ -23645,6 +24172,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"hkH" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "hkU" = ( /obj/effect/landmark/start/cargo_technician, /obj/structure/chair/office{ @@ -23685,16 +24218,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/mine/laborcamp) -"hlP" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "hlS" = ( /obj/structure/table, /obj/item/clothing/under/misc/burial, @@ -23725,15 +24248,6 @@ dir = 6 }, /area/station/security/prison) -"hml" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "hmt" = ( /obj/machinery/door/firedoor, /obj/structure/table/reinforced, @@ -23764,12 +24278,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"hnf" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "hno" = ( /obj/structure/sign/painting/library{ pixel_y = 32 @@ -23777,17 +24285,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/service/library) +"hnr" = ( +/obj/machinery/modular_computer/preset/cargochat/service, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "hnt" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"hnB" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plating, -/area/station/service/hydroponics) "hnC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23796,6 +24306,21 @@ }, /turf/open/floor/iron, /area/station/cargo/lobby) +"hnG" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/mapping_helpers/mail_sorting/service/dormitories, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "hnN" = ( /obj/machinery/camera/directional/west{ c_tag = "Xenobiology Pens Observation - Port Aft"; @@ -24046,6 +24571,13 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"hqG" = ( +/obj/item/toy/snowball{ + pixel_y = -7; + pixel_x = 5 + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "hqV" = ( /obj/structure/sign/warning/radiation/rad_area, /turf/closed/wall/r_wall, @@ -24065,11 +24597,6 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) -"hrt" = ( -/obj/structure/table/glass, -/obj/item/shovel/spade, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "hrJ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -24089,6 +24616,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"hrT" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "hsh" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -24150,6 +24686,13 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory/upper) +"hsP" = ( +/obj/structure/minecart_rail{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "hsQ" = ( /obj/structure/tank_holder/oxygen, /turf/open/floor/plating, @@ -24216,6 +24759,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/command/meeting_room) +"hug" = ( +/obj/effect/spawner/random/entertainment/arcade, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "hui" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24239,13 +24787,6 @@ /obj/machinery/vending/autodrobe/all_access, /turf/open/floor/iron, /area/station/commons/locker) -"hun" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "huB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24333,34 +24874,20 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"hvl" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/spawner/random/entertainment/arcade, -/obj/structure/sign/poster/random/directional/north, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "hvm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"hvr" = ( -/obj/machinery/door/airlock{ - name = "Hydroponics Backroom" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/turf/open/floor/iron/textured_half{ +"hvP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/area/station/service/hydroponics) +/obj/effect/landmark/start/hangover, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "hvS" = ( /obj/effect/landmark/start/depsec/engineering, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24387,6 +24914,23 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"hwq" = ( +/obj/structure/beebox, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera{ + c_tag = "Service - Botany Apiary"; + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "hwu" = ( /obj/machinery/door/poddoor/preopen{ id = "lawyer_blast"; @@ -24419,21 +24963,6 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"hwM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/sofa/corp/left{ - dir = 4; - pixel_x = -4; - pixel_y = 8 - }, -/obj/effect/landmark/start/hangover, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/sign/poster/random/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/bar/atrium) "hwR" = ( /obj/machinery/camera/directional/west{ c_tag = "Security - Equipment Room" @@ -24463,6 +24992,12 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) +"hxy" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "hxE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24474,6 +25009,10 @@ dir = 5 }, /area/station/service/chapel) +"hxX" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hyd" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -24489,22 +25028,15 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/station/maintenance/disposal) -"hyt" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/maintenance{ - name = "Bar Maintenance" +"hyx" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) +/turf/open/floor/wood/large, +/area/station/commons/lounge) "hyC" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /obj/structure/cable, @@ -24587,13 +25119,6 @@ }, /turf/open/openspace, /area/station/ai_monitored/security/armory/upper) -"hzQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/stool/bar/directional/east, -/turf/open/floor/stone, -/area/station/commons/lounge) "hzY" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -24619,6 +25144,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/corner, /area/station/command/heads_quarters/rd) +"hAD" = ( +/obj/structure/bonfire, +/obj/item/melee/roastingstick, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "hAG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -24655,17 +25186,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/genetics) -"hBc" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/structure/sign/poster/random/directional/north, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "hBd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -24678,6 +25198,26 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) +"hBm" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) +"hBq" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) "hBr" = ( /obj/machinery/holopad, /obj/effect/turf_decal/tile/red/full, @@ -24714,17 +25254,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"hBR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/obj/effect/landmark/event_spawn, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "hBZ" = ( /obj/structure/table/wood, /obj/item/radio/intercom/command, @@ -24750,6 +25279,12 @@ dir = 4 }, /area/mine/eva) +"hCq" = ( +/obj/structure/fence/post{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hCv" = ( /obj/structure/table, /obj/item/storage/bag/tray, @@ -24772,15 +25307,6 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"hCN" = ( -/obj/structure/chair/sofa/right/brown{ - desc = "Hey, did you know you can get a pineapple on your burger here?"; - dir = 1; - name = "The Regular's Sofa" - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/stone, -/area/station/commons/lounge) "hCV" = ( /obj/structure/table/wood, /obj/item/hand_tele{ @@ -24859,6 +25385,16 @@ "hDK" = ( /turf/open/floor/iron, /area/mine/laborcamp) +"hDN" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "hDU" = ( /turf/closed/wall/r_wall, /area/station/command/gateway) @@ -24868,10 +25404,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/fore) -"hEl" = ( -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "hEm" = ( /obj/structure/closet/emcloset, /turf/open/floor/iron/dark, @@ -24938,12 +25470,42 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) +"hFE" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Fitness Room South" + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -7 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/commons/fitness) "hFL" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"hFS" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/machinery/light/small/directional/west, +/obj/item/stack/package_wrap{ + pixel_y = 3 + }, +/obj/item/hand_labeler, +/turf/open/floor/iron, +/area/station/service/hydroponics) "hFU" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -24958,17 +25520,6 @@ /obj/machinery/vending/wardrobe/det_wardrobe, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"hGf" = ( -/obj/item/clothing/suit/hooded/wintercoat, -/obj/effect/decal/remains/human, -/obj/item/clothing/head/beanie/orange{ - pixel_y = 8 - }, -/obj/item/clothing/shoes/wheelys/skishoes{ - pixel_y = -8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "hGh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24987,12 +25538,6 @@ "hGH" = ( /turf/closed/wall, /area/station/security/lockers) -"hGI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) "hGZ" = ( /obj/structure/table, /obj/item/analyzer, @@ -25053,6 +25598,19 @@ "hHG" = ( /turf/open/cliff/snowrock, /area/icemoon/surface/outdoors/nospawn) +"hHH" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hHI" = ( /obj/machinery/chem_dispenser, /obj/effect/turf_decal/tile/yellow/full, @@ -25061,9 +25619,6 @@ "hHN" = ( /turf/open/floor/iron, /area/station/engineering/atmos) -"hHU" = ( -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "hHV" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrogen_output{ dir = 1 @@ -25082,6 +25637,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"hIl" = ( +/obj/structure/kitchenspike, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) +"hIt" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/warning/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hIA" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ @@ -25119,6 +25684,9 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore) +"hJg" = ( +/turf/open/openspace, +/area/station/service/kitchen/coldroom) "hJi" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 6"; @@ -25131,12 +25699,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/xenobiology) -"hJm" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood/tile, -/area/station/service/theater) "hJp" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 @@ -25176,6 +25738,35 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"hJL" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) +"hJV" = ( +/obj/structure/dresser, +/obj/structure/mirror/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Service - Backstage"; + dir = 9 + }, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "hJY" = ( /obj/structure/closet/l3closet/janitor, /obj/machinery/airalarm/directional/north, @@ -25249,11 +25840,12 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"hLw" = ( -/obj/item/radio/intercom/directional/north, -/obj/structure/table/wood, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) +"hLu" = ( +/obj/machinery/door/airlock{ + name = "Unit B" + }, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "hLO" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -25298,10 +25890,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/port) -"hMk" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/service/hydroponics) "hMr" = ( /obj/effect/landmark/start/chaplain, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25359,6 +25947,13 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/white, /area/station/security/prison/safe) +"hNa" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hNg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -25373,13 +25968,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/wood, /area/station/service/lawoffice) -"hNi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "hNx" = ( /obj/machinery/camera/directional/south{ c_tag = "Holodeck - South"; @@ -25680,19 +26268,20 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"hRQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hRX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"hSb" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/spawner/random/structure/musician/piano/random_piano, -/obj/structure/sign/poster/random/directional/north, -/turf/open/floor/carpet, -/area/station/service/theater) "hSl" = ( /obj/effect/turf_decal/trimline/neutral/mid_joiner{ dir = 8 @@ -25729,6 +26318,25 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"hSw" = ( +/obj/structure/table/glass, +/obj/machinery/door/window/left/directional/north{ + name = "Hydroponics Desk"; + req_access = list("hydroponics") + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -5 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "hSF" = ( /obj/machinery/atmospherics/components/tank/air{ dir = 8 @@ -25759,6 +26367,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"hTv" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hTw" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/half{ @@ -25811,6 +26428,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) +"hUv" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "hUx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25837,6 +26461,20 @@ "hUD" = ( /turf/closed/wall, /area/station/service/library) +"hUE" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hUI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -25917,20 +26555,20 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"hWh" = ( -/obj/structure/sink/directional/west, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "hWi" = ( /obj/machinery/teleport/hub, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) +"hWj" = ( +/obj/structure/barricade/wooden/snowed, +/obj/machinery/light/small/red/directional/north, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "minecraft_shutter"; + name = "Cart Shutters" + }, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "hWI" = ( /obj/effect/turf_decal/box, /obj/effect/spawner/random/structure/closet_empty/crate/with_loot, @@ -25938,19 +26576,6 @@ /obj/structure/sign/poster/official/wtf_is_co2/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) -"hWP" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "hWV" = ( /obj/machinery/light/small/directional/north, /obj/machinery/space_heater, @@ -25971,6 +26596,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"hXj" = ( +/obj/structure/bookcase, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hXC" = ( /obj/structure/chair{ dir = 8 @@ -25982,6 +26611,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"hXD" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hXU" = ( /obj/machinery/newscaster/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -26001,19 +26635,6 @@ /obj/effect/landmark/navigate_destination/disposals, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"hYs" = ( -/obj/machinery/chem_master/condimaster{ - desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; - name = "HoochMaster Deluxe" - }, -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/service/bar) "hYy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -26022,14 +26643,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/security/prison/rec) -"hYC" = ( -/obj/structure/closet/athletic_mixed, -/obj/effect/landmark/start/hangover/closet, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "hYP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26053,6 +26666,27 @@ /obj/item/stack/sheet/iron/five, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"iaf" = ( +/obj/structure/closet/crate, +/obj/item/food/canned/beans, +/obj/item/food/canned/beans, +/obj/item/food/canned/beans, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_x = 7; + pixel_y = 6 + }, +/mob/living/basic/mouse/white, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "iag" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -26094,6 +26728,12 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/cargo/storage) +"iaO" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "iaT" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, @@ -26137,13 +26777,17 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/office) -"ibi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/wood/tile, -/area/station/service/theater) +"ibb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/item/stack/sheet/mineral/coal{ + pixel_x = 6; + pixel_y = 3 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "ibj" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, @@ -26207,13 +26851,6 @@ }, /turf/open/floor/wood, /area/station/security/prison/rec) -"ibI" = ( -/obj/structure/chair/stool/directional/south, -/obj/machinery/camera/directional/north{ - c_tag = "Starboard Primary Hallway West" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "ibM" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -26226,6 +26863,10 @@ }, /turf/open/floor/plating, /area/station/service/chapel) +"ibU" = ( +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "ica" = ( /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, @@ -26235,6 +26876,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"icj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "ick" = ( /obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/mapping_helpers/broken_floor, @@ -26396,22 +27042,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"idw" = ( -/obj/structure/table/glass, -/obj/item/clothing/accessory/armband/hydro, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, -/obj/item/paper/guides/jobs/hydroponics, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"idE" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar/backroom) "idN" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/door/window/brigdoor/left/directional/south{ @@ -26429,23 +27059,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/port) -"ieq" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "ieG" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"ieZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ifa" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -26460,26 +27089,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) -"ifg" = ( -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) -"ifw" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "ifA" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/cold_temp, @@ -26503,14 +27112,6 @@ /obj/item/soap/nanotrasen, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"igi" = ( -/obj/item/kirbyplants/organic/plant10, -/obj/machinery/camera/directional/west{ - c_tag = "Service Bar Staircase" - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "igm" = ( /turf/closed/wall/ice, /area/mine/living_quarters) @@ -26567,20 +27168,16 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/wood/large, /area/station/commons/vacant_room/office) -"ihf" = ( -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "ihk" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/chair/stool/directional/south, /turf/open/floor/iron, /area/station/commons/locker) +"ihq" = ( +/obj/structure/fence/cut/medium, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ihu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -26599,12 +27196,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) -"ihG" = ( -/obj/structure/chair/sofa/corp/left{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "ihN" = ( /obj/machinery/button/door/directional/west{ id = "xenobio4"; @@ -26793,10 +27384,6 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/wood, /area/station/service/library) -"iko" = ( -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "iku" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -26822,14 +27409,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ikH" = ( -/obj/machinery/camera{ - c_tag = "Starboard Primary Hallway Center" - }, -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "ikI" = ( /obj/item/gun/energy/laser/carbine/practice{ pixel_y = 5 @@ -26842,6 +27421,13 @@ /obj/structure/reagent_dispensers/wall/peppertank/directional/south, /turf/open/floor/iron/dark/textured, /area/station/security/office) +"ikJ" = ( +/obj/structure/table/wood, +/obj/structure/reagent_dispensers/beerkeg, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "ikO" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -26850,17 +27436,6 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/qm) -"ikT" = ( -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/service/bar, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "ikW" = ( /obj/structure/railing/corner{ dir = 8 @@ -26870,10 +27445,40 @@ dir = 1 }, /area/station/service/chapel) +"ikY" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "ile" = ( /obj/structure/table/wood, /turf/open/floor/wood, /area/station/security/courtroom) +"ilu" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "ilv" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -26887,6 +27492,12 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/port/lesser) +"ilI" = ( +/obj/structure/closet/crate/miningcar, +/obj/effect/spawner/random/exotic/snow_gear, +/obj/effect/spawner/random/exotic/snow_gear, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ilJ" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "MiniSat Maintenance" @@ -26958,6 +27569,9 @@ /obj/structure/falsewall, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"inm" = ( +/turf/closed/wall/ice, +/area/station/service/kitchen/coldroom) "inE" = ( /turf/open/floor/iron/corner, /area/station/engineering/lobby) @@ -27063,6 +27677,9 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"ioI" = ( +/turf/open/floor/glass, +/area/station/service/hydroponics) "ioK" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, @@ -27079,6 +27696,10 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"ioT" = ( +/obj/structure/sign/warning/cold_temp/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/fore) "ipd" = ( /obj/machinery/light/small/directional/south, /obj/machinery/camera/directional/south{ @@ -27140,6 +27761,16 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"ipI" = ( +/obj/structure/railing/corner/end{ + dir = 1 + }, +/obj/structure/cable, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "ipM" = ( /obj/structure/transit_tube/curved{ dir = 4 @@ -27182,13 +27813,10 @@ /obj/item/flashlight/lamp, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"iqL" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) +"iqT" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "irp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -27207,22 +27835,6 @@ /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"irz" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Service External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "irA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/white, @@ -27318,6 +27930,22 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central) +"isg" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"ish" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/landmark/start/mime, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "isl" = ( /obj/structure/fence/door{ name = "graveyard" @@ -27345,6 +27973,19 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) +"isE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/fore) "isP" = ( /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, @@ -27438,15 +28079,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"iuE" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "iuH" = ( /obj/effect/turf_decal/siding/blue{ dir = 8 @@ -27460,6 +28092,22 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/glass/reinforced, /area/station/ai_monitored/security/armory/upper) +"iuX" = ( +/obj/machinery/gibber, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) +"ive" = ( +/obj/machinery/door/window/left/directional/east{ + name = "Fitness Ring" + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "ivi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow, @@ -27473,6 +28121,13 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) +"ivp" = ( +/obj/machinery/door/airlock{ + id_tag = "Toilet2"; + name = "Unit 2" + }, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "ivq" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red{ @@ -27480,13 +28135,28 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) -"ivr" = ( -/turf/open/floor/grass, -/area/station/service/hydroponics) "ivB" = ( /obj/structure/closet/emcloset, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"ivE" = ( +/obj/item/training_toolbox{ + pixel_y = 5 + }, +/obj/structure/table, +/obj/item/training_toolbox{ + pixel_y = -2 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Holodeck Control" + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/machinery/status_display/evac/directional/east, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "ivF" = ( /turf/closed/wall, /area/station/maintenance/disposal) @@ -27501,6 +28171,26 @@ }, /turf/open/floor/wood, /area/station/service/library) +"ivK" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/effect/landmark/start/cook, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) +"ivY" = ( +/obj/structure/bed, +/obj/machinery/airalarm/directional/north, +/obj/effect/spawner/random/bedsheet, +/obj/machinery/button/door/directional/east{ + id = "Dorm1"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/obj/item/pillow/random, +/turf/open/floor/carpet, +/area/station/commons/dorms) "iwf" = ( /turf/closed/wall/r_wall, /area/mine/mechbay) @@ -27541,6 +28231,13 @@ "iwC" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/central/fore) +"iwG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "iwO" = ( /obj/structure/closet/secure_closet/personal{ anchored = 1 @@ -27555,6 +28252,23 @@ /obj/structure/railing, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"iwZ" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Service External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/structure/sign/warning/gas_mask/directional/south{ + desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ixb" = ( /obj/machinery/button/door/directional/south{ id = "vacantofficemaintshutter"; @@ -27564,6 +28278,14 @@ }, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) +"ixq" = ( +/obj/effect/spawner/random/structure/crate_abandoned, +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Chapel Electrical Maintenace Upper" + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "ixu" = ( /obj/machinery/camera/directional/north{ c_tag = "Teleporter" @@ -27596,15 +28318,10 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"ixH" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) +"ixJ" = ( +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ixZ" = ( /obj/machinery/door/airlock/command/glass{ name = "Chief Engineer" @@ -27618,13 +28335,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) -"iyb" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/machinery/barsign/all_access/directional/north, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "iyd" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 9 @@ -27691,6 +28401,14 @@ /obj/structure/flora/rock/icy/style_random, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"izm" = ( +/obj/structure/sign/warning/directional/west{ + desc = "A sign warning to watch for moving minecarts beyond this point." + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "izn" = ( /obj/effect/spawner/random/decoration/generic, /turf/open/floor/plating, @@ -27770,11 +28488,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/visit) -"iAa" = ( -/obj/effect/turf_decal/caution/stand_clear, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/secondary/service) "iAf" = ( /turf/closed/wall/mineral/wood, /area/station/maintenance/space_hut/cabin) @@ -27784,6 +28497,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"iAm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "iAp" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -27819,20 +28538,6 @@ }, /turf/open/floor/iron/dark, /area/mine/laborcamp) -"iAJ" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/table, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 - }, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 - }, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "iAO" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -27907,6 +28612,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/science/breakroom) +"iBq" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/item/grown/log/tree, +/obj/item/grown/log/tree{ + pixel_y = 5; + pixel_x = 7 + }, +/obj/item/grown/log/tree{ + pixel_x = 7 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "iBz" = ( /obj/structure/sign/warning/no_smoking/directional/south, /turf/open/openspace, @@ -27935,6 +28655,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"iCk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "iCq" = ( /obj/structure/rack, /obj/item/stack/rods/ten, @@ -27967,15 +28693,6 @@ }, /turf/open/floor/plating, /area/station/science/robotics/lab) -"iCC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "iCD" = ( /obj/machinery/door/airlock/external{ name = "External Access" @@ -27994,13 +28711,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"iCQ" = ( -/obj/structure/closet/lasertag/red, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "iCX" = ( /obj/machinery/power/solar_control{ dir = 4; @@ -28010,11 +28720,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"iDg" = ( -/obj/machinery/duct, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "iDp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall, @@ -28034,6 +28739,13 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/security/prison/rec) +"iDC" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "iDG" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 3"; @@ -28103,14 +28815,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"iFc" = ( -/obj/effect/turf_decal/tile/red/half{ - dir = 4 - }, -/turf/open/floor/iron/half{ - dir = 1 - }, -/area/station/hallway/secondary/service) "iFe" = ( /obj/structure/cable, /turf/open/floor/iron/dark/smooth_half, @@ -28143,6 +28847,16 @@ }, /turf/open/floor/iron, /area/station/command/bridge) +"iFv" = ( +/obj/item/wrench, +/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ + dir = 1; + name = "Air In" + }, +/obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/station/maintenance/fore) "iFL" = ( /obj/structure/bed/dogbed/renault, /mob/living/basic/pet/fox/renault, @@ -28201,19 +28915,6 @@ "iHp" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai) -"iHy" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/effect/landmark/start/bartender, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar/backroom) -"iHz" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/fore) "iHV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -28239,16 +28940,6 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/storage) -"iIa" = ( -/obj/structure/cable, -/obj/structure/railing, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "iIe" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/disposalpipe/segment, @@ -28337,6 +29028,14 @@ "iJO" = ( /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"iJT" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/item/kirbyplants/organic/applebush, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "iJX" = ( /obj/item/target, /obj/structure/window/reinforced/spawner/directional/south, @@ -28488,29 +29187,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"iMg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/light/small/directional/east, -/obj/machinery/duct, -/turf/open/floor/wood/tile, -/area/station/service/theater) -"iMj" = ( -/obj/structure/closet/lasertag/blue, -/obj/effect/landmark/start/hangover/closet, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) -"iMo" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "iMp" = ( /obj/machinery/status_display/ai/directional/east, /turf/open/floor/circuit, @@ -28535,6 +29211,33 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"iMB" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/closet/crate/hydroponics, +/obj/item/wrench, +/obj/item/wrench, +/obj/item/grenade/chem_grenade/antiweed{ + pixel_x = 3; + pixel_y = 1 + }, +/obj/item/grenade/chem_grenade/antiweed, +/obj/item/shovel/spade, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_y = 3 + }, +/obj/item/cultivator, +/obj/item/shovel/spade, +/obj/item/reagent_containers/cup/watering_can, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron, +/area/station/service/hydroponics) "iMD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28559,6 +29262,10 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/engine, /area/station/engineering/supermatter) +"iNh" = ( +/obj/item/kirbyplants/random/dead, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "iNn" = ( /obj/structure/chair/office{ dir = 1 @@ -28574,19 +29281,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/genetics) -"iNt" = ( -/obj/machinery/vending/hydroseeds{ - slogan_delay = 700 - }, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/service/hydroponics) "iNy" = ( /obj/structure/chair{ dir = 4 @@ -28614,6 +29308,12 @@ "iNQ" = ( /turf/open/floor/carpet, /area/station/maintenance/space_hut/cabin) +"iNV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "iOc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28709,20 +29409,18 @@ dir = 4 }, /area/station/security/brig/entrance) -"iQf" = ( -/obj/machinery/door/airlock/external{ - name = "Service Hall Exit" +"iQi" = ( +/obj/effect/decal/cleanable/garbage, +/obj/item/reagent_containers/spray/chemsprayer/party{ + pixel_x = 1 }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "service-hall-external" +/obj/item/clothing/head/costume/festive{ + pixel_y = -3; + pixel_x = -5 }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/secondary/service) +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "iQj" = ( /obj/item/radio/intercom/directional/north, /obj/structure/table/glass, @@ -28875,6 +29573,11 @@ /obj/structure/sign/warning/radiation/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"iRS" = ( +/obj/machinery/icecream_vat, +/obj/structure/sign/clock/directional/north, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "iRV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28887,12 +29590,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/mine/laborcamp/security) -"iSi" = ( -/obj/effect/landmark/generic_maintenance_landmark, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "iSk" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -28996,6 +29693,13 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/science/genetics) +"iTL" = ( +/obj/item/stack/cable_coil, +/obj/structure/fence/corner{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "iTP" = ( /obj/item/reagent_containers/cup/bucket, /obj/effect/turf_decal/trimline/green/filled/line, @@ -29007,6 +29711,16 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) +"iUa" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "iUm" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, @@ -29066,10 +29780,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/engineering/supermatter) -"iUO" = ( -/obj/structure/flora/bush/flowers_pp/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "iUT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29137,6 +29847,16 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"iWm" = ( +/obj/structure/table/glass, +/obj/item/seeds/glowshroom, +/obj/item/seeds/bamboo{ + pixel_y = 3; + pixel_x = 4 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "iWq" = ( /obj/structure/chair{ dir = 4 @@ -29144,9 +29864,6 @@ /obj/machinery/light/small/dim/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"iWr" = ( -/turf/closed/wall, -/area/station/service/kitchen/diner) "iWI" = ( /obj/structure/lattice/catwalk, /obj/structure/window/reinforced/spawner/directional/south, @@ -29243,20 +29960,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"iXF" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/turf/open/floor/carpet, -/area/station/service/theater) -"iXH" = ( -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "iXP" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -29267,16 +29970,6 @@ "iYb" = ( /turf/closed/wall, /area/station/maintenance/central/greater) -"iYi" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "iYs" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -29328,10 +30021,6 @@ }, /turf/open/floor/plating, /area/station/science/research) -"iZm" = ( -/obj/structure/chair/wood, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "iZn" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/wood, @@ -29340,16 +30029,6 @@ /obj/effect/turf_decal/trimline/yellow/line, /turf/open/floor/iron/dark/side, /area/station/security/prison/workout) -"iZp" = ( -/obj/structure/chair/sofa/right/brown{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "iZq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29368,13 +30047,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/white, /area/station/medical/cryo) -"iZy" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/machinery/hydroponics/constructable, -/turf/open/floor/grass, -/area/station/maintenance/starboard/fore) "iZz" = ( /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/labor_camp) @@ -29413,6 +30085,10 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) +"jaf" = ( +/obj/structure/fence/corner, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "jag" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -29441,6 +30117,13 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"jaC" = ( +/obj/effect/spawner/random/trash/graffiti{ + pixel_y = -30 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jaO" = ( /obj/machinery/door/airlock/atmos/glass{ name = "Turbine Access" @@ -29500,6 +30183,15 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) +"jbi" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jbu" = ( /obj/structure/railing/corner, /turf/open/floor/iron/dark/side{ @@ -29600,6 +30292,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/mess) +"jdG" = ( +/obj/structure/toilet/greyscale{ + cistern_open = 1; + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/toilet) "jdJ" = ( /obj/structure/chair/wood, /turf/open/floor/carpet, @@ -29638,6 +30338,17 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"jdZ" = ( +/obj/structure/reagent_dispensers/plumbed{ + name = "service reservoir" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/starboard/fore) "jeh" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{ dir = 1 @@ -29699,35 +30410,10 @@ "jfc" = ( /turf/closed/wall, /area/station/command/heads_quarters/hop) -"jfN" = ( -/obj/structure/stairs/south, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "jfR" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/command/gateway) -"jfZ" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) -"jgh" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Canteen" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/service/kitchen/diner) "jgl" = ( /obj/effect/turf_decal/trimline/dark_blue/corner{ dir = 1 @@ -29815,6 +30501,17 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"jiQ" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/structure/sign/picture_frame/portrait/bar{ + pixel_x = 32 + }, +/obj/structure/displaycase/forsale/kitchen{ + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/station/service/bar) "jjk" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -29855,14 +30552,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"jjG" = ( -/obj/item/instrument/harmonica, -/obj/item/instrument/guitar, -/obj/machinery/airalarm/directional/north, -/obj/machinery/firealarm/directional/west, -/obj/structure/table/wood, -/turf/open/floor/wood/tile, -/area/station/service/theater) "jjJ" = ( /obj/machinery/camera/directional/west{ c_tag = "Labor Camp External West"; @@ -29877,12 +30566,11 @@ /obj/structure/mirror/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"jjW" = ( -/obj/machinery/vending/wardrobe/bar_wardrobe, -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/tile/bar/opposingcorners, +"jkj" = ( +/obj/effect/landmark/start/hangover, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, -/area/station/service/bar/backroom) +/area/station/hallway/primary/starboard) "jkn" = ( /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron, @@ -30044,6 +30732,13 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"jns" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "jnR" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -30067,6 +30762,15 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"jnW" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Starboard Primary Hallway West" + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "jnX" = ( /obj/machinery/shower/directional/south, /obj/item/bikehorn/rubberducky/plasticducky, @@ -30118,14 +30822,6 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"joG" = ( -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/service/hydroponics) "jpd" = ( /obj/machinery/vending/coffee, /turf/open/floor/iron, @@ -30136,6 +30832,12 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) +"jpf" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "jpi" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/structure/sign/warning/gas_mask{ @@ -30150,6 +30852,13 @@ dir = 1 }, /area/mine/eva/lower) +"jpk" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 6 + }, +/turf/open/floor/wood/large, +/area/station/hallway/primary/starboard) "jpo" = ( /obj/machinery/door/poddoor/preopen{ id = "maint2" @@ -30246,20 +30955,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"jqJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/start/botanist, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/service/hydroponics) "jqT" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage/tech) @@ -30285,6 +30980,11 @@ /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"jrM" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/landmark/start/mime, +/turf/open/floor/wood, +/area/station/commons/lounge) "jrQ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/firealarm/directional/north, @@ -30308,6 +31008,16 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) +"jsc" = ( +/obj/machinery/space_heater, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "jsh" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ @@ -30361,6 +31071,14 @@ dir = 1 }, /area/station/hallway/primary/port) +"jsK" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "jth" = ( /obj/structure/table, /obj/item/assembly/prox_sensor{ @@ -30671,14 +31389,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) -"jwv" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/table, -/obj/machinery/processor{ - pixel_y = 6 - }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "jwx" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -30706,6 +31416,26 @@ /obj/structure/cable, /turf/open/floor/carpet/red, /area/station/security/prison/work) +"jwQ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"jwV" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Dormitory" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms) "jxb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30738,15 +31468,12 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/storage) -"jyh" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ +"jxG" = ( +/obj/structure/fence/cut/large{ dir = 8 }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/iron, -/area/station/service/bar) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "jyl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30777,6 +31504,11 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/virology) +"jyD" = ( +/obj/structure/flora/bush/grassy/style_random, +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "jyL" = ( /obj/structure/cable, /obj/machinery/power/terminal{ @@ -30800,10 +31532,6 @@ /obj/structure/closet/secure_closet/captains, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"jzs" = ( -/obj/machinery/power/smes/engineering, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "jzy" = ( /obj/machinery/computer/exodrone_control_console{ dir = 1 @@ -30823,11 +31551,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron, /area/station/security/brig/upper) -"jzP" = ( -/obj/structure/chair/stool/directional/south, -/obj/effect/decal/cleanable/oil/slippery, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "jzY" = ( /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -30835,6 +31558,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) +"jAa" = ( +/obj/effect/spawner/random/entertainment/arcade, +/obj/structure/sign/poster/contraband/random/directional/east, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "jAk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -30858,6 +31587,15 @@ /obj/structure/flora/grass/both/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"jAE" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "jAF" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -30887,13 +31625,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/space_hut/cabin) -"jBb" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "jBc" = ( /obj/machinery/dna_infuser, /obj/item/infuser_book, @@ -30918,6 +31649,14 @@ }, /turf/open/floor/plating, /area/station/science/xenobiology) +"jBl" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/event_spawn, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "jBn" = ( /obj/docking_port/stationary{ dir = 4; @@ -30929,11 +31668,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"jBq" = ( -/obj/structure/flora/tree/jungle/style_random, -/obj/structure/flora/bush/jungle/a/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "jBB" = ( /obj/structure/kitchenspike, /turf/open/floor/plating/snowed/coldroom, @@ -30955,15 +31689,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/engineering/atmos) -"jBU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "jCl" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/aft) @@ -31007,17 +31732,6 @@ /obj/machinery/smartfridge/petri/preloaded, /turf/open/openspace, /area/station/science/xenobiology) -"jCF" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west{ - pixel_y = -9 - }, -/obj/effect/decal/cleanable/ash, -/turf/open/floor/stone, -/area/station/commons/lounge) "jCL" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -31060,6 +31774,22 @@ /obj/machinery/pdapainter/security, /turf/open/floor/wood/large, /area/station/command/heads_quarters/hos) +"jDB" = ( +/obj/structure/table, +/obj/item/flashlight/flare/candle{ + pixel_y = 1; + pixel_x = -16 + }, +/obj/item/paper/crumpled{ + pixel_y = 3; + pixel_x = 1; + name = "used napkin" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "jDG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31067,6 +31797,15 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron/dark/textured, /area/station/security/prison) +"jDH" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jDM" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/flora/bush/sunny/style_random, @@ -31128,16 +31867,9 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/medical/virology) -"jEr" = ( -/obj/structure/table/wood, -/obj/item/camera, -/obj/item/taperecorder, -/obj/item/radio/intercom/directional/east, -/obj/structure/sign/painting/library_private{ - pixel_y = 32 - }, -/turf/open/floor/engine/cult, -/area/station/service/library) +"jEi" = ( +/turf/open/floor/iron/half, +/area/station/service/hydroponics) "jEs" = ( /obj/machinery/conveyor_switch/oneway{ id = "gulag"; @@ -31165,22 +31897,6 @@ /obj/structure/rack, /turf/open/floor/iron, /area/station/command/gateway) -"jFA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/firealarm/directional/east, -/obj/machinery/door/airlock{ - name = "Service Hall" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured_half, -/area/station/hallway/secondary/service) "jFJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -31269,12 +31985,6 @@ /obj/item/clothing/suit/hazardvest, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"jHE" = ( -/obj/effect/turf_decal/siding/white/corner, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "jHF" = ( /obj/item/trash/boritos/red, /obj/structure/cable, @@ -31286,16 +31996,24 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"jHK" = ( -/obj/machinery/seed_extractor, -/obj/effect/turf_decal/siding/white{ - dir = 9 +"jHL" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, /area/station/service/hydroponics) "jHQ" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/co2{ @@ -31396,6 +32114,12 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon, /area/station/science/server) +"jIU" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "jIX" = ( /obj/effect/turf_decal/siding/brown/corner{ dir = 4 @@ -31436,17 +32160,11 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) -"jJf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/holopad, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) +"jJr" = ( +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "jJF" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/stripes/line{ @@ -31557,19 +32275,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"jKV" = ( -/obj/item/training_toolbox{ - pixel_y = 5 - }, -/obj/structure/table, -/obj/item/training_toolbox{ - pixel_y = -2 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "jKY" = ( /turf/closed/mineral/random/snow/high_chance, /area/icemoon/underground/unexplored/rivers/deep/shoreline) @@ -31598,10 +32303,6 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) -"jLn" = ( -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/service/hydroponics) "jLo" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -31617,6 +32318,10 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"jLK" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/service/kitchen) "jLM" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31698,6 +32403,15 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"jMC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/item/kirbyplants/random, +/obj/machinery/light/warm/directional/south, +/obj/machinery/digital_clock/directional/south, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "jMY" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/dark_blue/line{ @@ -31737,22 +32451,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"jOc" = ( -/obj/structure/sink/kitchen/directional/west, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/item/radio/intercom/directional/east{ - pixel_x = 31 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "jOi" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -31793,6 +32491,11 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"jOC" = ( +/obj/machinery/space_heater, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/station/maintenance/fore) "jOD" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -31819,21 +32522,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/security/office) -"jOY" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/reagent_dispensers/plumbed{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) -"jPa" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/table, -/obj/item/aquarium_kit, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) "jPc" = ( /obj/machinery/conveyor_switch/oneway{ id = "QMLoad2" @@ -31897,6 +32585,22 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/breakroom) +"jPE" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Bar Maintenance" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/commons/lounge) "jPV" = ( /obj/structure/sign/poster/random/directional/south, /turf/open/floor/plating, @@ -31920,13 +32624,6 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"jQo" = ( -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/effect/spawner/random/entertainment/arcade, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "jQt" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=1"; @@ -31939,6 +32636,15 @@ /obj/structure/plasticflaps/opaque, /turf/open/floor/iron/dark, /area/station/maintenance/department/medical/central) +"jQu" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/barsign/all_access/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/bar) "jQz" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -32095,14 +32801,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"jSm" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "jSt" = ( /obj/machinery/door/airlock/external{ name = "Security Yard"; @@ -32129,12 +32827,6 @@ /obj/structure/stairs/east, /turf/open/floor/plating, /area/station/hallway/primary/central/fore) -"jSM" = ( -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "jSQ" = ( /obj/structure/sign/poster/official/here_for_your_safety/directional/east, /turf/open/misc/asteroid/snow/icemoon, @@ -32183,6 +32875,10 @@ }, /turf/open/floor/plating, /area/station/science/genetics) +"jTQ" = ( +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "jTT" = ( /obj/structure/chair/stool/directional/east, /obj/machinery/light/floor, @@ -32190,13 +32886,6 @@ dir = 1 }, /area/station/engineering/atmos) -"jTV" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "jTZ" = ( /obj/machinery/door/airlock/command/glass{ name = "Server Room" @@ -32269,15 +32958,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/fore) -"jVq" = ( -/obj/structure/railing/corner, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "jVt" = ( /obj/structure/railing/wooden_fence{ dir = 8 @@ -32319,15 +32999,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"jWp" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "jWt" = ( /obj/structure/cable, /obj/structure/closet/radiation, @@ -32340,13 +33011,6 @@ /obj/structure/sign/warning/gas_mask/directional/west, /turf/open/floor/plating, /area/station/engineering/main) -"jWO" = ( -/obj/item/soap/nanotrasen, -/obj/item/clothing/head/costume/sombrero/green, -/obj/structure/table/wood, -/obj/structure/sign/poster/random/directional/north, -/turf/open/floor/wood/tile, -/area/station/service/theater) "jWP" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -32391,10 +33055,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"jXD" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "jXH" = ( /obj/machinery/conveyor{ dir = 8; @@ -32485,6 +33145,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) +"jYY" = ( +/obj/machinery/computer/order_console/cook{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "jZe" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -32507,14 +33178,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/eva) -"jZt" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/table, -/obj/machinery/reagentgrinder{ - pixel_y = 9 - }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "jZB" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -32541,12 +33204,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) -"jZN" = ( -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "jZU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -32559,6 +33216,22 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"kap" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"kaq" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/effect/turf_decal/siding/dark{ + dir = 9 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "kaw" = ( /obj/machinery/photocopier, /obj/item/radio/intercom/directional/north, @@ -32575,6 +33248,16 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/white, /area/station/medical/virology) +"kaI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "kaK" = ( /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron, @@ -32602,11 +33285,6 @@ /obj/effect/decal/cleanable/food/pie_smudge, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"kbp" = ( -/obj/structure/marker_beacon/burgundy, -/obj/structure/fluff/fokoff_sign, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "kbq" = ( /obj/machinery/conveyor{ dir = 1; @@ -32623,6 +33301,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"kbu" = ( +/obj/structure/closet/crate, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "kbx" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -32656,20 +33339,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/fore) -"kbU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "kbZ" = ( /obj/structure/railing/wooden_fence, /obj/item/flashlight/lantern/on, @@ -32745,6 +33414,14 @@ /obj/structure/sign/warning/directional/south, /turf/open/genturf/blue, /area/icemoon/underground/unexplored/rivers/deep/shoreline) +"kda" = ( +/obj/structure/fireplace{ + pixel_x = 0 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "kdc" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 8 @@ -32768,13 +33445,6 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark, /area/station/security/mechbay) -"kdD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "kdF" = ( /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/iron, @@ -32809,25 +33479,6 @@ /obj/docking_port/stationary/escape_pod, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"keq" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 5 - }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/duct, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"keu" = ( -/obj/structure/lattice/catwalk, -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/underground/explored) "kex" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -32968,22 +33619,6 @@ /obj/structure/sign/poster/random/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) -"kfX" = ( -/obj/structure/table/wood, -/obj/item/toy/cards/deck{ - pixel_y = 4 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet, -/area/station/service/theater) -"kfY" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/chair, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "kfZ" = ( /obj/machinery/door/firedoor/heavy, /obj/structure/sign/warning/test_chamber/directional/east, @@ -33025,10 +33660,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) -"kgs" = ( -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "kgy" = ( /obj/structure/cable, /obj/effect/spawner/random/structure/steam_vent, @@ -33091,6 +33722,26 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"khi" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/bot_red, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) +"khj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "kho" = ( /obj/item/radio/intercom/directional/south, /obj/structure/table/wood, @@ -33101,6 +33752,15 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/medical/psychology) +"khs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/chair_flipped{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kht" = ( /obj/structure/railing/corner{ dir = 4 @@ -33120,15 +33780,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/atmos) -"khz" = ( -/obj/structure/marker_beacon/cerulean, -/turf/open/genturf, -/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) -"khA" = ( -/obj/machinery/firealarm/directional/west, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "khF" = ( /obj/machinery/light/small/directional/north, /obj/structure/sign/warning/gas_mask/directional/north{ @@ -33197,15 +33848,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining_station, /turf/open/floor/iron/dark/textured_half, /area/station/cargo/storage) -"kiB" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "kiE" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -33301,6 +33943,30 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"kjM" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1 + }, +/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"kjX" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table, +/obj/item/paper{ + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -5 + }, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "kjY" = ( /obj/structure/sign/warning/secure_area/directional/west, /obj/machinery/door/firedoor, @@ -33343,6 +34009,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"kkq" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/station/medical/morgue) "kkA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/newscaster/directional/west, @@ -33357,6 +34028,13 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/brig) +"kkC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "kkD" = ( /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, @@ -33376,6 +34054,13 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) +"kkM" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/bar) "kkN" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -33404,6 +34089,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/break_room) +"klm" = ( +/obj/structure/sign/nanotrasen, +/obj/structure/fence/post{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "klo" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/table/reinforced, @@ -33439,19 +34131,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/mine/laborcamp) -"klY" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) -"kme" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "kmf" = ( /obj/machinery/status_display/evac/directional/west, /turf/open/openspace, @@ -33515,27 +34194,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/textured, /area/mine/mechbay) -"kmQ" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/camera{ - c_tag = "Service Botany - Upper South"; - dir = 10 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"kmW" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "knd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, @@ -33562,13 +34220,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/wood, /area/station/command/meeting_room) -"knW" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "knX" = ( /obj/machinery/status_display/evac/directional/east, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -33614,11 +34265,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"kpf" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/oven/range, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "kpj" = ( /obj/structure/window/reinforced/spawner/directional/north{ pixel_y = 2 @@ -33654,6 +34300,13 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) +"kpW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "kpX" = ( /obj/structure/bed/medical{ dir = 4 @@ -33721,6 +34374,16 @@ /obj/machinery/vending/sustenance/labor_camp, /turf/open/floor/iron, /area/mine/laborcamp) +"kqv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "kqw" = ( /obj/effect/spawner/random/vending/colavend, /obj/effect/turf_decal/tile/red{ @@ -33735,12 +34398,6 @@ dir = 4 }, /area/station/command/gateway) -"kqA" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "kqG" = ( /obj/structure/table/reinforced, /obj/machinery/light/small/directional/east, @@ -33893,6 +34550,10 @@ /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) +"ksk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ksn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -33922,30 +34583,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) -"ksK" = ( -/turf/closed/wall, -/area/station/service/kitchen/coldroom) -"ksL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) -"ksO" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "ksU" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -34029,6 +34666,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"ktH" = ( +/obj/effect/spawner/random/trash/hobo_squat, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ktU" = ( /turf/open/floor/carpet, /area/station/command/meeting_room) @@ -34045,12 +34687,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron/dark, /area/station/service/chapel) -"kum" = ( -/obj/structure/table, -/obj/item/trash/can/food/beans, -/obj/item/reagent_containers/cup/glass/waterbottle/empty, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "kuy" = ( /obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver{ pixel_x = 28 @@ -34064,6 +34700,19 @@ /obj/structure/closet/cardboard, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) +"kuH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "kuR" = ( /obj/structure/barricade/wooden, /obj/machinery/door/airlock/maintenance, @@ -34109,18 +34758,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"kvs" = ( -/obj/machinery/door/firedoor, -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/west{ - name = "Hydroponics Desk"; - req_access = list("hydroponics") - }, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "kvu" = ( /obj/machinery/door/airlock/security{ id_tag = "IsolationCell"; @@ -34182,13 +34819,6 @@ /obj/item/wrench, /turf/open/floor/iron, /area/station/engineering/atmos) -"kwu" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/computer/slot_machine{ - pixel_y = -6 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "kwz" = ( /obj/structure/table/wood, /obj/item/folder/blue, @@ -34232,6 +34862,17 @@ /obj/item/relic, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"kxh" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/openspace, +/area/station/service/bar/atrium) +"kxj" = ( +/obj/structure/chair/sofa/bench{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "kxp" = ( /obj/machinery/door/airlock/security/glass{ name = "Security Desk" @@ -34256,14 +34897,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"kxN" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "kxY" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron, @@ -34303,10 +34936,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/command/gateway) -"kyl" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "kyp" = ( /obj/effect/turf_decal/box/corners, /obj/effect/turf_decal/box/corners{ @@ -34348,13 +34977,6 @@ /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/medical) -"kyZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "kzv" = ( /obj/structure/bed, /obj/effect/spawner/random/bedsheet/any, @@ -34419,16 +35041,6 @@ /obj/item/multitool, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"kzW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/turf/open/floor/wood/tile, -/area/station/service/theater) "kzZ" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -34451,12 +35063,6 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"kAD" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "kAG" = ( /obj/structure/table, /obj/item/cigbutt, @@ -34575,6 +35181,11 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/break_room) +"kCr" = ( +/obj/structure/marker_beacon/jade, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "kCs" = ( /obj/machinery/airalarm/directional/south, /obj/item/kirbyplants/random, @@ -34630,6 +35241,15 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/mine/laborcamp/security) +"kCL" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kCR" = ( /obj/structure/stairs/west, /turf/open/floor/iron/dark, @@ -34721,26 +35341,6 @@ dir = 4 }, /area/mine/eva) -"kDJ" = ( -/obj/item/wrench, -/obj/item/clothing/glasses/monocle, -/obj/structure/table/wood, -/obj/structure/sign/poster/contraband/random/directional/north, -/turf/open/floor/iron, -/area/station/service/theater) -"kDP" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"kDU" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "kEj" = ( /obj/machinery/computer/libraryconsole/bookmanagement, /obj/structure/table, @@ -34761,6 +35361,10 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"kEr" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kEs" = ( /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, @@ -34787,6 +35391,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"kFj" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kFu" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty, @@ -34892,12 +35503,6 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/stone, /area/mine/eva/lower) -"kHk" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/station/service/theater) "kHl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/stripes/line{ @@ -34973,10 +35578,6 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/service) -"kHV" = ( -/obj/structure/flora/bush/jungle/a/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "kIh" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -35011,6 +35612,19 @@ /obj/item/clothing/suit/hooded/wintercoat, /turf/open/floor/vault, /area/station/security/prison/rec) +"kIp" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/service/chapel) "kIt" = ( /obj/effect/turf_decal/siding/yellow{ dir = 4 @@ -35126,11 +35740,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"kKl" = ( -/obj/structure/table/glass, -/obj/item/plant_analyzer, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "kKv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/sorting/mail{ @@ -35217,12 +35826,47 @@ /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"kLA" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"kLN" = ( +/obj/structure/fence/door{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "kLZ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 }, /turf/open/floor/iron, /area/station/cargo/storage) +"kMd" = ( +/obj/machinery/door/window/left/directional/west{ + req_one_access = list("bar", "kitchen"); + name = "Deliveries" + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured, +/area/station/service/kitchen/coldroom) "kMh" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -35230,20 +35874,17 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"kMn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "kMv" = ( /obj/effect/turf_decal/trimline/yellow/filled/shrink_cw{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"kMD" = ( -/obj/machinery/door/airlock{ - name = "Unisex Restrooms" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "kMN" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -35320,6 +35961,17 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/brig/upper) +"kNT" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "kNW" = ( /turf/closed/wall, /area/station/cargo/warehouse) @@ -35344,23 +35996,6 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) -"kOB" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) -"kOF" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "kON" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt, @@ -35382,6 +36017,12 @@ /obj/structure/sign/poster/random/directional/east, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"kOP" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/fore) "kOS" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -35411,6 +36052,14 @@ /obj/effect/turf_decal/tile/dark_green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"kOY" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "kPg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35466,11 +36115,6 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"kPS" = ( -/obj/structure/railing, -/obj/structure/marker_beacon/cerulean, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "kQc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35548,32 +36192,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"kQW" = ( -/obj/structure/closet/crate/hydroponics, -/obj/item/shovel/spade, -/obj/item/wrench, -/obj/item/reagent_containers/cup/watering_can, -/obj/item/wirecutters, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/camera{ - c_tag = "Service Botany - Lower North"; - dir = 9 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/plating, -/area/station/service/hydroponics) -"kQX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "kQY" = ( /obj/effect/turf_decal/arrows/red{ dir = 4; @@ -35595,6 +36213,12 @@ /obj/structure/bookcase, /turf/open/floor/iron, /area/mine/laborcamp) +"kRq" = ( +/obj/structure/table/wood, +/obj/item/plate, +/obj/effect/spawner/random/trash/bacteria, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "kRw" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/effect/turf_decal/stripes/line{ @@ -35617,12 +36241,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"kRF" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "kRH" = ( /obj/machinery/door/airlock/highsecurity{ name = "Chemistry Lab Exit" @@ -35671,21 +36289,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/cargo/office) +"kSl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/obj/machinery/meter/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "kSn" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"kSo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "kSv" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, @@ -35700,6 +36317,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"kSJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "kSM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -35717,6 +36339,17 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) +"kTc" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Central Hallway North-East" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/poster/official/random/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "kTk" = ( /turf/open/floor/iron/dark/textured_half{ dir = 1 @@ -35745,14 +36378,14 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/mine/eva/lower) -"kTO" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 +"kTP" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "kTQ" = ( /obj/effect/turf_decal/siding/yellow{ dir = 6 @@ -35772,6 +36405,24 @@ }, /turf/open/floor/plastic, /area/station/commons/dorms/laundry) +"kTY" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "kUb" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 8 @@ -35779,6 +36430,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/fore/lesser) +"kUf" = ( +/obj/structure/fluff/tram_rail{ + pixel_y = 17 + }, +/obj/structure/fluff/tram_rail, +/obj/structure/lattice/catwalk, +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "kUn" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -35796,6 +36459,10 @@ }, /turf/closed/wall, /area/station/engineering/transit_tube) +"kUw" = ( +/obj/machinery/power/port_gen/pacman, +/turf/open/floor/plating, +/area/station/maintenance/fore) "kUx" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, @@ -35842,6 +36509,11 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"kVz" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kVE" = ( /obj/structure/sign/painting/library_secure{ pixel_x = 32 @@ -35861,6 +36533,12 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/security/courtroom) +"kVI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kVM" = ( /obj/structure/chair/sofa/corp/right{ dir = 1 @@ -35868,6 +36546,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/engineering/lobby) +"kVO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "kVS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35877,10 +36563,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"kWa" = ( -/obj/structure/fireplace, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "kWh" = ( /obj/machinery/holopad/secure, /turf/open/floor/iron/dark/smooth_large, @@ -35899,21 +36581,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"kWs" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/airlock{ - name = "Bar" - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/backroom) "kWw" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -35930,13 +36597,6 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron/textured, /area/station/security/brig) -"kWK" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "kWL" = ( /obj/structure/rack, /obj/item/reagent_containers/cup/bottle/nitrogen{ @@ -35962,12 +36622,6 @@ /obj/effect/mapping_helpers/mail_sorting/service/janitor_closet, /turf/open/floor/iron, /area/station/hallway/primary/central) -"kWR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/holopad, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "kWW" = ( /obj/machinery/door/airlock/atmos, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36004,14 +36658,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/cargo/storage) -"kXu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "kXx" = ( /obj/structure/table, /obj/item/food/spaghetti/meatballspaghetti{ @@ -36037,6 +36683,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) +"kXC" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/stone, +/area/station/commons/lounge) "kXD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -36046,15 +36699,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) -"kXE" = ( -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/obj/machinery/status_display/evac/directional/west, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "kXI" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 1 @@ -36075,6 +36719,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) +"kXX" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "kXY" = ( /turf/open/floor/iron/dark, /area/station/security/prison/rec) @@ -36105,11 +36764,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) -"kYz" = ( -/obj/effect/landmark/start/hangover, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "kYF" = ( /obj/structure/light_construct/directional/west, /mob/living/simple_animal/hostile/retaliate/goose/vomit, @@ -36125,6 +36779,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/large, /area/station/engineering/engine_smes) +"kYO" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/fore) "kZa" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36144,11 +36806,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"kZc" = ( -/obj/machinery/holopad, -/obj/effect/landmark/start/clown, -/turf/open/floor/wood/tile, -/area/station/service/theater) "kZh" = ( /obj/structure/cable, /obj/structure/sign/poster/contraband/random/directional/west, @@ -36172,6 +36829,15 @@ "kZu" = ( /turf/closed/wall, /area/mine/production) +"kZw" = ( +/obj/structure/table/wood/poker, +/obj/item/toy/cards/deck{ + pixel_y = 13; + pixel_x = 6 + }, +/obj/effect/spawner/random/entertainment/cigarette, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "kZC" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot_white, @@ -36245,13 +36911,6 @@ }, /turf/open/floor/iron, /area/station/service/janitor) -"laP" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Canteen" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/hallway/primary/starboard) "laV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -36318,6 +36977,16 @@ /obj/machinery/gateway/centerstation, /turf/open/floor/iron/dark/smooth_large, /area/station/command/gateway) +"lcq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "lcu" = ( /turf/open/floor/iron/white, /area/station/science/explab) @@ -36339,6 +37008,16 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/dark, /area/mine/mechbay) +"ldi" = ( +/obj/structure/table, +/obj/item/wallframe/camera, +/obj/item/wallframe/camera, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "ldn" = ( /obj/machinery/door/poddoor/preopen{ id = "maint3" @@ -36374,6 +37053,11 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/grimy, /area/station/security/prison/work) +"ldE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/station/maintenance/fore) "ldH" = ( /turf/closed/wall, /area/station/security/prison/mess) @@ -36436,13 +37120,6 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"let" = ( -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "leE" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -36451,6 +37128,14 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"leK" = ( +/obj/effect/spawner/random/trash/moisture_trap, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "leM" = ( /obj/structure/railing{ dir = 8 @@ -36509,13 +37194,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/medical/storage) -"lfR" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "lgg" = ( /obj/machinery/air_sensor/engine_chamber, /turf/open/floor/engine, @@ -36526,6 +37204,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"lgs" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "lgz" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -36533,17 +37217,6 @@ /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/textured_large, /area/station/security/brig/entrance) -"lgA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "lgD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36552,11 +37225,10 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) -"lgH" = ( -/obj/structure/flora/tree/pine/style_random, -/obj/structure/marker_beacon/cerulean, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"lgG" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lgK" = ( /turf/closed/wall, /area/station/security/prison/visit) @@ -36576,6 +37248,10 @@ }, /turf/open/floor/engine, /area/station/science/ordnance) +"lgR" = ( +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lgW" = ( /obj/machinery/meter/monitored/distro_loop, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, @@ -36612,6 +37288,12 @@ "lhC" = ( /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"lhL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron, +/area/station/commons/fitness) "lhO" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -36629,6 +37311,23 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"lia" = ( +/obj/structure/flora/grass/brown/style_random, +/obj/structure/sign/nanotrasen{ + pixel_y = -32 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"lid" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "lil" = ( /obj/structure/cable, /obj/structure/sign/poster/random/directional/west, @@ -36678,6 +37377,10 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) +"liP" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "liS" = ( /obj/structure/closet/crate/coffin, /obj/effect/decal/cleanable/dirt, @@ -36800,6 +37503,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/service/janitor) +"lkf" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "lkj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36810,6 +37525,13 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"lkx" = ( +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "lkz" = ( /obj/structure/rack, /turf/open/floor/plating, @@ -36876,17 +37598,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/psychology) -"llG" = ( -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/hangover, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "llT" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 1 @@ -36899,6 +37610,18 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"lmd" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/duct, +/obj/structure/sign/flag/nanotrasen/directional/west, +/turf/open/floor/iron, +/area/station/commons/fitness) "lme" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36919,15 +37642,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"lmm" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "lms" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -36960,10 +37674,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) -"lmB" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/lesser) "lmK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37008,16 +37718,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) -"lnq" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "lnr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -37212,13 +37912,16 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) -"lqh" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"lqi" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 4 }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_y = 6 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "lqj" = ( /obj/structure/chair/pew/right{ dir = 1 @@ -37227,15 +37930,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/service/chapel) -"lqs" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "lqz" = ( /obj/structure/cable, /turf/closed/wall, @@ -37247,19 +37941,14 @@ }, /turf/open/floor/iron/textured, /area/mine/mechbay) -"lqB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, +"lqC" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/structure/sign/departments/botany/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "lqE" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 10 @@ -37295,6 +37984,26 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"lrq" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/poster/official/the_owl/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "lry" = ( /obj/structure/table, /obj/item/storage/box/bodybags{ @@ -37318,12 +38027,6 @@ /obj/structure/curtain, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain) -"lrN" = ( -/obj/effect/landmark/start/hangover, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "lsa" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 4; @@ -37369,6 +38072,11 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"ltt" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "ltE" = ( /obj/structure/closet/crate/freezer, /obj/item/reagent_containers/blood/random, @@ -37377,6 +38085,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"ltK" = ( +/obj/structure/minecart_rail{ + dir = 1 + }, +/obj/item/radio/intercom/directional/west{ + frequency = 1453; + name = "Kitchen Intercom" + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "ltV" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -37394,6 +38112,17 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"luc" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "lup" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 8 @@ -37424,13 +38153,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/xenobiology) -"lvc" = ( -/obj/item/clothing/mask/fakemoustache, -/obj/item/clothing/mask/cigarette/pipe, -/obj/structure/table/wood, -/obj/structure/sign/poster/contraband/random/directional/south, -/turf/open/floor/wood/tile, -/area/station/service/theater) "lvh" = ( /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron, @@ -37454,21 +38176,11 @@ "lvt" = ( /turf/open/openspace/icemoon, /area/icemoon/underground/explored) -"lvu" = ( -/obj/machinery/door/airlock/highsecurity{ - name = "Service Hall Exit" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "service-hall-external" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/hallway/secondary/service) +"lvz" = ( +/obj/structure/girder, +/obj/structure/grille, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "lvB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37490,13 +38202,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"lvO" = ( -/obj/item/clothing/mask/animal/pig, -/obj/item/bikehorn, -/obj/structure/table/wood, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/wood/tile, -/area/station/service/theater) "lvQ" = ( /obj/machinery/light/small/directional/east, /obj/effect/decal/cleanable/dirt, @@ -37516,6 +38221,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/eva) +"lvU" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light/floor, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "lvW" = ( /obj/structure/table, /obj/effect/spawner/random/trash/food_packaging, @@ -37533,6 +38248,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/dorms) +"lwc" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/hydroponics) "lwd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, @@ -37595,17 +38326,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/storage/tools) -"lxf" = ( -/obj/structure/table, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 - }, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 - }, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "lxn" = ( /obj/machinery/biogenerator, /obj/structure/window/reinforced/spawner/directional/north, @@ -37638,6 +38358,19 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/engineering/atmos) +"lyd" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "lye" = ( /obj/effect/turf_decal/bot_white/right, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -37691,11 +38424,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible/layer2, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) -"lyW" = ( -/obj/structure/chair/sofa/corp/left, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +"lyQ" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "lyX" = ( /obj/structure/chair{ dir = 4 @@ -37703,6 +38439,22 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"lzd" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/camera/directional/south{ + c_tag = "Service - Botany Garden Access" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "lzq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37768,6 +38520,19 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/medical/virology) +"lAa" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Dormitory" + }, +/obj/effect/landmark/navigate_destination, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms) "lAc" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -37796,12 +38561,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"lAB" = ( -/obj/structure/rack, -/obj/item/crowbar, -/obj/item/pickaxe, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "lAC" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -37810,15 +38569,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"lAG" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "lAL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37828,15 +38578,11 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"lBb" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"lBm" = ( +/obj/structure/marker_beacon/burgundy, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "lBo" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/carpet, @@ -37848,15 +38594,37 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"lBy" = ( -/obj/effect/turf_decal/siding/white, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) +"lBx" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "lBD" = ( /obj/structure/flora/grass/green/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"lBE" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ + dir = 1; + name = "Can In" + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"lBG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "lBR" = ( /turf/closed/wall, /area/station/security/prison/toilet) @@ -37864,6 +38632,13 @@ /obj/structure/grille/broken, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"lBW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "lBZ" = ( /obj/machinery/door/window/right/directional/west{ name = "Containment Pen 7"; @@ -37940,6 +38715,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"lCX" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/access/any/security/general, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/fore) "lCY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37948,11 +38732,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"lDg" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "lDh" = ( /obj/structure/table, /obj/effect/turf_decal/stripes/red/line{ @@ -37979,12 +38758,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"lDp" = ( -/obj/machinery/duct, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/service/bar/backroom) "lDq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -38000,6 +38773,19 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"lDs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) +"lDt" = ( +/obj/machinery/chem_master/condimaster{ + desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; + name = "HoochMaster Deluxe" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "lDD" = ( /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt, @@ -38107,27 +38893,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"lEH" = ( -/obj/structure/table/glass, -/obj/item/grenade/chem_grenade/antiweed, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_y = 3 - }, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron, -/area/station/service/hydroponics) "lEK" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -38201,6 +38966,17 @@ /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/iron/dark/textured, /area/station/security/range) +"lFP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random/directional/south, +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) +"lFQ" = ( +/obj/effect/landmark/start/clown, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "lFW" = ( /obj/effect/spawner/xmastree/rdrod, /turf/open/floor/iron/white/corner{ @@ -38279,11 +39055,6 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"lGY" = ( -/obj/structure/chair/stool/directional/south, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "lHu" = ( /obj/structure/closet/secure_closet/brig, /obj/structure/cable, @@ -38439,6 +39210,25 @@ "lIW" = ( /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) +"lJh" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/food_or_drink/snack, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) +"lJq" = ( +/obj/machinery/duct, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) +"lJK" = ( +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lJO" = ( /turf/closed/wall, /area/station/maintenance/port/fore) @@ -38687,12 +39477,10 @@ /obj/machinery/light/small/dim/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lOt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/window/left/directional/east, -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +"lOy" = ( +/obj/effect/landmark/start/clown, +/turf/open/floor/wood, +/area/station/commons/lounge) "lOz" = ( /obj/machinery/door/airlock{ id_tag = "Dorm2"; @@ -38743,6 +39531,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/service) +"lPd" = ( +/obj/structure/fence, +/obj/structure/sign/nanotrasen{ + pixel_y = -32 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "lPh" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -38750,13 +39545,16 @@ }, /turf/open/floor/iron/sepia, /area/station/service/library) -"lPm" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"lPo" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/storage/wallet{ + pixel_y = 5; + pixel_x = 3 }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) +/obj/item/newspaper, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "lPr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38806,15 +39604,6 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) -"lPN" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "lQc" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -38888,13 +39677,6 @@ /obj/structure/mineral_door/wood, /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) -"lQV" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/commons/fitness) "lRc" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -38917,6 +39699,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"lRj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "lRs" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -39006,14 +39795,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/tools) -"lSl" = ( -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/stone, -/area/station/commons/lounge) "lSu" = ( /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/surface/outdoors/nospawn) @@ -39072,13 +39853,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) -"lTJ" = ( -/obj/structure/railing, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "lUa" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 @@ -39114,12 +39888,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig/upper) -"lUy" = ( -/obj/item/food/pie/cream, -/obj/machinery/newscaster/directional/north, -/obj/structure/table/wood, -/turf/open/floor/iron, -/area/station/service/theater) "lUC" = ( /turf/closed/wall, /area/station/maintenance/department/electrical) @@ -39131,6 +39899,11 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"lUO" = ( +/obj/structure/frame/machine, +/obj/item/stack/cable_coil/five, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lUU" = ( /obj/machinery/door/airlock/external{ name = "Internal Airlock" @@ -39196,6 +39969,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"lVz" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel Maintenance External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/department/chapel) "lVF" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -39266,6 +40052,32 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"lXb" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment, +/obj/structure/railing/corner/end, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"lXf" = ( +/obj/structure/closet/athletic_mixed, +/obj/effect/landmark/start/hangover/closet, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) +"lXg" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/service/hydroponics) "lXi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -39281,11 +40093,15 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/fore) -"lXo" = ( -/obj/structure/table/wood/poker, -/obj/item/storage/dice, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) +"lXC" = ( +/obj/machinery/computer/holodeck{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "lXJ" = ( /obj/structure/railing{ dir = 1 @@ -39304,6 +40120,16 @@ dir = 10 }, /area/station/science/research) +"lYp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "lYz" = ( /obj/machinery/computer/records/security, /obj/machinery/light_switch/directional/north, @@ -39311,22 +40137,18 @@ dir = 8 }, /area/station/security/brig/entrance) +"lYE" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "lYR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/grass, /area/station/medical/virology) -"lYY" = ( -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/effect/turf_decal/stripes/white/corner{ - dir = 1 - }, -/obj/structure/closet/chefcloset, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "lZe" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -39338,22 +40160,6 @@ /obj/structure/railing, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"lZv" = ( -/obj/structure/table/glass, -/obj/item/seeds/bamboo, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"lZG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "lZQ" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/computer/cargo{ @@ -39585,15 +40391,6 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron, /area/station/security/prison/work) -"mdy" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "mdE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -39603,6 +40400,13 @@ dir = 1 }, /area/station/science/explab) +"mdK" = ( +/obj/structure/table/wood, +/obj/item/food/pie/cream, +/obj/item/bikehorn, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "mdM" = ( /obj/structure/rack, /obj/item/clothing/suit/hooded/wintercoat/eva{ @@ -39651,22 +40455,10 @@ "mdZ" = ( /turf/closed/wall, /area/station/hallway/secondary/service) -"men" = ( -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "mep" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"meB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "meG" = ( /obj/item/kirbyplants/random, /obj/structure/cable, @@ -39712,18 +40504,25 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/dark, /area/mine/eva/lower) -"mfz" = ( -/obj/machinery/door/airlock{ - name = "Unit B" - }, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "mfD" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/atmos) +"mfE" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "mfH" = ( /turf/closed/wall/r_wall, /area/station/security/brig/upper) +"mfK" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "mfV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -39768,46 +40567,21 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"mgw" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/landmark/generic_maintenance_landmark, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) "mgD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"mgN" = ( -/obj/machinery/door/airlock{ - name = "Kitchen" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "kitchencounter"; - name = "Kitchen Shutters" - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"mgR" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/reagentgrinder{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/shaker{ - pixel_x = -6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"mgJ" = ( /obj/structure/table/wood, -/turf/open/floor/stone, -/area/station/service/bar) +/obj/item/camera, +/obj/item/taperecorder, +/obj/item/radio/intercom/directional/east, +/obj/structure/sign/painting/library_private{ + pixel_y = 32 + }, +/obj/item/storage/photo_album/library, +/turf/open/floor/engine/cult, +/area/station/service/library) "mgU" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/hos) @@ -39847,6 +40621,15 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark/textured_half, /area/station/security/office) +"mhy" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "mhQ" = ( /turf/closed/wall/r_wall, /area/station/command/teleporter) @@ -39863,19 +40646,6 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) -"miR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/item/book/manual/wiki/barman_recipes{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/rag, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/wood, -/turf/open/floor/stone, -/area/station/service/bar) "miS" = ( /obj/structure/table, /obj/item/stack/cable_coil{ @@ -39965,6 +40735,11 @@ }, /turf/open/floor/iron, /area/station/science/explab) +"mkt" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "mku" = ( /obj/effect/spawner/random/structure/grille, /obj/effect/decal/cleanable/glass, @@ -39983,6 +40758,17 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"mkS" = ( +/obj/machinery/door/window/left/directional/south{ + req_access = list("kitchen"); + name = "The Ice Box" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "mld" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -40043,6 +40829,12 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"mma" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/plating, +/area/station/maintenance/fore) "mmh" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -40114,18 +40906,22 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"mnj" = ( +"mmT" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/red/half{ - dir = 4 - }, -/turf/open/floor/iron/half{ - dir = 1 - }, -/area/station/hallway/secondary/service) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"mnt" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood, +/obj/effect/spawner/random/entertainment/musical_instrument, +/obj/item/instrument/harmonica, +/turf/open/floor/iron/grimy, +/area/station/commons/lounge) "mnu" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -40139,6 +40935,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"mnB" = ( +/obj/structure/table/wood, +/obj/item/pai_card, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "mnC" = ( /obj/structure/grille, /obj/structure/disposalpipe/segment{ @@ -40146,13 +40947,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"mnE" = ( -/obj/item/vending_refill/cigarette, -/obj/structure/table/wood, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar/backroom) "mnF" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -40182,13 +40976,17 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/station/cargo/storage) -"mow" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 +"mog" = ( +/obj/structure/fence/corner{ + dir = 5 }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"moz" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/turf/open/floor/iron, +/area/station/service/bar) "moB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -40228,6 +41026,24 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon, /area/station/science/server) +"moP" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/north{ + id = "botany_apiary"; + name = "Bee Protection Shutters" + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "mpe" = ( /obj/structure/cable, /obj/machinery/computer/quantum_console, @@ -40307,10 +41123,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/hydroponics) -"mpZ" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "mqe" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -40326,12 +41138,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"mqr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "mqs" = ( /obj/effect/turf_decal/bot, /obj/structure/sign/warning/cold_temp/directional/north, @@ -40344,6 +41150,17 @@ /obj/machinery/shower/directional/west, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"mqA" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "mqD" = ( /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/wood, @@ -40389,15 +41206,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"mru" = ( -/obj/structure/sign/warning/directional/north, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/caution/stand_clear, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/secondary/service) "mrw" = ( /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 4 @@ -40440,15 +41248,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) -"mrF" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/red/half{ - dir = 4 - }, -/turf/open/floor/iron/half{ - dir = 1 - }, -/area/station/hallway/secondary/service) "mrI" = ( /obj/structure/railing{ dir = 1 @@ -40466,13 +41265,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"mrX" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "msb" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, @@ -40530,6 +41322,11 @@ /obj/item/stack/ducts/fifty, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"msy" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "msN" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/closed/wall/r_wall, @@ -40548,6 +41345,14 @@ /obj/machinery/requests_console/auto_name/directional/south, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"mtl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "mtn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -40615,12 +41420,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"mui" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "mut" = ( /obj/machinery/hydroponics/soil, /obj/machinery/light/directional/east, @@ -40722,12 +41521,6 @@ }, /turf/open/floor/plating, /area/station/medical/pharmacy) -"mwH" = ( -/obj/item/trash/popcorn, -/obj/effect/landmark/generic_maintenance_landmark, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) "mwQ" = ( /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, @@ -40776,6 +41569,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"mxP" = ( +/obj/machinery/light/cold/directional/east, +/obj/machinery/status_display/ai/directional/east, +/turf/open/openspace, +/area/station/service/kitchen/coldroom) "mxQ" = ( /obj/machinery/computer/security/telescreen/entertainment/directional/east, /turf/open/floor/iron/grimy, @@ -40889,15 +41687,6 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) -"mzs" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/light_switch/directional/east, -/obj/structure/sink/kitchen/directional/west, -/obj/structure/table, -/obj/item/book/manual/chef_recipes, -/obj/item/holosign_creator/robot_seat/restaurant, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "mzu" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 8 @@ -40958,15 +41747,15 @@ "mAe" = ( /turf/open/floor/glass/reinforced, /area/station/security/lockers) -"mAz" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Fitness" +"mAr" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "mAM" = ( /obj/structure/ladder, /obj/machinery/light/small/red/directional/west, @@ -41007,6 +41796,11 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"mBo" = ( +/obj/effect/spawner/random/decoration/flower, +/obj/structure/flora/rock/pile/icy/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "mBB" = ( /obj/machinery/door/poddoor/preopen{ id = "ceprivacy"; @@ -41061,15 +41855,6 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) -"mCb" = ( -/mob/living/basic/goat/pete{ - desc = "Not known for their pleasant disposition. This one seems a bit more hardy to the cold."; - habitable_atmos = list("min_oxy"=1,"max_oxy"=0,"min_plas"=0,"max_plas"=1,"min_co2"=0,"max_co2"=5,"min_n2"=0,"max_n2"=0); - minimum_survivable_temperature = 150; - name = "Snowy Pete" - }, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) "mCw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -41093,13 +41878,6 @@ /obj/machinery/hydroponics/soil, /turf/open/floor/grass, /area/station/service/hydroponics/garden) -"mCX" = ( -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "mDf" = ( /obj/machinery/telecomms/server/presets/common, /turf/open/floor/iron/dark/telecomms, @@ -41186,6 +41964,13 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"mEC" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "mEJ" = ( /turf/closed/wall/r_wall, /area/station/science/genetics) @@ -41213,18 +41998,19 @@ }, /turf/open/floor/iron, /area/station/science/ordnance/testlab) -"mEZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 +"mEW" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 1; + name = "hydroponics reservoir" }, -/obj/machinery/camera/directional/south{ - c_tag = "Service Hallway - Upper West" +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" }, -/obj/machinery/modular_computer/preset/cargochat/service{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron/dark/textured, +/area/station/maintenance/starboard/lesser) "mFj" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -41393,10 +42179,6 @@ }, /turf/open/floor/plating, /area/station/medical/pharmacy) -"mIB" = ( -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "mIE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -41443,24 +42225,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"mJr" = ( -/obj/effect/spawner/random/trash/mess, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "mJu" = ( /obj/structure/table/glass, /turf/open/floor/iron/chapel{ dir = 4 }, /area/station/service/chapel) -"mJD" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "mJM" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 @@ -41499,25 +42269,23 @@ dir = 8 }, /area/station/hallway/secondary/entry) -"mKh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/maintenance{ - name = "Service Hall Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "mKq" = ( /obj/structure/closet/secure_closet/evidence, /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/evidence) +"mKE" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "mLa" = ( /obj/item/kirbyplants/random, /turf/open/floor/plating, @@ -41576,6 +42344,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"mMh" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm1"; + name = "Dorm 1" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood, +/area/station/commons/dorms) "mMk" = ( /obj/machinery/telecomms/message_server/preset, /turf/open/floor/iron/dark/telecomms, @@ -41595,6 +42372,12 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/carpet, /area/station/service/library) +"mMG" = ( +/obj/structure/table/wood, +/obj/machinery/airalarm/directional/west, +/obj/machinery/fax/auto_name, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "mMM" = ( /turf/closed/wall/r_wall, /area/station/security/prison) @@ -41623,16 +42406,6 @@ }, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) -"mMZ" = ( -/obj/structure/table, -/obj/item/wallframe/camera, -/obj/item/wallframe/camera, -/obj/item/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "mNj" = ( /obj/machinery/computer/security{ dir = 4 @@ -41649,6 +42422,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"mNz" = ( +/obj/effect/turf_decal/box/red/corners{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "mNF" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 @@ -41800,6 +42579,12 @@ "mQk" = ( /turf/open/floor/plating/snowed/coldroom, /area/station/service/kitchen/coldroom) +"mQm" = ( +/obj/effect/turf_decal/tile/blue, +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "mQq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -41817,6 +42602,12 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/cmo) +"mQz" = ( +/obj/item/paper/fluff/jobs/security/beepsky_mom, +/obj/machinery/light/small/dim/directional/east, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/station/maintenance/fore) "mQG" = ( /obj/effect/decal/cleanable/glass, /turf/open/floor/iron/dark, @@ -41829,24 +42620,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"mRa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/mime, -/turf/open/floor/wood/tile, -/area/station/service/theater) +"mRm" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "mRr" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"mRs" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "mRG" = ( /obj/structure/table, /obj/item/book/manual/wiki/atmospherics, @@ -41875,6 +42661,19 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"mSc" = ( +/obj/structure/chair/sofa/left/brown{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"mSq" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "mSv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41900,6 +42699,23 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"mSK" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south{ + frequency = 1453; + name = "Kitchen Intercom" + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "mSL" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -41935,6 +42751,22 @@ }, /turf/open/floor/engine/air, /area/station/engineering/atmos) +"mTu" = ( +/obj/machinery/door/window/left/directional/west{ + name = "Fitness Ring" + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) +"mTF" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "mTI" = ( /obj/structure/sink/kitchen/directional/south{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; @@ -41949,17 +42781,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"mTW" = ( -/obj/structure/fluff/tram_rail{ - pixel_y = 17 +"mTV" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/structure/fluff/tram_rail, -/obj/structure/lattice/catwalk, -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/underground/explored) +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "mTX" = ( /obj/structure/barricade/wooden, /obj/structure/sign/warning/cold_temp/directional/north, @@ -41999,30 +42828,10 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"mUR" = ( -/obj/machinery/firealarm/directional/north{ - pixel_x = -26 - }, -/obj/structure/chair, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"mUU" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "mVe" = ( /obj/machinery/button/ignition/incinerator/atmos, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) -"mVh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "mVm" = ( /obj/structure/grille/broken, /turf/open/misc/asteroid/snow/icemoon, @@ -42066,13 +42875,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"mVY" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "mWf" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -42095,16 +42897,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/engineering/lobby) -"mWp" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/service/hydroponics) "mWs" = ( /obj/structure/table, /obj/item/storage/toolbox/emergency, @@ -42123,6 +42915,13 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"mWy" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/binary/valve/digital/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "mWz" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/plating, @@ -42183,6 +42982,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"mXb" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "mXe" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -42212,14 +43018,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"mXt" = ( -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "mXA" = ( /obj/effect/landmark/blobstart, /obj/effect/mapping_helpers/burnt_floor, @@ -42284,16 +43082,6 @@ /obj/machinery/pdapainter/research, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) -"mYr" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/entertainment/gambling{ - pixel_y = 9 - }, -/obj/item/storage/fancy/donut_box{ - pixel_x = -6 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "mYs" = ( /obj/machinery/computer/records/security{ dir = 8 @@ -42310,16 +43098,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"mYG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/landmark/start/mime, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood/tile, -/area/station/service/theater) "mYJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -42395,6 +43173,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/fitness) +"mZR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "mZS" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/blue, @@ -42424,6 +43216,14 @@ /obj/effect/turf_decal/tile/yellow/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/pharmacy) +"nao" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/fake_stairs/wood/directional/north, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "naq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -42444,6 +43244,16 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/engineering/storage) +"naD" = ( +/obj/effect/spawner/random/structure/grille, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"naJ" = ( +/obj/machinery/door/airlock/hatch, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "naP" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -42552,10 +43362,6 @@ }, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) -"nbP" = ( -/obj/structure/bonfire/prelit, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "nbT" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/turf_decal/delivery, @@ -42757,14 +43563,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/brig) -"nep" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/machinery/door/window/right/directional/east, -/obj/structure/sign/warning/cold_temp/directional/south, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "neq" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue/half/contrasted, @@ -42783,6 +43581,13 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"ney" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/bar) "neC" = ( /obj/structure/chair{ dir = 1; @@ -42811,20 +43616,32 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"neM" = ( -/obj/machinery/hydroponics/soil, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "neR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /obj/machinery/meter, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"neU" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "nfd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/cargo/sorting) +"nfe" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/food_cart, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "nfj" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -42864,12 +43681,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"nfG" = ( -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "nfU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -42910,17 +43721,18 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/mine/production) -"ngH" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line{ - dir = 6 +"ngr" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 }, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ngM" = ( /obj/structure/lattice/catwalk, /obj/structure/fence/door{ @@ -42958,6 +43770,15 @@ /obj/structure/mirror/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) +"nhi" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Kitchen Maintenance" + }, +/obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "nhw" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -42994,6 +43815,17 @@ }, /turf/open/floor/plating, /area/mine/laborcamp) +"nhY" = ( +/obj/structure/table, +/obj/item/plate, +/obj/item/food/piedough, +/obj/effect/spawner/random/food_or_drink/cake_ingredients, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/item/kitchen/rollingpin, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "nia" = ( /obj/machinery/door/poddoor/shutters/window{ dir = 8; @@ -43074,29 +43906,35 @@ "nji" = ( /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"njl" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/landmark/navigate_destination/hydro, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "njm" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/transit_tube) -"njn" = ( -/obj/machinery/holopad, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"njx" = ( -/obj/machinery/door/window/left/directional/east{ - name = "Fitness Ring" - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "njA" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"njG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "njJ" = ( /turf/closed/wall, /area/mine/laborcamp) @@ -43134,11 +43972,41 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/science/ordnance/testlab) +"nko" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/newscaster/directional/north, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/remains/human, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "nks" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/workout) +"nkt" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"nky" = ( +/obj/structure/minecart_rail{ + dir = 6 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/obj/structure/sign/warning/directional/west, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "nkI" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -43147,13 +44015,6 @@ /obj/structure/tank_holder/oxygen, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"nkM" = ( -/obj/machinery/door/airlock{ - name = "Unisex Showers" - }, -/obj/structure/cable, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "nkO" = ( /obj/structure/table, /obj/item/storage/box/matches, @@ -43166,10 +44027,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/vault, /area/station/security/prison/rec) -"nkQ" = ( -/obj/structure/cable, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "nll" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty{ @@ -43182,6 +44039,29 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"nlm" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/obj/structure/table/glass, +/obj/machinery/light/small/directional/east, +/obj/machinery/firealarm/directional/east, +/obj/item/food/grown/poppy{ + pixel_y = -1; + pixel_x = 3 + }, +/obj/item/food/grown/poppy/geranium{ + pixel_y = 5; + pixel_x = 2 + }, +/obj/item/food/grown/poppy/lily{ + pixel_x = -2 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "nlp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43197,11 +44077,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/construction) -"nlI" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/dorms) +"nly" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/random/trash/mopbucket, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "nlJ" = ( /obj/structure/railing{ dir = 5 @@ -43259,18 +44139,19 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"nmg" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Service External Airlock"; - opacity = 0 +"nme" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/vending/hydroseeds{ + slogan_delay = 700 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "nmj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -43380,14 +44261,6 @@ /obj/effect/landmark/navigate_destination/library, /turf/open/floor/wood, /area/station/service/library) -"nmS" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "nnl" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /obj/effect/spawner/structure/window/reinforced/plasma, @@ -43423,18 +44296,6 @@ /obj/machinery/holopad, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) -"nnW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/half{ - dir = 4 - }, -/turf/open/floor/iron/half{ - dir = 1 - }, -/area/station/hallway/secondary/service) "noi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/airalarm/directional/east, @@ -43467,6 +44328,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"noD" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/cable, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "noF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -43637,6 +44509,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) +"nqi" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/starboard/fore) "nqn" = ( /obj/structure/ladder, /obj/effect/turf_decal/stripes/box, @@ -43662,6 +44538,12 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/iron/white, /area/station/science/ordnance) +"nqA" = ( +/obj/effect/spawner/random/maintenance/three, +/obj/structure/closet/crate/wooden, +/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "nqD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43670,12 +44552,10 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"nqL" = ( -/obj/machinery/food_cart, -/obj/effect/turf_decal/tile/brown/diagonal_edge, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) +"nqO" = ( +/obj/item/kirbyplants/fern, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "nqP" = ( /obj/machinery/camera/directional/north{ c_tag = "Research Division West"; @@ -43708,33 +44588,11 @@ /obj/effect/turf_decal/tile/brown/anticorner/contrasted, /turf/open/floor/iron/dark, /area/station/cargo/miningdock) -"nro" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/chair/stool/bar/directional/east, -/obj/effect/landmark/start/hangover, -/turf/open/floor/stone, -/area/station/commons/lounge) "nrq" = ( /obj/effect/turf_decal/tile/red, /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/textured, /area/station/security/brig) -"nrt" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/service/theater, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "nrA" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 @@ -43784,16 +44642,25 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"nsf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"nrJ" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/turf/open/floor/iron, +/area/station/service/bar) +"nrK" = ( +/obj/structure/lattice/catwalk, +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" }, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) +"nsm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/structure/sign/clock/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "nsp" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -43825,12 +44692,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"nsz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, -/obj/structure/rack, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/chapel) "nsK" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -43902,6 +44763,11 @@ /obj/structure/flora/rock/icy/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"ntO" = ( +/obj/effect/spawner/random/maintenance/two, +/obj/structure/closet/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ntT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, @@ -43984,10 +44850,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"nvt" = ( -/obj/item/kirbyplants/organic/plant10, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "nvx" = ( /obj/machinery/airalarm/directional/east, /obj/effect/landmark/event_spawn, @@ -44057,11 +44919,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) -"nwI" = ( -/obj/item/reagent_containers/cup/bucket, -/obj/structure/sink/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "nwT" = ( /turf/closed/wall, /area/station/commons/vacant_room/office) @@ -44100,6 +44957,12 @@ "nxM" = ( /turf/closed/wall, /area/station/maintenance/department/medical/morgue) +"nxN" = ( +/obj/machinery/vending/autodrobe, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/small/directional/north, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "nxU" = ( /obj/machinery/status_display/evac/directional/east, /obj/structure/reagent_dispensers/fueltank, @@ -44117,16 +44980,22 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"nxY" = ( -/obj/structure/chair/stool/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness) +"nyc" = ( +/obj/machinery/hydroponics/soil, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "nyg" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/random/directional/south, /turf/open/floor/plating, /area/station/construction) +"nyj" = ( +/obj/item/kirbyplants/random/dead, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "nyl" = ( /obj/machinery/door/morgue{ name = "Private Study"; @@ -44145,6 +45014,12 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"nyx" = ( +/obj/structure/fence/post{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "nyA" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -44347,17 +45222,6 @@ "nAH" = ( /turf/open/openspace/icemoon/keep_below, /area/station/hallway/secondary/entry) -"nAM" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/landmark/start/botanist, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "nAN" = ( /obj/effect/landmark/start/paramedic, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44381,6 +45245,15 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) +"nBc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "nBe" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -44494,6 +45367,13 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"nCo" = ( +/obj/machinery/status_display/ai/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "nCs" = ( /obj/structure/chair/stool/directional/north, /obj/structure/cable, @@ -44518,15 +45398,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"nCJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "nCP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -44718,6 +45589,16 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/iron/dark, /area/station/engineering/main) +"nFh" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 8 + }, +/obj/effect/landmark/start/botanist, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "nFk" = ( /obj/effect/landmark/start/cyborg, /obj/structure/cable, @@ -44729,21 +45610,18 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/grimy, /area/station/ai_monitored/turret_protected/aisat_interior) -"nFm" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Starboard Primary Hallway Center West" - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "nFn" = ( /obj/effect/turf_decal/tile/red{ dir = 1 }, /turf/open/floor/iron, /area/station/security/prison/mess) +"nFE" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "nFF" = ( /obj/structure/table, /obj/item/assembly/signaler{ @@ -44786,22 +45664,12 @@ /obj/structure/sign/poster/official/work_for_a_future/directional/south, /turf/open/floor/iron, /area/station/security/prison/work) -"nGb" = ( -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "nGk" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/rack, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"nGz" = ( -/obj/effect/landmark/start/hangover, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "nGA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -44849,16 +45717,6 @@ dir = 1 }, /area/station/security/lockers) -"nHa" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "nHc" = ( /obj/structure/bodycontainer/morgue, /turf/open/floor/iron/dark, @@ -44912,6 +45770,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"nIb" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "nId" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44926,10 +45788,6 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"nIr" = ( -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "nIt" = ( /obj/structure/stairs/west, /turf/open/floor/iron/white, @@ -44937,21 +45795,40 @@ "nIx" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/starboard/aft) -"nIL" = ( -/obj/machinery/camera{ - c_tag = "Service Hallway - Lower West"; - dir = 9 - }, +"nIH" = ( +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, -/area/station/hallway/secondary/service) +/area/station/commons/fitness) +"nIU" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"nIW" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "nJd" = ( /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"nJm" = ( -/obj/structure/fluff/fokoff_sign, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "nJo" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -44985,10 +45862,6 @@ dir = 8 }, /area/station/service/chapel) -"nJC" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "nJI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /obj/effect/turf_decal/siding/wideplating/corner{ @@ -45050,15 +45923,32 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/cargo/lobby) -"nKG" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" +"nKs" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/obj/item/seeds/berry, +/obj/machinery/light/small/dim/directional/south, +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/station/maintenance/starboard/fore) +"nKv" = ( +/obj/structure/table/glass, +/obj/machinery/door/window/right/directional/north{ + name = "Hydroponics Desk"; + req_access = list("hydroponics") + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/desk_bell{ + pixel_x = 1; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "nKK" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -45125,14 +46015,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/medical/virology) -"nLg" = ( -/obj/item/wrench, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, -/turf/open/floor/plating, -/area/station/maintenance/fore) "nLH" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, @@ -45196,6 +46078,12 @@ /obj/item/clothing/head/utility/hardhat, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"nMG" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table, +/obj/machinery/fax/auto_name, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "nMH" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -45255,13 +46143,6 @@ /obj/item/clothing/glasses/meson/engine, /turf/open/floor/iron/dark, /area/station/engineering/storage) -"nNv" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/fore) "nNy" = ( /obj/structure/sign/warning/xeno_mining{ pixel_x = 29 @@ -45281,11 +46162,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"nNQ" = ( -/obj/machinery/duct, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar/backroom) "nNU" = ( /obj/machinery/chem_dispenser, /obj/structure/window/reinforced/spawner/directional/west, @@ -45342,6 +46218,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/bridge) +"nOM" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "nOQ" = ( /obj/machinery/suit_storage_unit/security, /obj/machinery/camera/directional/north{ @@ -45479,6 +46365,13 @@ }, /turf/open/floor/iron, /area/station/cargo/office) +"nRs" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/textured, +/area/station/security/brig) "nRt" = ( /obj/machinery/door/airlock/mining/glass{ id_tag = "innercargo"; @@ -45513,6 +46406,20 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/security/prison/safe) +"nRS" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Service - Botany Upper Entrance" + }, +/obj/structure/table/glass, +/obj/machinery/fax/auto_name, +/turf/open/floor/iron, +/area/station/service/hydroponics) "nRV" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 10 @@ -45554,6 +46461,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"nSs" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/bureaucracy/briefcase, +/obj/item/taperecorder/empty, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "nSw" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/layer_manifold/brown/visible, @@ -45706,6 +46619,11 @@ }, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) +"nUM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "nVc" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/yellow/filled/corner{ @@ -45729,16 +46647,6 @@ }, /turf/open/floor/carpet, /area/station/service/library) -"nVz" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/service/hydroponics) "nVB" = ( /obj/effect/turf_decal/trimline/dark/warning{ dir = 4 @@ -45749,18 +46657,24 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/robotics/lab) +"nVE" = ( +/obj/machinery/biogenerator, +/obj/machinery/door/window/left/directional/south{ + name = "Biogenerator Access"; + req_access = list("hydroponics") + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "nVR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria{ dir = 5 }, /area/station/maintenance/port/aft) -"nVX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "nVZ" = ( /obj/machinery/door/airlock/command{ name = "Captain's Office" @@ -45789,16 +46703,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"nWw" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "nWH" = ( /turf/closed/wall, /area/station/maintenance/department/cargo) +"nWI" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/service/bar) "nWK" = ( /obj/structure/cable, /obj/machinery/holopad, @@ -45826,11 +46739,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"nXn" = ( -/obj/structure/table, -/obj/item/storage/medkit/regular, -/turf/open/floor/iron, -/area/station/commons/fitness) "nXp" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/table/glass, @@ -45874,13 +46782,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"nYQ" = ( -/obj/machinery/rnd/production/techfab/department/service, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) "nYZ" = ( /obj/item/storage/bag/trash, /turf/open/floor/plating, @@ -45923,6 +46824,15 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) +"nZy" = ( +/obj/structure/chair/sofa/left/brown{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "nZA" = ( /obj/structure/table, /obj/item/stock_parts/subspace/amplifier, @@ -45953,14 +46863,6 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"oaa" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "oaG" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 9 @@ -46004,11 +46906,6 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"obg" = ( -/obj/machinery/light_switch/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/department/electrical) "obj" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -46071,25 +46968,6 @@ /obj/machinery/igniter/incinerator_ordmix, /turf/open/floor/engine/vacuum, /area/station/science/ordnance) -"ocf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) -"ocj" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "ocu" = ( /obj/effect/turf_decal/bot_white, /obj/structure/cable, @@ -46145,6 +47023,22 @@ /obj/structure/stairs/east, /turf/open/floor/iron/white, /area/station/science/ordnance) +"odr" = ( +/obj/structure/fluff/tram_rail, +/obj/structure/lattice/catwalk, +/obj/structure/fluff/tram_rail{ + pixel_y = 17 + }, +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/turf/open/lava/plasma/ice_moon, +/area/icemoon/underground/explored) +"odu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "odw" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, @@ -46192,6 +47086,16 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) +"oen" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "oex" = ( /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/department/medical/morgue) @@ -46251,6 +47155,16 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) +"ofv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "ofz" = ( /obj/structure/ore_box, /obj/effect/turf_decal/bot, @@ -46280,15 +47194,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"ofT" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/camera{ - c_tag = "Service Botany - Backroom"; - dir = 9 +"ofN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/turf/open/floor/plating, -/area/station/service/hydroponics) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/duct, +/turf/open/floor/wood/large, +/area/station/service/bar) "ogd" = ( /obj/structure/chair/office{ dir = 8 @@ -46337,6 +47251,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"ohl" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ohp" = ( /turf/open/floor/glass, /area/station/maintenance/department/medical/central) @@ -46347,6 +47267,16 @@ dir = 1 }, /area/station/engineering/lobby) +"ohv" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/sink/kitchen/directional/west, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron, +/area/station/service/bar) "ohx" = ( /obj/effect/turf_decal/caution{ dir = 8 @@ -46530,13 +47460,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) -"ojD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) "ojF" = ( /obj/machinery/rnd/production/protolathe/department/science, /turf/open/floor/iron/checker, @@ -46548,13 +47471,11 @@ dir = 4 }, /area/station/science/research) -"ojV" = ( -/obj/item/flashlight, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) +"ojR" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/caution_sign, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ojW" = ( /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -46592,11 +47513,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron, /area/mine/laborcamp/security) -"oko" = ( -/obj/effect/turf_decal/siding/wood/end, -/obj/structure/bookcase/random/fiction, -/turf/open/floor/iron/dark, -/area/station/commons/lounge) "okx" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/left/directional/south{ @@ -46633,6 +47549,22 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"okP" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "okU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -46641,6 +47573,31 @@ "olf" = ( /turf/open/floor/carpet, /area/station/commons/dorms) +"oll" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"olq" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/decal/cleanable/ash, +/obj/item/rack_parts, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"olB" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/obj/item/kirbyplants/organic/plant11, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "olH" = ( /obj/machinery/door/airlock/command{ name = "Captain's Quarters" @@ -46715,13 +47672,6 @@ "omk" = ( /turf/open/floor/glass/reinforced, /area/station/security/office) -"omt" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "omG" = ( /obj/structure/table, /obj/item/flashlight/lamp, @@ -46745,6 +47695,15 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/vault, /area/station/security/prison/rec) +"omM" = ( +/obj/structure/table/wood, +/obj/item/toy/mecha/honk{ + pixel_y = 12 + }, +/obj/structure/sign/poster/contraband/random/directional/west, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "omP" = ( /obj/machinery/door/airlock{ name = "Cleaning Closet" @@ -46826,16 +47785,6 @@ /obj/machinery/processor/slime, /turf/open/floor/iron, /area/station/science/xenobiology) -"oop" = ( -/obj/machinery/door/airlock/external{ - name = "External Access" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oor" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -46910,21 +47859,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/upper) -"ops" = ( -/obj/structure/table/glass, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/item/cultivator, -/obj/item/plant_analyzer, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron, -/area/station/service/hydroponics) "opu" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/structure/disposalpipe/segment{ @@ -47068,15 +48002,6 @@ /obj/effect/turf_decal/tile/brown/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/medical/break_room) -"orf" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "ork" = ( /obj/structure/fence/door{ dir = 4 @@ -47207,6 +48132,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"otb" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "otd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -47217,16 +48146,6 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"otj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "ots" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/hollow/reinforced/middle, @@ -47251,10 +48170,6 @@ /obj/item/healthanalyzer, /turf/open/floor/iron/white/textured, /area/station/security/medical) -"otC" = ( -/obj/structure/railing, -/turf/open/genturf, -/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) "otG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/blue{ @@ -47269,10 +48184,18 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"otQ" = ( -/obj/structure/sign/poster/official/random/directional/east, +"otU" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/kirbyplants/organic/plant10, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/hallway/primary/starboard) "oua" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47406,10 +48329,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"owU" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "oxe" = ( /obj/machinery/computer/cargo/request, /obj/effect/turf_decal/tile/brown/half/contrasted, @@ -47500,6 +48419,10 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage/gas) +"oyo" = ( +/obj/structure/secure_safe/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "oyp" = ( /obj/machinery/recharger{ pixel_y = 4 @@ -47555,16 +48478,17 @@ }, /turf/open/floor/iron/dark, /area/station/security/mechbay) -"oyV" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/cook, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) +"oyO" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"oyR" = ( +/obj/structure/flora/tree/pine/style_random, +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "oyW" = ( /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/hallway) @@ -47739,17 +48663,6 @@ /obj/item/book/bible, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"oBl" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/service/hydroponics) "oBm" = ( /obj/structure/chair/comfy/beige{ dir = 1; @@ -47784,11 +48697,6 @@ /obj/machinery/light/floor, /turf/open/floor/carpet, /area/station/service/library) -"oBP" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/fitness) "oBQ" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -47846,6 +48754,14 @@ dir = 1 }, /area/station/security/prison) +"oCW" = ( +/obj/item/reagent_containers/cup/soda_cans/beer{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oDd" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -47883,11 +48799,6 @@ /obj/structure/grille/broken, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"oDm" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "oDn" = ( /obj/machinery/door/airlock/atmos/glass, /obj/structure/cable, @@ -47914,6 +48825,15 @@ }, /turf/open/floor/iron, /area/station/cargo/office) +"oDu" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "botany_apiary"; + name = "Apiary Shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "oDB" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/plating, @@ -47924,13 +48844,6 @@ dir = 8 }, /area/station/maintenance/port/fore) -"oDJ" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oDQ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -47948,13 +48861,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) -"oEh" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "oEj" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -47975,6 +48881,11 @@ /obj/machinery/requests_console/auto_name/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"oEn" = ( +/obj/structure/fake_stairs/wood/directional/north, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "oEt" = ( /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, @@ -48002,6 +48913,10 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"oFo" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "oFp" = ( /obj/structure/sign/warning/docking/directional/west, /obj/effect/decal/cleanable/dirt, @@ -48066,21 +48981,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"oGn" = ( -/obj/structure/reagent_dispensers/watertank/high, -/obj/effect/turf_decal/stripes/line, -/obj/item/reagent_containers/cup/watering_can, -/obj/effect/turf_decal/tile/blue/half{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green/half{ - dir = 8 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/half{ - dir = 1 - }, -/area/station/service/hydroponics) "oGs" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -48162,6 +49062,12 @@ }, /turf/open/floor/plating, /area/station/engineering/storage_shared) +"oHx" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment, +/obj/structure/railing/corner/end/flip, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oHH" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -48191,6 +49097,14 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"oIj" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "oIB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48255,6 +49169,15 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"oJK" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "oJP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/dark_green, @@ -48270,15 +49193,6 @@ dir = 1 }, /area/station/command/gateway) -"oKb" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "pharmacy_shutters3"; - name = "Pharmacy Shutters" - }, -/turf/open/floor/plating, -/area/station/service/kitchen) "oKu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48327,6 +49241,13 @@ /obj/item/storage/bag/ore, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"oLd" = ( +/obj/item/toy/snowball{ + pixel_x = 6; + pixel_y = 5 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "oLg" = ( /turf/open/floor/iron/white/corner, /area/station/science/research) @@ -48415,12 +49336,6 @@ /obj/structure/sign/warning/gas_mask, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) -"oLV" = ( -/obj/machinery/vending/wardrobe/chef_wardrobe{ - pixel_x = -2 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "oLW" = ( /obj/machinery/computer/security/telescreen{ desc = "Used to access the various cameras on the station."; @@ -48452,6 +49367,16 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/plating, /area/station/cargo/storage) +"oMj" = ( +/obj/structure/training_machine, +/obj/item/target, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "oMk" = ( /obj/machinery/camera/directional/south{ c_tag = "Cargo Bay South" @@ -48470,17 +49395,6 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/iron/grimy, /area/station/maintenance/aft/greater) -"oMG" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Service Botany - Lower South" - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "oMO" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -48577,6 +49491,16 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"oOJ" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oOO" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/secure_area/directional/south, @@ -48599,6 +49523,15 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva) +"oOT" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/duct, +/obj/machinery/light/small/directional/north, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron, +/area/station/service/bar) "oPa" = ( /obj/structure/sign/warning/secure_area, /turf/closed/wall/r_wall, @@ -48735,6 +49668,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) +"oRr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/commons/lounge) "oRu" = ( /obj/item/stack/medical/mesh, /obj/item/wrench/medical, @@ -48743,17 +49683,6 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron/white, /area/station/medical/cryo) -"oRw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "oRy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48789,14 +49718,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) -"oSk" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Fitness" - }, +"oSh" = ( /obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, /turf/open/floor/iron, -/area/station/commons/fitness) +/area/station/hallway/primary/starboard) "oSm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48823,10 +49751,6 @@ /obj/structure/stairs/south, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"oSI" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "oSQ" = ( /obj/machinery/camera{ c_tag = "Medbay Stasis Center North"; @@ -48912,15 +49836,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/central) -"oTh" = ( -/obj/machinery/door/airlock{ - id_tag = "Dorm2"; - name = "Dorm 1" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/commons/dorms) "oTx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48930,17 +49845,6 @@ "oTA" = ( /turf/open/floor/iron/dark, /area/station/service/chapel) -"oTB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ - color = "#0000ff"; - dir = 8; - name = "Supply multi deck pipe adapter" - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oTM" = ( /obj/item/flashlight/lantern, /obj/structure/table/wood, @@ -48961,22 +49865,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"oUG" = ( -/obj/machinery/door/airlock{ - id_tag = "Toilet2"; - name = "Unit 2" - }, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) -"oUK" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "oUL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49005,6 +49893,14 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"oVc" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/station/maintenance/fore) "oVt" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -49062,6 +49958,11 @@ /obj/structure/flora/rock/icy/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/unexplored/rivers/deep/shoreline) +"oWb" = ( +/obj/machinery/vending/dinnerware, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "oWe" = ( /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/textured, @@ -49091,6 +49992,12 @@ /obj/structure/sign/calendar/directional/west, /turf/open/floor/iron, /area/station/commons/locker) +"oWw" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "oWN" = ( /obj/machinery/requests_console/auto_name/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -49120,16 +50027,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"oXe" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/holosign_creator/robot_seat/bar, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/structure/table/wood, -/turf/open/floor/stone, -/area/station/service/bar) "oXf" = ( /obj/structure/closet/secure_closet/medical1, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -49149,9 +50046,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"oXk" = ( -/turf/open/floor/carpet, -/area/station/service/theater) "oXm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/burnt_floor, @@ -49206,10 +50100,10 @@ dir = 1 }, /area/station/hallway/primary/starboard) -"oXS" = ( -/obj/structure/chair/stool/directional/north, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) +"oXO" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oXT" = ( /obj/structure/table/glass, /obj/item/storage/box/beakers{ @@ -49223,6 +50117,34 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) +"oXU" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"oXV" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/structure/table, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 8; + pixel_x = 3 + }, +/obj/item/food/grown/eggplant{ + pixel_y = 5; + pixel_x = 5 + }, +/obj/item/food/grown/mushroom/chanterelle{ + pixel_y = 3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "oXX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49241,15 +50163,6 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron, /area/station/commons/locker) -"oYc" = ( -/obj/structure/chair/wood/wings{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/wood/tile, -/area/station/service/theater) "oYi" = ( /obj/machinery/firealarm/directional/south, /obj/structure/table, @@ -49271,11 +50184,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"oYH" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/landmark/start/botanist, -/turf/open/floor/iron, -/area/station/service/hydroponics) "oYI" = ( /obj/effect/spawner/random/vending/colavend, /turf/open/floor/wood, @@ -49293,6 +50201,13 @@ }, /turf/open/floor/iron, /area/station/science/explab) +"oZo" = ( +/obj/structure/table, +/obj/machinery/light/small/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random/engineering/material_cheap, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "oZz" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -49304,6 +50219,15 @@ dir = 4 }, /area/station/security/prison) +"oZG" = ( +/obj/structure/table/wood, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) "oZL" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -49317,6 +50241,14 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) +"oZX" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/wood/large, +/area/station/service/bar) "pac" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -49326,6 +50258,11 @@ dir = 4 }, /area/station/security/prison) +"pan" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pao" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/plating, @@ -49338,6 +50275,15 @@ dir = 1 }, /area/station/security/prison/safe) +"pat" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/duct, +/obj/machinery/light/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Service - Hall" + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "paF" = ( /obj/structure/table, /obj/item/clothing/suit/hooded/wintercoat/science, @@ -49396,14 +50342,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) -"pbD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/duct, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) "pbE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, @@ -49447,6 +50385,16 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/commons/dorms/laundry) +"pce" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/siding/dark{ + dir = 10 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "pcg" = ( /obj/machinery/computer/apc_control{ dir = 4 @@ -49614,6 +50562,19 @@ /obj/effect/mapping_helpers/airlock/access/all/science/research, /turf/open/floor/iron/dark, /area/station/science/explab) +"peg" = ( +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"peq" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/machinery/rnd/production/techfab/department/service, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "pez" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark/textured_edge{ @@ -49624,6 +50585,17 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"peJ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "peM" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49656,18 +50628,18 @@ /obj/structure/flora/grass/green/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"pfB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "pfD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"pfE" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "pfJ" = ( /obj/structure/sink/directional/east, /obj/machinery/button/door/directional/west{ @@ -49690,6 +50662,13 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/maintenance/department/electrical) +"pgi" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/turf/open/floor/wood/large, +/area/station/service/bar) "pgo" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 10 @@ -49717,6 +50696,22 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/wood, /area/station/command/meeting_room) +"pgx" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"pgC" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "pgE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -49805,14 +50800,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"phU" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/door/window/right/directional/south{ - name = "Theater Stage" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/carpet, -/area/station/service/theater) "pib" = ( /obj/machinery/camera/motion/directional/south{ c_tag = "Vault"; @@ -49823,6 +50810,17 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) +"pic" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/stool/bar/directional/north, +/obj/structure/cable, +/turf/open/floor/eighties, +/area/station/commons/lounge) "pie" = ( /obj/machinery/camera/directional/north{ c_tag = "Engineering Access" @@ -49852,12 +50850,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/security/brig/upper) -"pix" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) "piB" = ( /obj/structure/sign/warning/electric_shock/directional/north, /obj/effect/turf_decal/stripes/corner{ @@ -49960,17 +50952,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/iron/dark, /area/station/science/ordnance/freezerchamber) -"pjg" = ( -/obj/item/instrument/saxophone, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/obj/item/instrument/piano_synth, -/obj/structure/table/wood, -/obj/machinery/camera{ - c_tag = "Service Theater"; - dir = 9 - }, -/turf/open/floor/wood/tile, -/area/station/service/theater) "pji" = ( /obj/structure/cable, /obj/machinery/camera/directional/east{ @@ -50108,13 +51089,21 @@ /obj/machinery/door/firedoor/heavy, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"pmg" = ( -/obj/effect/turf_decal/siding/white{ +"pmc" = ( +/obj/structure/table/wood, +/obj/machinery/reagentgrinder{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_x = -6 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners{ dir = 1 }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) +/turf/open/floor/iron/dark, +/area/station/service/bar) "pmn" = ( /obj/effect/spawner/random/trash/caution_sign, /turf/open/floor/plating, @@ -50127,6 +51116,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"pmL" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/commons/fitness) "pna" = ( /obj/machinery/door/poddoor/preopen{ id = "Engineering"; @@ -50273,6 +51272,11 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/fore/lesser) +"ppj" = ( +/obj/effect/landmark/start/botanist, +/obj/structure/chair/office/light, +/turf/open/floor/glass, +/area/station/service/hydroponics) "ppl" = ( /obj/machinery/light/small/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -50378,16 +51382,6 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) -"pqx" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "pqK" = ( /obj/structure/sign/warning/secure_area/directional/east, /turf/open/floor/plating, @@ -50395,11 +51389,6 @@ "pra" = ( /turf/open/floor/iron/dark, /area/station/science/robotics/lab) -"prf" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "prg" = ( /turf/open/floor/wood, /area/station/service/library) @@ -50415,6 +51404,23 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"prw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "prE" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -50425,6 +51431,12 @@ /obj/machinery/telecomms/server/presets/security, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"prG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/fore) "prH" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -50434,6 +51446,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) +"prP" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "psb" = ( /turf/closed/wall/ice, /area/icemoon/underground/explored) @@ -50523,17 +51541,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"ptp" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/newscaster/directional/north, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) +"ptl" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"ptq" = ( +/obj/structure/no_effect_signpost, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "ptx" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/iron/fifty, @@ -50553,6 +51568,13 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) +"ptD" = ( +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "ptO" = ( /obj/machinery/barsign, /turf/closed/wall, @@ -50569,17 +51591,15 @@ "ptY" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/maint) +"ptZ" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "pua" = ( /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/central) -"pub" = ( -/obj/effect/spawner/random/maintenance, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "puc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -50603,6 +51623,18 @@ /obj/structure/rack, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"puo" = ( +/obj/structure/table/wood, +/obj/item/soap/nanotrasen, +/obj/item/clothing/head/costume/sombrero/green, +/obj/machinery/camera{ + c_tag = "Service - Theater"; + dir = 9 + }, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/grimy, +/area/station/commons/lounge) "pup" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -50657,6 +51689,10 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"puW" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "puX" = ( /obj/structure/table, /obj/item/stock_parts/scanning_module{ @@ -50790,21 +51826,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"pwx" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"pwB" = ( -/obj/structure/stairs/west, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "pwC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50866,32 +51887,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"pxs" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/chair, -/obj/machinery/airalarm/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Service Diner South" - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "pxu" = ( /obj/structure/sign/warning/secure_area/directional/east, /turf/open/floor/engine, /area/station/science/explab) -"pxF" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/structure/displaycase/forsale/kitchen, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "pxL" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -50933,13 +51932,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"pyj" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "pyr" = ( /obj/machinery/griddle, /turf/open/floor/iron/cafeteria, @@ -50998,12 +51990,6 @@ /obj/effect/landmark/start/station_engineer, /turf/open/floor/iron, /area/station/engineering/storage_shared) -"pyW" = ( -/obj/structure/chair/sofa/bench{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "pyY" = ( /obj/machinery/status_display/evac/directional/south, /turf/open/openspace, @@ -51061,6 +52047,16 @@ /obj/item/book/manual/wiki/detective, /turf/open/floor/carpet/blue, /area/station/security/prison/work) +"pzv" = ( +/obj/structure/table/wood, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"pzy" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "pzC" = ( /obj/machinery/firealarm/directional/north, /obj/effect/turf_decal/siding/yellow{ @@ -51080,6 +52076,19 @@ }, /turf/open/floor/iron/cafeteria, /area/mine/laborcamp) +"pzJ" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Bar" + }, +/turf/open/floor/iron, +/area/station/service/bar) "pzV" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -51107,16 +52116,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/science/ordnance) -"pAp" = ( -/obj/machinery/deepfryer, -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) -"pAM" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +"pAe" = ( +/obj/effect/spawner/random/structure/chair_flipped{ + dir = 8 + }, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pAN" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, @@ -51131,6 +52137,10 @@ dir = 4 }, /area/mine/production) +"pAX" = ( +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "pAZ" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -51144,21 +52154,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/port) -"pBr" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/chem_master/condimaster{ - desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; - name = "SapMaster XP" - }, -/obj/machinery/requests_console/auto_name/directional/north, -/turf/open/floor/iron, -/area/station/service/hydroponics) "pBA" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -51210,6 +52205,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"pCw" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Bar Maintenance" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/service/bar/backroom) "pCE" = ( /obj/machinery/firealarm/directional/east, /obj/structure/filingcabinet, @@ -51295,6 +52300,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) +"pDK" = ( +/turf/open/misc/ice/coldroom, +/area/station/service/kitchen/coldroom) "pDQ" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, @@ -51351,6 +52359,10 @@ }, /turf/open/floor/iron/large, /area/station/service/hydroponics/garden) +"pEC" = ( +/obj/effect/spawner/random/structure/grille, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pEE" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -51515,6 +52527,12 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"pHf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pHy" = ( /obj/structure/rack, /obj/item/clothing/mask/breath, @@ -51699,11 +52717,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"pKe" = ( -/obj/machinery/light/cold/directional/west, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "pKu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -51725,6 +52738,10 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"pKD" = ( +/obj/effect/spawner/random/structure/grille, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "pKJ" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -51829,6 +52846,16 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) +"pMo" = ( +/obj/structure/closet/chefcloset, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/tlv_cold_room, +/obj/structure/sign/poster/official/cleanliness/directional/west, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "pMq" = ( /obj/machinery/camera/directional/south{ c_tag = "Atmospherics Storage Room - South" @@ -51862,6 +52889,12 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) +"pMA" = ( +/obj/machinery/requests_console/auto_name/directional/east, +/obj/machinery/duct, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "pMC" = ( /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, @@ -51876,16 +52909,6 @@ "pNm" = ( /turf/closed/wall/r_wall, /area/station/security/execution/education) -"pNp" = ( -/obj/item/stack/package_wrap{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar/backroom) "pNq" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -51896,12 +52919,6 @@ }, /turf/open/floor/carpet, /area/station/command/meeting_room) -"pNx" = ( -/obj/effect/turf_decal/tile/blue, -/obj/machinery/light/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "pNy" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -51977,6 +52994,23 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"pOe" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel External Airlock"; + opacity = 0 + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/structure/sign/warning/gas_mask/directional/south{ + desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." + }, +/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/iron, +/area/station/service/chapel) "pOk" = ( /obj/structure/cable, /turf/closed/wall/r_wall, @@ -51997,17 +53031,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"pOJ" = ( -/obj/structure/displaycase/forsale/kitchen{ - pixel_y = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "pOL" = ( /turf/open/floor/iron/white, /area/station/science/ordnance) @@ -52056,6 +53079,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"pPI" = ( +/obj/structure/table, +/obj/item/trash/can/food/beans, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "pPK" = ( /obj/structure/stairs/east, /turf/open/floor/iron/dark/textured, @@ -52086,6 +53116,13 @@ }, /turf/open/floor/iron, /area/station/tcommsat/computer) +"pPS" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) "pPT" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -52146,6 +53183,13 @@ /obj/item/pen, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"pQB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/item/kirbyplants/organic/plant2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "pQG" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/box, @@ -52217,6 +53261,12 @@ /obj/machinery/digital_clock/directional/east, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"pSj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "pSk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -52257,16 +53307,6 @@ "pSz" = ( /turf/open/openspace, /area/station/maintenance/starboard/upper) -"pSQ" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "pTd" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -52288,12 +53328,18 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) -"pTf" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"pTm" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "pTB" = ( /obj/effect/turf_decal/tile/brown{ dir = 8 @@ -52344,12 +53390,25 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/white, /area/station/science/research) +"pUt" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) "pUy" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/iron/white, /area/station/science/genetics) +"pUY" = ( +/obj/item/chair/wood, +/obj/item/toy/plush/moth{ + name = "Ariadne" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pVl" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -52491,11 +53550,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"pXz" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/station/service/hydroponics) "pXB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -52508,6 +53562,11 @@ }, /turf/open/floor/iron/textured, /area/mine/mechbay) +"pXQ" = ( +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "pXR" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -52543,13 +53602,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/atmos) -"pYw" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/missing_gloves/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "pYz" = ( /obj/structure/railing/corner, /obj/machinery/door/firedoor/border_only, @@ -52572,14 +53624,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/service/janitor) -"pYI" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "pYT" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/iron, @@ -52628,10 +53672,6 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"qaf" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "qai" = ( /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/plating/snowed/icemoon, @@ -52760,6 +53800,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"qbR" = ( +/obj/machinery/light/small/directional/east, +/obj/item/pickaxe, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/station/medical/morgue) "qbU" = ( /obj/structure/sign/warning/electric_shock/directional/south, /turf/open/misc/asteroid/snow/icemoon, @@ -52900,6 +53946,14 @@ /obj/machinery/microwave, /turf/open/floor/stone, /area/mine/eva/lower) +"qeu" = ( +/obj/machinery/newscaster/directional/west, +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/commons/lounge) "qeF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52924,6 +53978,13 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"qeM" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/vending/cigarette, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "qeP" = ( /obj/structure/table, /obj/item/flashlight/lantern, @@ -52946,21 +54007,6 @@ dir = 8 }, /area/station/service/chapel) -"qfe" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/table, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 - }, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 - }, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "qfh" = ( /turf/open/floor/iron/recharge_floor, /area/station/science/robotics/mechbay) @@ -52986,14 +54032,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/safe) -"qfu" = ( -/obj/structure/closet/crate/wooden/toy, -/obj/machinery/camera/directional/south{ - c_tag = "Service Theater - Backstage" - }, -/obj/item/staff/broom, -/turf/open/floor/wood/tile, -/area/station/service/theater) "qfE" = ( /obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 4 @@ -53036,6 +54074,15 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/processing) +"qhb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "qhd" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -53052,6 +54099,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"qhw" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/turf/closed/wall, +/area/station/service/hydroponics) "qhL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -53089,11 +54142,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"qis" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) +"qij" = ( +/obj/structure/reagent_dispensers/plumbed{ + name = "service reservoir" + }, +/obj/machinery/light/small/dim/directional/north, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/starboard/fore) "qiF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted, @@ -53141,6 +54200,18 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"qjc" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/obj/machinery/light/small/red/directional/north, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "qjg" = ( /obj/effect/landmark/observer_start, /obj/effect/turf_decal/plaque{ @@ -53202,11 +54273,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"qjK" = ( -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "qjO" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -53364,14 +54430,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"qmN" = ( -/obj/item/radio/intercom/directional/north, -/obj/structure/reagent_dispensers/plumbed, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) "qmT" = ( /obj/structure/bed{ dir = 4 @@ -53409,13 +54467,6 @@ }, /turf/open/floor/carpet, /area/station/security/prison/rec) -"qnf" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "qnj" = ( /turf/closed/wall, /area/station/commons/locker) @@ -53465,13 +54516,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"qnU" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "qnV" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/emergency{ @@ -53506,21 +54550,19 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/wood/parquet, /area/station/service/library) -"qoz" = ( -/obj/machinery/door/airlock/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "qoK" = ( /obj/structure/flora/rock/style_random, /obj/structure/window/reinforced/spawner/directional/south, /turf/open/misc/asteroid/snow/icemoon, /area/station/maintenance/port/aft) +"qoL" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "qoM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/burnt_floor, @@ -53585,6 +54627,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"qps" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/closet/firecloset, +/obj/structure/sign/warning/gas_mask/directional/west, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "qpt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53656,6 +54705,13 @@ /obj/machinery/recharge_station, /turf/open/floor/wood, /area/station/command/meeting_room) +"qpY" = ( +/obj/machinery/door/airlock{ + id_tag = "Toilet1"; + name = "Unit 1" + }, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "qpZ" = ( /obj/structure/table, /obj/item/folder/blue{ @@ -53694,13 +54750,6 @@ /obj/item/storage/toolbox/emergency, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"qqx" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/item/kirbyplants/organic/applebush, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "qqB" = ( /obj/machinery/button/door/directional/north{ id = "maint3"; @@ -53709,6 +54758,18 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"qqI" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "qqJ" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -53725,6 +54786,10 @@ dir = 1 }, /area/station/security/office) +"qqX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "qrg" = ( /obj/item/bodypart/head, /obj/effect/decal/cleanable/blood, @@ -53757,15 +54822,17 @@ /obj/structure/sign/warning/gas_mask, /turf/closed/wall/r_wall, /area/station/engineering/storage_shared) -"qrq" = ( -/obj/structure/toilet/greyscale{ - cistern = 1; - dir = 1 +"qrt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 }, -/obj/effect/spawner/random/entertainment/cigar, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/toilet) +/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, +/obj/effect/mapping_helpers/mail_sorting/service/theater, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qrJ" = ( /obj/machinery/ticket_machine/directional/east, /obj/effect/turf_decal/tile/blue, @@ -53809,6 +54876,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/central) +"qsE" = ( +/obj/structure/table/wood, +/obj/item/paper, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "qsG" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -53862,6 +54936,14 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) +"qtJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qtM" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -53875,6 +54957,14 @@ /obj/machinery/light/directional/north, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"qtT" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "qud" = ( /obj/machinery/conveyor_switch/oneway{ id = "mining_internal"; @@ -53895,6 +54985,18 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) +"quj" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/service/hydroponics) "quB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ @@ -54034,6 +55136,11 @@ /obj/structure/grille, /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"qwI" = ( +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/dorms) "qwJ" = ( /obj/machinery/computer/rdconsole{ dir = 1 @@ -54081,14 +55188,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"qwP" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/fitness) "qwX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/decal/cleanable/dirt, @@ -54185,6 +55284,37 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"qya" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/iron, +/area/station/commons/fitness) +"qyb" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/obj/item/kirbyplants/organic/plant10, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"qyd" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/structure/sign/warning/electric_shock/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "qyn" = ( /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -54260,12 +55390,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"qzN" = ( -/obj/structure/closet, -/obj/effect/spawner/random/clothing/costume, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "qzT" = ( /obj/structure/closet/firecloset, /obj/effect/mapping_helpers/burnt_floor, @@ -54361,6 +55485,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) +"qBz" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/hydroponics) "qCl" = ( /obj/effect/spawner/random/trash/mess, /obj/structure/disposalpipe/segment{ @@ -54372,20 +55510,6 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/engine/air, /area/station/engineering/atmos) -"qCz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/obj/structure/table/wood, -/obj/structure/disposalpipe/segment, -/turf/open/floor/stone, -/area/station/service/bar) "qCA" = ( /obj/structure/table/wood, /turf/open/floor/wood, @@ -54480,14 +55604,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"qDZ" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/table, -/obj/item/plate, -/obj/item/food/piedough, -/obj/effect/spawner/random/food_or_drink/cake_ingredients, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "qEa" = ( /obj/structure/cable/layer3, /turf/open/floor/iron/dark, @@ -54522,6 +55638,13 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"qEq" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/griddle, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "qEu" = ( /obj/effect/turf_decal/siding/brown{ dir = 4 @@ -54635,17 +55758,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"qFC" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "qFJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/holopad, @@ -54654,6 +55766,28 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/customs/auxiliary) +"qFN" = ( +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/obj/machinery/status_display/evac/directional/south, +/obj/structure/chair/sofa/left/brown{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"qFT" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Service - Kitchen" + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/table, +/obj/machinery/processor{ + pixel_y = 6 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "qFW" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -54711,6 +55845,12 @@ /obj/effect/spawner/random/trash/grime, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/lesser) +"qGM" = ( +/obj/structure/cable, +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "qGQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -54833,12 +55973,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) -"qIv" = ( -/obj/machinery/icecream_vat, -/obj/effect/turf_decal/tile/brown/diagonal_edge, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "qIB" = ( /obj/effect/turf_decal/caution/stand_clear, /obj/machinery/door/poddoor/shutters/window{ @@ -54867,15 +56001,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"qIP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "qIU" = ( /turf/open/floor/iron, /area/station/commons/dorms) @@ -54894,6 +56019,13 @@ /obj/item/cigbutt, /turf/open/floor/wood/large, /area/mine/eva/lower) +"qJx" = ( +/obj/machinery/status_display/ai/directional/south, +/obj/structure/chair/sofa/right/brown{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "qJT" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/plating/snowed/icemoon, @@ -55005,13 +56137,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/brig) -"qKX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "qLf" = ( /obj/structure/sign/painting/library{ pixel_y = 32 @@ -55088,6 +56213,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/eva/lower) +"qLV" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "qLX" = ( /obj/effect/decal/cleanable/dirt, /obj/item/toy/basketball, @@ -55096,25 +56229,6 @@ "qLY" = ( /turf/closed/wall/r_wall, /area/station/science/xenobiology) -"qMe" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/door/airlock{ - name = "Theater Stage" - }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/theater) "qMm" = ( /obj/structure/bookcase/random/adult, /turf/open/floor/wood, @@ -55159,21 +56273,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/engineering/storage_shared) -"qNc" = ( -/obj/machinery/door/airlock/highsecurity{ - name = "Service Hall Exit" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "service-hall-external" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/hallway/secondary/service) "qNl" = ( /obj/structure/plasticflaps/opaque, /obj/effect/turf_decal/delivery, @@ -55437,6 +56536,13 @@ /obj/item/chair/wood, /turf/open/floor/carpet, /area/station/maintenance/space_hut/cabin) +"qRo" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "qRq" = ( /obj/structure/rack, /obj/item/electronics/apc, @@ -55463,6 +56569,14 @@ /obj/structure/flora/tree/pine/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"qRG" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "qRO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55545,14 +56659,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/sepia, /area/station/security/prison/rec) -"qSB" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/door/airlock/external{ - name = "External Access" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/external, +"qSy" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/starboard/lesser) "qSC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -55621,6 +56735,12 @@ "qTs" = ( /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) +"qTE" = ( +/obj/effect/landmark/start/hangover, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "qTI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55766,6 +56886,15 @@ /obj/effect/spawner/random/food_or_drink/booze, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"qWc" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) "qWh" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -55869,13 +56998,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"qXz" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "qXF" = ( /obj/machinery/computer/station_alert, /obj/effect/turf_decal/tile/yellow/half/contrasted, @@ -55903,11 +57025,6 @@ }, /turf/open/floor/iron/chapel, /area/station/service/chapel) -"qYo" = ( -/obj/effect/turf_decal/siding/white/corner, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "qYw" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -55935,19 +57052,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) -"qYD" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/machinery/duct, -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "qYP" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -55999,16 +57103,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/treatment_center) -"qZB" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "qZN" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/freezerchamber) @@ -56061,6 +57155,15 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"ran" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "ras" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ @@ -56095,15 +57198,25 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"raL" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "raN" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/command/teleporter) +"raS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "raT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, @@ -56115,6 +57228,16 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"raZ" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Starboard Primary Hallway Center West" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "rbb" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -56227,15 +57350,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"rdd" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "rdl" = ( /obj/machinery/button/door/directional/east{ id = "misclab"; @@ -56260,29 +57374,12 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/carpet, /area/station/security/processing) -"rdB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/sofa/corp/right{ - dir = 4; - pixel_x = -4 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/bar/atrium) "rdG" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 }, /turf/open/floor/iron/white, /area/station/medical/storage) -"rdR" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron/textured, -/area/station/security/brig) "rea" = ( /obj/structure/table, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -56300,9 +57397,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"reh" = ( -/turf/open/floor/iron/textured_half, -/area/station/service/hydroponics) "rej" = ( /obj/machinery/oven/range, /turf/open/floor/plating, @@ -56329,16 +57423,6 @@ dir = 5 }, /area/mine/living_quarters) -"reA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/sofa/left/brown{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/grimy, -/area/station/commons/lounge) "reJ" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -56351,11 +57435,13 @@ }, /turf/open/floor/iron, /area/station/commons/storage/primary) -"reM" = ( -/obj/structure/table, -/obj/item/flashlight/flare/candle, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"reL" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "reT" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 8"; @@ -56404,19 +57490,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"rga" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/table, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 - }, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "rgi" = ( /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/plating, @@ -56457,6 +57530,12 @@ /obj/item/stack/package_wrap, /turf/open/floor/wood/large, /area/mine/eva/lower) +"rgp" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 6 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "rgs" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -56488,17 +57567,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/heads_quarters/hos) -"rhh" = ( -/obj/machinery/biogenerator, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron, -/area/station/service/hydroponics) "rhi" = ( /obj/machinery/door/firedoor/heavy, /obj/machinery/door/airlock/research{ @@ -56512,6 +57580,25 @@ dir = 8 }, /area/station/science/ordnance/office) +"rhq" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"rhv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "rhF" = ( /obj/machinery/camera/directional/north{ c_tag = "Security - Permabrig Observation North"; @@ -56529,13 +57616,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/brig) -"rhR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "rhY" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/box/red, @@ -56574,6 +57654,16 @@ /obj/effect/mapping_helpers/mail_sorting/security/general, /turf/open/floor/iron, /area/station/security/brig/upper) +"riE" = ( +/obj/item/toy/plush/lizard_plushie{ + name = "Wines-And-Dines"; + pixel_x = 4 + }, +/obj/item/reagent_containers/cup/glass/bottle{ + pixel_x = -9 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "riL" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -56582,12 +57672,26 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/on, /turf/open/floor/plating/snowed/icemoon, /area/station/maintenance/port/aft) +"riW" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/closet/secure_closet/hydroponics, +/obj/structure/sign/clock/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "rja" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/paper/carbon, /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) +"rjf" = ( +/obj/structure/table/wood, +/obj/item/paper/crumpled, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "rjh" = ( /obj/structure/closet/firecloset, /turf/open/floor/iron/dark, @@ -56596,20 +57700,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/plating, /area/station/medical/virology) -"rjs" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 2 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/mapping_helpers/mail_sorting/service/dormitories, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "rjt" = ( /obj/structure/table/glass, /obj/item/computer_disk/medical, @@ -56691,16 +57781,16 @@ }, /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) -"rki" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" +"rkj" = ( +/obj/structure/table, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, -/area/station/hallway/primary/central) +/area/station/hallway/primary/starboard) "rkl" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -56755,6 +57845,24 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"rls" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"rlE" = ( +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "rlS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56821,6 +57929,17 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/engine/vacuum, /area/station/science/ordnance) +"rmH" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/freezer{ + desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold."; + name = "The Ice Box" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "rmM" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -56906,6 +58025,11 @@ }, /turf/open/floor/iron/freezer, /area/mine/eva/lower) +"rod" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "roj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57114,10 +58238,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/lobby) -"rqT" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "rqY" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -57129,6 +58249,10 @@ /obj/structure/table/wood, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"rrg" = ( +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/stone, +/area/station/commons/lounge) "rrn" = ( /obj/structure/closet/emcloset, /obj/structure/sign/poster/contraband/random/directional/north, @@ -57143,29 +58267,16 @@ }, /turf/open/floor/glass/reinforced, /area/station/hallway/primary/starboard) -"rrx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "rrV" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, /area/mine/eva) -"rrX" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/airalarm/directional/east, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/theater) +"rsm" = ( +/obj/machinery/oven/range, +/obj/effect/turf_decal/siding/white/corner, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "rsw" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -57177,6 +58288,12 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"rsI" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/light/small/directional/south, +/obj/structure/sign/calendar/directional/south, +/turf/open/floor/iron, +/area/station/commons/dorms) "rsL" = ( /obj/structure/cable, /turf/open/floor/circuit, @@ -57210,17 +58327,6 @@ "rsY" = ( /turf/closed/wall/r_wall, /area/mine/eva) -"rtc" = ( -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) -"rth" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/siding/white, -/obj/effect/spawner/random/entertainment/arcade, -/obj/structure/sign/poster/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "rtn" = ( /obj/structure/chair/comfy/black, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57278,6 +58384,14 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/white/textured, /area/station/security/medical) +"rum" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/item/radio/intercom/directional/north, +/obj/machinery/holopad, +/obj/machinery/light/warm/directional/north, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/service/bar) "ruo" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/bot, @@ -57345,10 +58459,13 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"rvO" = ( -/obj/structure/signpost, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +"rvI" = ( +/obj/effect/decal/cleanable/greenglow, +/obj/effect/decal/cleanable/plastic, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rvS" = ( /obj/structure/rack, /obj/item/poster/random_contraband, @@ -57366,6 +58483,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"rwc" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rwe" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner, @@ -57428,6 +58553,15 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron, /area/mine/laborcamp) +"rwV" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/fore) "rwW" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/gas_mask, @@ -57439,6 +58573,14 @@ }, /turf/closed/wall/r_wall, /area/station/maintenance/department/medical/central) +"rxd" = ( +/obj/machinery/vending/wardrobe/bar_wardrobe, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Backroom" + }, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "rxf" = ( /obj/machinery/camera/directional/east{ c_tag = "Atmospherics - East" @@ -57455,18 +58597,18 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"rxj" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rxz" = ( /obj/structure/girder, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"rxA" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/sign/warning/electric_shock/directional/west, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "rxG" = ( /obj/structure/ore_vent/starter_resources{ icon_state = "ore_vent_ice_active"; @@ -57474,11 +58616,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"rxK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "rxM" = ( /obj/machinery/door/poddoor/preopen{ id = "xenobio8"; @@ -57526,6 +58663,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"ryE" = ( +/obj/structure/closet/secure_closet/hydroponics, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ryG" = ( /obj/structure/chair{ dir = 1 @@ -57547,23 +58693,12 @@ /obj/effect/turf_decal/delivery/red, /turf/open/floor/iron/textured, /area/station/hallway/secondary/entry) -"ryO" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "ryX" = ( /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix{ dir = 8 }, /turf/open/floor/engine, /area/station/science/ordnance) -"rza" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/fitness) "rzj" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty{ @@ -57573,18 +58708,6 @@ /obj/item/stack/sheet/iron/fifty, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"rzk" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Dormitory" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/dorms) "rzm" = ( /obj/structure/sign/departments/cargo, /turf/closed/wall, @@ -57600,20 +58723,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/rd, /turf/open/floor/iron/dark, /area/station/science/server) -"rzA" = ( -/obj/machinery/door/airlock{ - name = "Theater Backstage" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/service/theater) "rzD" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/manifold/layer2{ dir = 1 @@ -57710,10 +58819,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/command/storage/eva) -"rBn" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/commons/dorms) "rBo" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer1{ @@ -57740,6 +58845,12 @@ /obj/item/stack/license_plates/empty/fifty, /turf/open/floor/iron/dark/smooth_half, /area/station/security/prison/work) +"rBF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "rBL" = ( /obj/machinery/light/directional/west, /turf/open/openspace, @@ -57771,16 +58882,6 @@ "rCf" = ( /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"rCh" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Icemoon Exterior Garden" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "hydroponics-external" - }, -/turf/open/floor/iron/textured_half, -/area/station/service/hydroponics) "rCj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57906,6 +59007,10 @@ dir = 1 }, /area/mine/eva) +"rDh" = ( +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "rDj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -57943,9 +59048,6 @@ /obj/structure/sign/poster/official/safety_internals/directional/east, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"rDF" = ( -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "rDH" = ( /obj/structure/flora/grass/green/style_random, /mob/living/basic/pet/penguin/emperor{ @@ -58055,13 +59157,6 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/mining) -"rFr" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/service/hydroponics) "rFD" = ( /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, @@ -58274,6 +59369,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/teleporter) +"rJx" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Cart Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/kitchen, +/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +/obj/structure/barricade/wooden/snowed, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "rJz" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -58282,33 +59386,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/maintenance/fore/lesser) -"rJL" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) -"rKd" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/spawner/random/entertainment/gambling, -/obj/structure/table/wood, -/obj/machinery/camera{ - c_tag = "Service Bar North"; - dir = 9 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) -"rKe" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Dormitory" - }, -/obj/effect/landmark/navigate_destination, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ +"rKb" = ( +/obj/effect/turf_decal/siding/white{ dir = 8 }, -/turf/open/floor/iron, -/area/station/commons/dorms) +/obj/machinery/requests_console/auto_name/directional/east, +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "rKs" = ( /obj/structure/chair/stool/directional/south, /obj/structure/sign/poster/official/work_for_a_future/directional/north, @@ -58327,12 +59416,24 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"rKz" = ( +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "rKQ" = ( /obj/structure/mineral_door/wood{ name = "Maintenance Bar" }, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"rKR" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/effect/landmark/start/cook, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "rKS" = ( /obj/machinery/camera/directional/south{ c_tag = "Dormitory Toilets" @@ -58377,13 +59478,10 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/cargo/office) -"rLV" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/station/service/theater) +"rLG" = ( +/obj/structure/fence, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "rLX" = ( /obj/item/target, /obj/item/target/syndicate, @@ -58397,11 +59495,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"rMa" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/cold_temp, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "rMr" = ( /obj/structure/chair{ dir = 8 @@ -58524,6 +59617,18 @@ /obj/structure/closet/toolcloset, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"rOj" = ( +/obj/machinery/door/airlock/freezer{ + desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold."; + name = "The Ice Box" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "rOA" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -58577,11 +59682,6 @@ /obj/structure/closet/toolcloset, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"rPf" = ( -/obj/structure/table/wood/poker, -/obj/item/clothing/mask/cigarette/pipe, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "rPn" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /obj/machinery/camera{ @@ -58593,13 +59693,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"rPp" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/fake_stairs/wood/directional/north, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "rPL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -58624,10 +59717,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) -"rQt" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "rQw" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -58643,6 +59732,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) +"rQC" = ( +/obj/effect/spawner/random/trash/bin, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rQG" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58708,15 +59802,6 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"rRy" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "rRM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58737,6 +59822,11 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/starboard/fore) +"rSp" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rSq" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance, @@ -58761,12 +59851,6 @@ "rSC" = ( /turf/open/floor/glass/reinforced, /area/station/engineering/lobby) -"rSK" = ( -/obj/effect/turf_decal/siding/white/corner, -/obj/machinery/holopad, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "rSN" = ( /obj/machinery/computer/upload/borg{ dir = 1 @@ -58789,10 +59873,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) -"rST" = ( -/obj/structure/marker_beacon/cerulean, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "rSW" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -58988,15 +60068,10 @@ /obj/item/storage/backpack, /turf/open/floor/plastic, /area/station/commons/dorms/laundry) -"rVO" = ( -/obj/structure/reagent_dispensers/beerkeg, -/obj/item/stack/package_wrap{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, +"rVJ" = ( +/obj/effect/turf_decal/tile/purple, /turf/open/floor/iron, -/area/station/service/bar/backroom) +/area/station/hallway/primary/starboard) "rVV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -59146,6 +60221,19 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) +"rYd" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/hydroponics) "rYq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59204,6 +60292,13 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"rZi" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/railing/corner/end/flip{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "rZm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59213,6 +60308,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) +"rZq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "rZA" = ( /obj/structure/railing/wooden_fence{ dir = 8 @@ -59225,42 +60330,11 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"rZK" = ( -/obj/structure/flora/bush/snow/style_random, -/obj/effect/mapping_helpers/airalarm/tlv_cold_room, -/obj/machinery/airalarm/directional/west, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) -"rZN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "rZR" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/landmark/start/chief_medical_officer, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) -"rZT" = ( -/obj/structure/fireplace{ - dir = 4; - pixel_y = -15 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/commons/lounge) -"rZX" = ( -/obj/machinery/light/small/directional/east, -/obj/structure/rack, -/obj/item/pickaxe, -/turf/open/floor/plating, -/area/station/medical/morgue) "rZZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/blue/filled/warning{ @@ -59273,6 +60347,17 @@ dir = 4 }, /area/station/service/chapel) +"sak" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"saK" = ( +/obj/structure/cable, +/obj/effect/turf_decal/box/red/corners{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "sbc" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -59333,10 +60418,31 @@ dir = 1 }, /area/station/security/prison) +"sbz" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured_half, +/area/station/service/kitchen) "sbD" = ( /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"sbG" = ( +/obj/item/pickaxe/improvised{ + pixel_x = 7 + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "sbJ" = ( /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/dark/textured, @@ -59361,14 +60467,6 @@ /obj/effect/turf_decal/tile/green/anticorner/contrasted, /turf/open/floor/iron/dark, /area/mine/laborcamp) -"sbT" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "sbU" = ( /obj/machinery/vending/cigarette, /turf/open/floor/iron/dark, @@ -59504,6 +60602,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/courtroom) +"seo" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "seA" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -59589,17 +60699,18 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"sfA" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +"sfQ" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) +"sfR" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/machinery/duct, +/turf/open/floor/wood/large, +/area/station/service/bar) "sfY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59611,6 +60722,12 @@ dir = 5 }, /area/station/science/research) +"sgy" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "sgA" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59672,6 +60789,13 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"shp" = ( +/obj/structure/chair/stool/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "sht" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59698,12 +60822,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"shD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/commons/lounge) "shG" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -59725,17 +60843,6 @@ dir = 8 }, /area/station/hallway/secondary/entry) -"sib" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ - color = "#0000ff"; - dir = 8; - name = "Supply multi deck pipe adapter" - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "sil" = ( /obj/machinery/door/airlock/public/glass{ name = "Art Gallery" @@ -59815,13 +60922,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/smooth_large, /area/station/cargo/drone_bay) -"sjL" = ( -/obj/effect/landmark/generic_maintenance_landmark, -/obj/item/bikehorn/rubberducky, -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "sjU" = ( /obj/structure/sign/warning/docking/directional/east, /turf/open/floor/plating/snowed/smoothed/icemoon, @@ -59847,12 +60947,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"skf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "skj" = ( /obj/structure/table, /obj/machinery/light/directional/east, @@ -59876,16 +60970,6 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) -"skp" = ( -/obj/machinery/smartfridge/food, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "skw" = ( /obj/machinery/computer/security/qm, /obj/machinery/requests_console/directional/west{ @@ -59912,6 +60996,19 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"skN" = ( +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "skU" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -59922,13 +61019,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"skV" = ( -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/commons/lounge) "skW" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -60084,6 +61174,11 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/disposal) +"snf" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "sng" = ( /obj/structure/table, /obj/item/wrench, @@ -60177,11 +61272,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) -"son" = ( -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "sou" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60505,6 +61595,11 @@ /obj/structure/sign/warning/secure_area, /turf/closed/wall/r_wall, /area/station/engineering/storage/tech) +"sss" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "ssu" = ( /obj/structure/gulag_vent/ice, /turf/open/misc/asteroid/snow/icemoon, @@ -60536,6 +61631,12 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) +"ssZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/morgue) "stb" = ( /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white, @@ -60566,12 +61667,6 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"stp" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "stt" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -60581,15 +61676,6 @@ dir = 1 }, /area/station/security/lockers) -"stw" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "stA" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -60677,11 +61763,6 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"suE" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "suL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60738,6 +61819,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) +"svz" = ( +/obj/structure/closet/crate/freezer/food{ + name = "cooler" + }, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/ice, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "svF" = ( /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) @@ -60751,6 +61843,10 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"svQ" = ( +/obj/machinery/light/small/directional/east, +/turf/open/openspace, +/area/station/service/hydroponics) "swa" = ( /obj/machinery/light/directional/east, /turf/open/floor/engine, @@ -60913,15 +62009,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/security/prison/rec) -"sxW" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/obj/structure/sign/poster/random/directional/east, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "sxY" = ( /obj/structure/cable/multilayer/multiz, /obj/structure/window/reinforced/spawner/directional/south, @@ -61022,6 +62109,10 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) +"szB" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "szD" = ( /obj/effect/turf_decal/trimline/green/filled/end, /obj/effect/decal/cleanable/dirt, @@ -61058,15 +62149,10 @@ }, /turf/open/floor/iron, /area/mine/eva/lower) -"sAc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, +"sAd" = ( +/obj/machinery/airalarm/directional/east, /turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) +/area/station/maintenance/starboard/lesser) "sAj" = ( /obj/machinery/photocopier, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -61222,6 +62308,16 @@ "sCZ" = ( /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"sDe" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/item/toy/plush/moth{ + name = "Theseus" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "sDg" = ( /obj/effect/turf_decal/siding/purple/corner{ dir = 1 @@ -61243,13 +62339,6 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"sDs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/multilayer/multiz, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "sDQ" = ( /obj/item/radio/intercom/prison/directional/north, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -61289,13 +62378,6 @@ }, /turf/open/floor/wood, /area/station/command/meeting_room) -"sEp" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "sEq" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end{ dir = 8 @@ -61331,13 +62413,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"sEE" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/junction{ - dir = 2 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "sEF" = ( /obj/machinery/computer/atmos_control/plasma_tank{ dir = 8 @@ -61424,6 +62499,17 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"sFK" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "sFN" = ( /obj/structure/sign/warning/electric_shock/directional/south, /obj/structure/cable, @@ -61459,12 +62545,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"sGi" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/table/wood, -/obj/item/food/pie/cream, -/turf/open/floor/carpet, -/area/station/service/theater) "sGk" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/structure/sign/poster/random/directional/south, @@ -61564,10 +62644,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/stone, /area/mine/eva/lower) -"sHB" = ( -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "sHC" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61613,6 +62689,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/mine/mechbay) +"sIe" = ( +/obj/structure/railing, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "sIg" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/brown{ @@ -61620,18 +62703,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"sIh" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/structure/flora/bush/flowers_yw/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) -"sIm" = ( -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/station/service/hydroponics) "sIp" = ( /obj/structure/closet/radiation, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -61640,6 +62711,18 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/engineering/main) +"sIq" = ( +/obj/machinery/door/firedoor, +/obj/structure/sign/warning/electric_shock/directional/south, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "sIt" = ( /turf/closed/wall, /area/station/maintenance/central/lesser) @@ -61690,17 +62773,6 @@ /obj/machinery/vending/donksofttoyvendor, /turf/open/floor/iron/dark/textured, /area/station/security/prison/safe) -"sJk" = ( -/obj/structure/cable, -/obj/machinery/camera/directional/west{ - c_tag = "Dormitory South" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/commons/dorms) "sJn" = ( /obj/structure/closet/emcloset, /obj/structure/sign/warning/gas_mask/directional/west, @@ -61787,6 +62859,10 @@ }, /turf/open/floor/plating, /area/mine/eva/lower) +"sKs" = ( +/obj/structure/fence, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "sKu" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -61834,12 +62910,38 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) +"sLd" = ( +/obj/machinery/holopad, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "sLj" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 }, /turf/open/floor/iron/dark/corner, /area/station/security/processing) +"sLv" = ( +/obj/machinery/door/airlock/wood{ + name = "Backstage" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/theatre, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/commons/lounge) "sLD" = ( /obj/structure/table/reinforced, /obj/item/stack/sheet/iron/fifty, @@ -61888,6 +62990,10 @@ dir = 1 }, /area/station/security/prison) +"sMI" = ( +/obj/machinery/smartfridge, +/turf/open/floor/iron/dark, +/area/station/service/kitchen) "sML" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62145,14 +63251,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"sSh" = ( -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "sSj" = ( /obj/machinery/light/small/directional/south, /obj/structure/chair/sofa/left/brown{ @@ -62297,6 +63395,14 @@ /obj/effect/mapping_helpers/airlock/access/any/security/brig, /turf/open/floor/iron, /area/station/security/prison/visit) +"sUg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "sUi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62332,13 +63438,6 @@ /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"sUO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/junction/flip, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "sUS" = ( /obj/structure/table/wood, /obj/effect/mapping_helpers/broken_floor, @@ -62388,6 +63487,10 @@ /obj/item/screwdriver, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"sVU" = ( +/obj/machinery/hydroponics/constructable, +/turf/open/floor/grass, +/area/station/service/hydroponics) "sWl" = ( /obj/machinery/door/airlock/command{ name = "Chief Medical Officer" @@ -62427,13 +63530,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining_station, /turf/open/floor/iron/textured_half, /area/mine/production) -"sWC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/theater) "sWU" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/iron, @@ -62503,6 +63599,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/science/explab) +"sXE" = ( +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "sXK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62526,11 +63634,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"sYb" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/commons/dorms) "sYe" = ( /obj/structure/table/wood, /obj/item/clothing/under/suit/red, @@ -62663,6 +63766,25 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron, /area/station/security/prison/garden) +"taC" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"taM" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/duct, +/obj/machinery/newscaster/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "taN" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -62695,11 +63817,6 @@ dir = 1 }, /area/station/engineering/atmos) -"tbv" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/flora/bush/sunny/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "tbN" = ( /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /obj/machinery/door/airlock/engineering{ @@ -62785,6 +63902,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"tdj" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/fore) "tdp" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -62823,10 +63945,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"tef" = ( -/obj/machinery/space_heater, -/turf/open/floor/plating, -/area/station/maintenance/fore) "tei" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/carpet/red, @@ -62844,6 +63962,12 @@ }, /turf/open/floor/plating, /area/station/commons/vacant_room/office) +"teM" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/light/warm/directional/north, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron, +/area/station/service/bar) "teN" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -62855,12 +63979,6 @@ dir = 4 }, /area/station/security/brig/entrance) -"teR" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/theater) "teZ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62882,6 +64000,13 @@ /obj/machinery/portable_atmospherics/canister/water_vapor, /turf/open/floor/iron, /area/station/service/janitor) +"tfB" = ( +/obj/structure/closet, +/obj/effect/spawner/random/clothing/costume, +/obj/structure/sign/poster/contraband/random/directional/east, +/obj/effect/spawner/random/clothing/gloves, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tfG" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -62957,6 +64082,17 @@ /mob/living/simple_animal/bot/secbot/beepsky/armsky, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) +"thd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/trash/food_packaging, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "thA" = ( /turf/open/genturf/blue, /area/icemoon/underground/unexplored/rivers/deep/shoreline) @@ -63046,26 +64182,23 @@ /obj/structure/transit_tube/horizontal, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) +"tiv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tix" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"tiF" = ( -/obj/structure/chair/stool/directional/west, -/turf/open/floor/carpet, -/area/station/service/theater) "tiV" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/iron, /area/station/service/chapel) -"tiX" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/service/theater) "tiY" = ( /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/weather/snow/corner{ @@ -63148,10 +64281,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"tki" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "tku" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -63182,14 +64311,6 @@ "tkU" = ( /turf/open/lava/plasma/ice_moon, /area/icemoon/surface/outdoors/nospawn) -"tkV" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "tlh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63212,12 +64333,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/ai_monitored/command/storage/eva) -"tlr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "tlA" = ( /obj/machinery/light/small/directional/south, /obj/item/radio/intercom/directional/south, @@ -63227,15 +64342,6 @@ "tlE" = ( /turf/open/floor/glass/reinforced/icemoon, /area/icemoon/surface/outdoors/nospawn) -"tlF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "tlH" = ( /turf/open/openspace/icemoon, /area/icemoon/surface/outdoors/nospawn) @@ -63279,6 +64385,16 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) +"tmh" = ( +/obj/item/radio/intercom/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) "tml" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -63337,10 +64453,26 @@ /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"tmZ" = ( +/obj/structure/fence/post{ + dir = 8 + }, +/obj/structure/sign/nanotrasen, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "tnb" = ( /obj/structure/rack, /turf/open/floor/plating, /area/mine/eva/lower) +"tnn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/lesser) "tnp" = ( /obj/structure/table, /obj/item/folder/blue{ @@ -63359,17 +64491,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"tnB" = ( -/obj/machinery/door/airlock{ - name = "Theater Backstage" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "tnI" = ( /obj/effect/turf_decal/trimline/dark_blue/line{ dir = 10 @@ -63412,21 +64533,6 @@ /obj/machinery/shower/directional/west, /turf/open/floor/iron/white, /area/station/medical/virology) -"toH" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "toV" = ( /obj/structure/table, /obj/item/stock_parts/subspace/ansible, @@ -63463,6 +64569,11 @@ /obj/machinery/light/directional/south, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"tpt" = ( +/obj/structure/chair/sofa/bench/right, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "tpG" = ( /obj/machinery/door/firedoor, /obj/effect/landmark/navigate_destination, @@ -63503,6 +64614,12 @@ /obj/item/key/janitor, /turf/open/floor/iron, /area/station/service/janitor) +"tqA" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance/two, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "tqQ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -63515,11 +64632,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"tqZ" = ( -/obj/machinery/door/firedoor, -/obj/machinery/biogenerator, -/turf/open/floor/iron, -/area/station/service/hydroponics) "trb" = ( /obj/structure/table, /obj/machinery/computer/security/telescreen{ @@ -63538,10 +64650,11 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/disposal) -"trl" = ( -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) +"tre" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "trm" = ( /turf/open/floor/plating, /area/station/science/ordnance/testlab) @@ -63562,6 +64675,13 @@ /obj/structure/disposalpipe/junction/flip, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"trQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "trT" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -63630,6 +64750,11 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/commons/storage/mining) +"tsR" = ( +/obj/structure/chair/stool/directional/south, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "ttb" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -63719,13 +64844,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"tux" = ( -/obj/structure/railing/corner, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "tuz" = ( /obj/structure/cable, /obj/structure/table, @@ -63769,6 +64887,27 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos) +"tvf" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/event_spawn, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) +"tvg" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "tvm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63781,6 +64920,12 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"tvq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tvv" = ( /obj/machinery/door/airlock/command/glass{ name = "Research Director" @@ -63806,11 +64951,6 @@ dir = 1 }, /area/station/engineering/engine_smes) -"tvI" = ( -/obj/structure/chair/sofa/corp/right, -/obj/machinery/light/directional/north, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "tvJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63900,16 +65040,11 @@ }, /turf/open/floor/iron/dark, /area/mine/laborcamp) -"twX" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 8 - }, -/obj/effect/mapping_helpers/mail_sorting/service/kitchen, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) +"twY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants/random/dead, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "twZ" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance, @@ -63981,6 +65116,11 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/engineering/atmos) +"tyg" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/structure/cable, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "tyi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63988,18 +65128,6 @@ /obj/machinery/light/floor, /turf/open/floor/carpet, /area/station/service/chapel) -"tyj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/sofa/left/brown{ - desc = "Hey, did you know you can get a pineapple on your burger here?"; - dir = 1; - name = "The Regular's Sofa" - }, -/obj/machinery/barsign/all_access/directional/south, -/turf/open/floor/stone, -/area/station/commons/lounge) "tyl" = ( /obj/structure/ladder, /obj/machinery/light/small/directional/north, @@ -64027,10 +65155,13 @@ }, /turf/open/floor/glass/reinforced, /area/station/engineering/atmos/pumproom) -"tza" = ( -/obj/structure/sink/directional/east, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) +"tzb" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tzf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64065,18 +65196,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"tAe" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/chem_dispenser/drinks{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/structure/table/wood, -/turf/open/floor/stone, -/area/station/service/bar) "tAg" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -64093,6 +65212,11 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/commons/storage/mining) +"tAv" = ( +/obj/structure/girder, +/obj/effect/spawner/random/structure/grille, +/turf/open/floor/plating, +/area/station/maintenance/fore) "tAx" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /obj/structure/disposalpipe/segment, @@ -64105,6 +65229,16 @@ dir = 4 }, /area/station/service/chapel) +"tAG" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) +"tAI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "tAL" = ( /obj/structure/table, /obj/machinery/light/small/directional/south, @@ -64138,11 +65272,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/engineering/atmos) -"tBN" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) "tBP" = ( /obj/machinery/light/small/directional/west, /obj/structure/sign/warning/secure_area/directional/west, @@ -64188,12 +65317,6 @@ /obj/structure/grille, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"tCs" = ( -/obj/structure/table, -/obj/item/book/manual/hydroponics_pod_people, -/obj/item/watertank, -/turf/open/floor/iron, -/area/station/service/hydroponics) "tCu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -64242,14 +65365,6 @@ }, /turf/open/floor/plating, /area/station/security/interrogation) -"tCT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "tCV" = ( /obj/machinery/camera/directional/west{ c_tag = "Security - Permabrig Observation Prep"; @@ -64266,6 +65381,15 @@ }, /turf/open/floor/iron, /area/station/engineering/storage_shared) +"tCY" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/dice{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/effect/spawner/random/entertainment/money_small, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "tDa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64297,13 +65421,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/brig/upper) -"tDv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "tDw" = ( /obj/machinery/suit_storage_unit/hos, /obj/structure/reagent_dispensers/wall/peppertank/directional/west, @@ -64323,6 +65440,16 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"tDF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/flashlight{ + pixel_y = 3; + pixel_x = -4 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "tDL" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ @@ -64337,6 +65464,23 @@ /obj/effect/landmark/start/lawyer, /turf/open/floor/wood, /area/station/security/courtroom) +"tDR" = ( +/obj/structure/disposalpipe/sorting/mail, +/obj/effect/mapping_helpers/mail_sorting/service/bar, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"tDS" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tDU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -64361,16 +65505,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/central) -"tEf" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/carpet, -/area/station/service/theater) "tEi" = ( /obj/structure/sink/directional/south, /turf/open/floor/iron, @@ -64446,13 +65580,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"tFf" = ( -/obj/structure/chair/plastic{ - dir = 0 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "tFs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -64548,9 +65675,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/laborcamp) -"tGZ" = ( -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "tHe" = ( /obj/structure/bodycontainer/morgue{ dir = 8 @@ -64575,6 +65699,15 @@ "tHr" = ( /turf/closed/wall/r_wall, /area/station/medical/treatment_center) +"tHt" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tHv" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /turf/open/floor/iron/white, @@ -64679,6 +65812,9 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) +"tIy" = ( +/turf/open/floor/stone, +/area/station/service/bar/atrium) "tIS" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -64696,13 +65832,6 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"tJb" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "tJi" = ( /obj/structure/bookcase{ name = "Holy Bookcase" @@ -64770,11 +65899,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_half, /area/station/security/office) -"tJP" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) "tJR" = ( /obj/structure/rack, /obj/item/tank/internals/oxygen, @@ -64828,6 +65952,31 @@ /obj/structure/chair/stool/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"tKO" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/button/door/directional/south{ + id = "minecraft_shutter"; + req_one_access = list("hydroponics", "kitchen"); + name = "Cart Access"; + desc = "Opens the railway leading into the Kitchen Coldroom." + }, +/obj/structure/minecart_rail/railbreak{ + dir = 4 + }, +/obj/structure/closet/crate/miningcar{ + name = "delivery cart"; + desc = "Used for quick transit of fresh produce to the kitchen. Just give it a shove." + }, +/obj/item/storage/bag/plants, +/turf/open/floor/iron, +/area/station/service/hydroponics) "tKV" = ( /obj/structure/table_frame, /obj/effect/decal/cleanable/glass, @@ -64951,6 +66100,15 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/virology, /turf/open/floor/plating, /area/station/medical/virology) +"tMv" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "tMD" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -65001,27 +66159,16 @@ /obj/effect/turf_decal/tile/dark/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/virology) +"tNt" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "tNx" = ( /obj/structure/cable, /obj/machinery/light/floor, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"tNA" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel Maintenance External Airlock"; - opacity = 0 - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/department/chapel) "tND" = ( /obj/effect/turf_decal/stripes/asteroid/corner{ dir = 4 @@ -65038,6 +66185,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"tNL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/fore) "tNY" = ( /obj/machinery/door/firedoor, /turf/open/floor/iron, @@ -65110,6 +66263,17 @@ /obj/item/trash/energybar, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tPj" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/biogenerator, +/turf/open/floor/iron, +/area/station/service/hydroponics) "tPz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/side{ @@ -65123,6 +66287,14 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) +"tPE" = ( +/obj/structure/sign/departments/botany/directional/east, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "tPG" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ dir = 4 @@ -65135,6 +66307,15 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central) +"tPI" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "tPV" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plating, @@ -65153,6 +66334,23 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"tQa" = ( +/obj/machinery/door/airlock{ + name = "Bar" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/bar) "tQb" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/plating/snowed/icemoon, @@ -65161,6 +66359,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/medical/storage) +"tQe" = ( +/obj/structure/table/wood/poker, +/obj/item/trash/candle{ + pixel_y = 3 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tQE" = ( /obj/effect/turf_decal/siding/brown/corner{ dir = 4 @@ -65198,19 +66403,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"tRA" = ( -/obj/machinery/door/airlock{ - name = "Bar" +"tRM" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 }, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/cup/watering_can, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"tRQ" = ( +/obj/structure/aquarium/lawyer, +/turf/open/floor/wood, +/area/station/service/lawoffice) "tRX" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -65275,6 +66482,13 @@ /obj/structure/chair, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"tTS" = ( +/obj/structure/table, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "tTV" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -65311,6 +66525,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/science/ordnance) +"tUt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "tUx" = ( /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/plating, @@ -65367,27 +66589,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/open/floor/iron, /area/station/command/bridge) -"tUS" = ( -/obj/structure/ladder{ - name = "Cold Room Access" - }, -/obj/machinery/door/window/left/directional/north{ - desc = "Get down to the Ice Box using this."; - name = "Freezer Access"; - req_access = list("kitchen") - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/stripes{ - dir = 1 - }, -/obj/effect/turf_decal/tile/dark_blue/diagonal_edge, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/structure/sign/warning/cold_temp/directional/south, -/obj/structure/sign/warning/gas_mask/directional/east, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "tUV" = ( /obj/structure/railing{ dir = 8 @@ -65428,6 +66629,11 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron/white, /area/station/medical/cryo) +"tVD" = ( +/obj/effect/spawner/random/vending/colavend, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "tWc" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/spawner/random/trash/soap, @@ -65474,15 +66680,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/mine/mechbay) -"tWD" = ( -/obj/machinery/microwave{ - desc = "Turn it on and you'll immediately get warmer! Warranty void if left in weather conditions."; - name = "Emergency Heating Appliance"; - pixel_y = 5 - }, -/obj/structure/table, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "tWK" = ( /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, @@ -65569,6 +66766,13 @@ }, /turf/open/floor/iron/dark, /area/station/science/server) +"tYf" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tYz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65648,6 +66852,12 @@ /obj/structure/sign/poster/official/build/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/lobby) +"tZQ" = ( +/obj/structure/table/wood, +/obj/item/c_tube, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tZR" = ( /obj/machinery/conveyor{ dir = 4; @@ -65672,16 +66882,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/ai_upload, /turf/open/floor/iron/dark/textured_large, /area/station/ai_monitored/turret_protected/ai_upload) -"uac" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/commons/lounge) "uah" = ( /obj/machinery/light_switch/directional/west, /obj/structure/cable, @@ -65732,6 +66932,11 @@ /obj/machinery/rnd/experimentor, /turf/open/floor/engine, /area/station/science/explab) +"uaZ" = ( +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "ubc" = ( /obj/structure/table, /obj/machinery/recharger{ @@ -65745,10 +66950,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"ubd" = ( -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "ubk" = ( /obj/structure/cable, /turf/open/floor/iron/white, @@ -65871,6 +67072,21 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"udH" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "udK" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -65969,6 +67185,17 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"ufg" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/cup/watering_can, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "ufm" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -66080,10 +67307,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"uhk" = ( -/obj/structure/beebox, -/turf/open/floor/grass, -/area/station/service/hydroponics) "uhs" = ( /obj/structure/railing/corner, /obj/machinery/camera/directional/south{ @@ -66103,6 +67326,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"uhu" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "uhx" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -66134,6 +67363,19 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"uhO" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/item/seeds/watermelon, +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/station/maintenance/starboard/fore) +"uhR" = ( +/obj/effect/spawner/random/trash/moisture_trap, +/obj/item/reagent_containers/cup/bucket, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "uhX" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -66180,11 +67422,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"uiw" = ( -/obj/machinery/vending/wardrobe/hydro_wardrobe, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plating, -/area/station/service/hydroponics) "uiF" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -66215,6 +67452,15 @@ }, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"ujn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/cup/bucket{ + pixel_y = 10; + pixel_x = -4 + }, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ujp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/engine, @@ -66280,19 +67526,6 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) -"ukw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "ukz" = ( /obj/machinery/duct, /obj/structure/disposalpipe/segment{ @@ -66402,15 +67635,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"umv" = ( -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "umz" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -66442,17 +67666,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/lobby) -"umS" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/service/bar) "una" = ( /obj/machinery/door/window/left/directional/west, /obj/structure/cable, @@ -66530,6 +67743,11 @@ dir = 8 }, /area/mine/eva) +"unY" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/generic/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "uog" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -66559,13 +67777,6 @@ }, /turf/open/floor/iron/textured, /area/station/engineering/atmos) -"uoz" = ( -/obj/machinery/door/airlock/multi_tile/public/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/turf/open/floor/iron/textured_half, -/area/station/service/hydroponics) "uoB" = ( /obj/structure/disposalpipe/junction/yjunction{ dir = 1 @@ -66683,6 +67894,19 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"upW" = ( +/obj/machinery/light_switch/directional/east, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/closet/secure_closet/freezer/kitchen, +/obj/item/food/grown/tomato, +/obj/item/food/grown/tomato{ + pixel_y = 2; + pixel_x = 2 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "upY" = ( /obj/structure/chair/pew/right, /obj/machinery/light/small/directional/east, @@ -66698,23 +67922,36 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"uql" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "uqn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron, /area/station/cargo/storage) +"uqx" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "uqz" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/eva/lower) -"uqB" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/effect/turf_decal/tile/blue/diagonal_edge, -/obj/item/radio/intercom/directional/west, -/obj/machinery/vending/dinnerware, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) +"uqE" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "uqG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -66787,6 +68024,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/research) +"usa" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "uso" = ( /obj/structure/closet/crate/trashcart, /obj/effect/spawner/random/contraband/prison, @@ -66809,11 +68055,25 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"usI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) +"usF" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "usP" = ( /turf/open/misc/asteroid/snow/standard_air, /area/station/science/research) @@ -66831,6 +68091,17 @@ dir = 10 }, /area/station/security/prison/safe) +"usY" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "utr" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical{ @@ -66854,6 +68125,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"utP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/duct, +/obj/structure/sign/warning/cold_temp/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "utR" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -66914,6 +68195,15 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"uuN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "uuP" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -66957,6 +68247,23 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/hallway) +"uwd" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"uwi" = ( +/obj/structure/table, +/obj/item/storage/bag/tray, +/obj/item/knife/kitchen{ + pixel_y = 2 + }, +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "uwj" = ( /obj/machinery/duct, /obj/structure/disposalpipe/segment, @@ -66964,6 +68271,13 @@ dir = 1 }, /area/station/engineering/lobby) +"uwv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "uwB" = ( /obj/machinery/door/airlock/security/glass{ id_tag = "innerbrig"; @@ -66980,6 +68294,15 @@ dir = 8 }, /area/station/security/brig/entrance) +"uwG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "uwH" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -67010,6 +68333,15 @@ /obj/effect/mapping_helpers/airlock/access/all/service/janitor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"uwP" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "uxd" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 @@ -67020,6 +68352,10 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"uxi" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/fore) "uxj" = ( /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/white/side{ @@ -67065,6 +68401,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"uyo" = ( +/obj/machinery/smartfridge, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "uyq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67115,11 +68455,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms/laundry) -"uzc" = ( -/obj/effect/decal/cleanable/food/flour, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar/backroom) "uzd" = ( /obj/structure/rack, /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp{ @@ -67150,6 +68485,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"uzD" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/item/aquarium_kit, +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "uzM" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 @@ -67216,31 +68559,17 @@ "uBi" = ( /turf/closed/wall, /area/station/ai_monitored/turret_protected/ai) -"uBn" = ( -/obj/effect/landmark/blobstart, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "uBs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) -"uBt" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) +"uBu" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/decoration/ornament, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "uBy" = ( /obj/structure/flora/grass/brown/style_random, /obj/structure/railing{ @@ -67349,6 +68678,16 @@ /obj/structure/grille/broken, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"uCT" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) "uCU" = ( /obj/machinery/button/flasher{ id = "executionflash"; @@ -67365,6 +68704,13 @@ /obj/machinery/door/window/left/directional/south, /turf/open/floor/plating/icemoon, /area/station/security/execution/education) +"uCY" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/structure/fence/cut/large{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "uDc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67431,6 +68777,12 @@ /obj/structure/table/wood, /turf/open/floor/iron/dark, /area/station/security/prison/rec) +"uDz" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/computer/security/telescreen/entertainment/directional/south, +/turf/open/floor/iron, +/area/station/commons/dorms) "uDC" = ( /obj/structure/table/wood, /obj/machinery/airalarm/directional/north, @@ -67455,13 +68807,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/iron/white, /area/station/medical/virology) -"uDV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/service/hydroponics) "uDW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67491,12 +68836,6 @@ /obj/structure/closet/crate, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"uEE" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "uEI" = ( /obj/structure/railing/corner{ dir = 4 @@ -67524,11 +68863,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/processing) -"uFg" = ( -/obj/structure/railing, -/obj/structure/marker_beacon/cerulean, -/turf/open/genturf, -/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) "uFh" = ( /turf/open/floor/plating, /area/station/construction) @@ -67553,27 +68887,6 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) -"uFW" = ( -/obj/item/stack/package_wrap{ - pixel_x = 10; - pixel_y = -6 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar/backroom) -"uGa" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/dorms) "uGl" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67583,6 +68896,11 @@ }, /turf/open/floor/iron, /area/station/tcommsat/computer) +"uGn" = ( +/obj/machinery/status_display/ai/directional/east, +/obj/structure/chair/sofa/left/brown, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "uGo" = ( /obj/structure/disposaloutlet{ dir = 8 @@ -67610,6 +68928,13 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"uGS" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "uGT" = ( /obj/machinery/light/directional/east, /obj/item/radio/intercom/directional/east, @@ -67618,13 +68943,10 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/engineering/main) -"uHa" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/service/theater) +"uGW" = ( +/obj/effect/spawner/random/structure/tank_holder, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "uHc" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -67769,11 +69091,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/white, /area/station/medical/cryo) -"uKr" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "uKx" = ( /obj/structure/closet, /obj/item/clothing/suit/hooded/wintercoat{ @@ -67799,6 +69116,37 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) +"uKK" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/seeds/tower, +/obj/item/seeds/chanter{ + pixel_y = 3; + pixel_x = 3 + }, +/obj/item/seeds/watermelon{ + pixel_y = -6; + pixel_x = 3 + }, +/obj/item/seeds/apple{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/seeds/banana, +/obj/item/seeds/rose{ + pixel_y = -3; + pixel_x = -4 + }, +/obj/structure/noticeboard/directional/west, +/obj/item/paper/guides/jobs/hydroponics{ + pixel_y = 3; + pixel_x = -27 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "uKM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -67825,6 +69173,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"uKQ" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/box/red/corners{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "uKW" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -67834,6 +69189,19 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/supermatter) +"uLl" = ( +/obj/item/clothing/accessory/pocketprotector, +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/camera{ + pixel_y = 4; + pixel_x = -3 + }, +/obj/effect/spawner/random/clothing/mafia_outfit, +/obj/effect/spawner/random/clothing/mafia_outfit, +/obj/effect/spawner/random/clothing/backpack, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "uLp" = ( /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/preopen{ @@ -67862,15 +69230,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"uLU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "uLX" = ( /obj/machinery/door/airlock{ name = "Port Emergency Storage" @@ -67896,10 +69255,6 @@ }, /turf/open/floor/iron/dark, /area/mine/storage) -"uMu" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/hallway/primary/starboard) "uMx" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -67968,21 +69323,18 @@ /obj/item/trash/raisins, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"uNA" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "uNE" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/hallway) +"uNL" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/computer/slot_machine{ + name = "two-armed bandit" + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "uNV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/wideplating/dark{ @@ -68065,14 +69417,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"uOH" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/restaurant_portal/restaurant, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "uOL" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -68084,16 +69428,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"uOS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "uOW" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/landmark/start/paramedic, @@ -68202,10 +69536,6 @@ }, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"uQY" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/carpet, -/area/station/service/theater) "uRi" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -68247,14 +69577,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"uRz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/obj/machinery/light/small/directional/east, -/turf/open/floor/stone, -/area/station/commons/lounge) "uRL" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/light/directional/north, @@ -68262,6 +69584,11 @@ dir = 10 }, /area/station/science/research) +"uRP" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/solars/starboard/fore) "uRV" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 5 @@ -68325,6 +69652,15 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"uTm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "uTo" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68371,11 +69707,6 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"uTN" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/flora/bush/jungle/a/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "uTX" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/item/kirbyplants/random, @@ -68399,6 +69730,12 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"uUG" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "uUH" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer1{ dir = 10 @@ -68408,12 +69745,6 @@ "uUT" = ( /turf/closed/wall, /area/mine/mechbay) -"uUV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "uVj" = ( /obj/effect/turf_decal/arrows/white, /obj/effect/turf_decal/stripes/line{ @@ -68421,20 +69752,6 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"uVn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/tile/red/half{ - dir = 4 - }, -/turf/open/floor/iron/half{ - dir = 1 - }, -/area/station/hallway/secondary/service) "uVp" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "MiniSat Maintenance" @@ -68448,6 +69765,12 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron/dark/textured, /area/station/security/warden) +"uVB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "uVC" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, @@ -68467,13 +69790,6 @@ /obj/structure/sign/warning/secure_area, /turf/closed/wall, /area/station/maintenance/aft/greater) -"uWv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "uWw" = ( /obj/structure/railing/corner{ dir = 1 @@ -68504,14 +69820,12 @@ initial_gas_mix = "ICEMOON_ATMOS" }, /area/icemoon/underground/explored) -"uXm" = ( -/obj/structure/chair{ - desc = "Aw geez, I wonder what the chef's cooking up in there!"; - dir = 1; - name = "The Peanut's Gallery" +"uXu" = ( +/obj/machinery/power/terminal{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "uXy" = ( /obj/machinery/light_switch/directional/east, /obj/structure/table, @@ -68605,6 +69919,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"uZd" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "uZn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68623,11 +69942,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/service) -"uZL" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) "uZT" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -68714,6 +70028,9 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/library) +"vaH" = ( +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/starboard/fore) "vaM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted, @@ -68741,17 +70058,6 @@ dir = 1 }, /area/station/medical/chemistry) -"vbb" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red/full, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) "vbd" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/arrows/white{ @@ -68774,15 +70080,6 @@ /obj/structure/cable, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"vbz" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vbC" = ( /obj/structure/chair{ dir = 4 @@ -68821,6 +70118,13 @@ dir = 1 }, /area/station/engineering/atmos) +"vbT" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "vbX" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -68843,13 +70147,6 @@ "vcj" = ( /turf/closed/wall/r_wall, /area/mine/storage) -"vco" = ( -/obj/machinery/door/window/left/directional/west{ - name = "Fitness Ring" - }, -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "vcH" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 9 @@ -68869,6 +70166,9 @@ /obj/machinery/vending/wardrobe/chap_wardrobe, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"vcW" = ( +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/fore) "vcY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68925,16 +70225,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/service) -"vdI" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "vdM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68985,18 +70275,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/maintenance/aft/greater) +"vex" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "Bar and Kitchen" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured, +/area/station/maintenance/starboard/fore) "vey" = ( /turf/closed/wall, /area/station/command/heads_quarters/captain) "veK" = ( /turf/open/floor/iron/white, /area/mine/living_quarters) -"veL" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "veN" = ( /obj/machinery/vending/modularpc, /obj/effect/turf_decal/bot, @@ -69140,6 +70438,17 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/service/chapel) +"vhn" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/machinery/reagentgrinder{ + pixel_y = 9; + pixel_x = 4 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "vhB" = ( /obj/structure/chair/plastic, /obj/effect/turf_decal/bot_red, @@ -69207,6 +70516,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/construction) +"vjf" = ( +/obj/structure/table/wood, +/obj/item/circuitboard/machine/fax, +/obj/structure/frame/machine, +/obj/item/stack/cable_coil/five, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "vjh" = ( /turf/closed/wall/r_wall, /area/mine/laborcamp) @@ -69229,6 +70545,14 @@ /obj/machinery/telecomms/server/presets/engineering, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"vjH" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash/botanical_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "vjJ" = ( /obj/structure/table, /obj/machinery/light/directional/north, @@ -69240,6 +70564,11 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/cargo/storage) +"vjO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "vjS" = ( /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron/white, @@ -69248,12 +70577,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"vkg" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +"vkh" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/security/general, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vkz" = ( /obj/machinery/suit_storage_unit/ce, /obj/effect/turf_decal/stripes/line{ @@ -69286,6 +70618,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"vkI" = ( +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vkJ" = ( /obj/structure/table, /obj/item/plate, @@ -69328,26 +70664,22 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"vlq" = ( -/obj/effect/turf_decal/siding/white{ +"vlH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Holodeck Door" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "holodeck" + }, +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/chair, -/obj/effect/turf_decal/tile/red/full, -/obj/structure/sign/poster/random/directional/west, -/turf/open/floor/iron/large, -/area/station/service/kitchen/diner) -"vlI" = ( -/obj/effect/turf_decal/siding/white{ +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) +/turf/open/floor/iron/textured, +/area/station/commons/fitness) "vlL" = ( /obj/machinery/computer/cargo/request, /turf/open/floor/iron, @@ -69356,12 +70688,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) -"vlP" = ( -/obj/structure/disposalpipe/segment{ +"vlR" = ( +/obj/effect/turf_decal/siding/white{ dir = 4 }, -/turf/open/floor/wood/tile, -/area/station/service/theater) +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "vlS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/external{ @@ -69378,6 +70710,12 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/smooth, /area/mine/mechbay) +"vlT" = ( +/obj/structure/marker_beacon/burgundy, +/obj/structure/fluff/fokoff_sign, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "vlZ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -69480,6 +70818,10 @@ }, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"vmW" = ( +/obj/structure/chair/stool/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "vng" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69493,6 +70835,13 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) +"vnn" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "vns" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69576,6 +70925,13 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/brig/upper) +"voF" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "voH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69586,14 +70942,16 @@ "voK" = ( /turf/closed/wall/r_wall, /area/station/tcommsat/computer) -"voM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"voN" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, -/area/station/hallway/secondary/service) +/area/station/hallway/primary/starboard) "voY" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -69687,15 +71045,13 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/science/ordnance) -"vqD" = ( -/obj/machinery/door/airlock{ - name = "Hydroponics Backroom" +"vqE" = ( +/obj/structure/sign/nanotrasen, +/obj/structure/fence/post{ + dir = 8 }, -/obj/machinery/door/firedoor, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/turf/open/floor/iron/textured_half, -/area/station/service/hydroponics) +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "vqH" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -69704,6 +71060,15 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, /area/station/medical/virology) +"vqL" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/structure/sign/poster/official/random/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "vqN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69751,6 +71116,12 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"vrE" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "vrG" = ( /turf/open/floor/iron, /area/station/security/prison/mess) @@ -69776,6 +71147,12 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"vsl" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "vsp" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/stripes/red/line{ @@ -69829,6 +71206,13 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"vtb" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/commons/lounge) "vtj" = ( /obj/machinery/air_sensor/carbon_tank, /turf/open/floor/engine/co2, @@ -69859,6 +71243,14 @@ dir = 10 }, /area/station/science/research) +"vtP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vtZ" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/glass/bottle/vodka/badminka{ @@ -69923,10 +71315,11 @@ /obj/structure/sign/warning/fire, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) -"vuN" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood/tile, -/area/station/service/theater) +"vuL" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "vuR" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/effect/turf_decal/trimline/yellow/filled/warning{ @@ -69935,6 +71328,11 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"vuV" = ( +/obj/item/stack/rods/two, +/obj/item/stack/sheet/iron, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "vvc" = ( /obj/structure/cable, /turf/open/floor/iron/smooth_half, @@ -69985,6 +71383,19 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) +"vvA" = ( +/obj/structure/table, +/obj/machinery/light/small/dim/directional/west, +/obj/item/camera{ + pixel_y = 9; + pixel_x = -2 + }, +/obj/item/reagent_containers/cup/glass/waterbottle/empty{ + pixel_y = 5; + pixel_x = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "vvE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70115,6 +71526,11 @@ }, /turf/open/floor/iron/dark, /area/station/command/gateway) +"vxb" = ( +/obj/machinery/door/airlock/hatch, +/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vxc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70144,19 +71560,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"vxx" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: EXTERNAL AIRLOCK"; - pixel_y = 32 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "vxO" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/wood, @@ -70173,6 +71576,11 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/iron/large, /area/station/engineering/atmos) +"vxW" = ( +/obj/machinery/light/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "vyb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -70196,16 +71604,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/processing) -"vyj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Service - Electrical Maintenace Lower" - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/lesser) "vym" = ( /turf/closed/wall, /area/station/construction) @@ -70248,6 +71646,11 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"vzk" = ( +/obj/structure/bonfire/prelit, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "vzn" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/external, @@ -70276,6 +71679,22 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"vzz" = ( +/obj/machinery/newscaster/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "vzD" = ( /turf/closed/wall, /area/station/maintenance/starboard/aft) @@ -70294,6 +71713,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/cryo) +"vzR" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "vzS" = ( /obj/effect/mapping_helpers/mail_sorting/science/experimentor_lab, /obj/structure/disposalpipe/sorting/mail{ @@ -70497,6 +71922,16 @@ "vBG" = ( /turf/closed/wall, /area/station/command/heads_quarters/cmo) +"vCm" = ( +/obj/structure/closet/secure_closet/hydroponics, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/newscaster/directional/south, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "vCn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70510,6 +71945,22 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) +"vCw" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/obj/structure/rack, +/obj/item/pickaxe, +/obj/item/toy/figure/chef, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Coldroom" + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "vCy" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -70529,6 +71980,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"vCI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "vCK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70582,16 +72042,28 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"vEi" = ( +"vDz" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Apiary" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Holodeck Door" +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "holodeck" - }, -/turf/open/floor/iron, -/area/station/commons/fitness) +/area/station/service/hydroponics) +"vEk" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/solars/starboard/fore) "vEw" = ( /obj/machinery/camera/directional/west{ c_tag = "Atmospherics Access" @@ -70608,6 +72080,14 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"vEI" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/service/bar) "vEJ" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -70646,6 +72126,13 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) +"vEX" = ( +/obj/structure/table/wood, +/obj/item/instrument/saxophone, +/obj/item/instrument/piano_synth, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/grimy, +/area/station/commons/lounge) "vFb" = ( /obj/structure/table/wood, /obj/item/clothing/mask/cigarette/cigar{ @@ -70659,6 +72146,12 @@ /obj/structure/falsewall, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"vFj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "vFq" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -70728,6 +72221,10 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"vGP" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood, +/area/station/commons/lounge) "vGY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70760,6 +72257,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"vHw" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Garden" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "vHA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -70832,6 +72338,12 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) +"vIn" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "vIH" = ( /obj/structure/closet{ name = "evidence closet 1" @@ -70868,11 +72380,6 @@ }, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"vJL" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "vJS" = ( /obj/structure/chair/sofa/corp/right{ dir = 4; @@ -70901,53 +72408,12 @@ /obj/machinery/vending/security, /turf/open/floor/iron/smooth_edge, /area/station/security/lockers) -"vKn" = ( -/obj/item/radio/intercom/directional/north, -/obj/structure/table/wood, -/obj/machinery/fax{ - fax_name = "Service Hallway"; - name = "Service Fax Machine" - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "vKq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/locker) -"vKC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/wood{ - name = "Bar" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/bar/backroom) -"vKE" = ( -/obj/machinery/computer/holodeck, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) -"vKG" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Holodeck Control" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "vLj" = ( /obj/machinery/suit_storage_unit/rd, /obj/effect/turf_decal/stripes/line{ @@ -70956,29 +72422,11 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/smooth_half, /area/station/command/heads_quarters/rd) -"vLk" = ( -/obj/structure/sign/warning/gas_mask, -/turf/closed/wall, -/area/station/maintenance/starboard/fore) -"vLn" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Service Hallway - Upper East" - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "vLo" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"vLx" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "vMa" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/south, @@ -71028,17 +72476,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"vMq" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/holopad, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "vMA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable/layer3, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) +"vMF" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "vMN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -71047,11 +72494,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/aft/greater) -"vMR" = ( -/obj/structure/table/glass, -/obj/item/seeds/glowshroom, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "vMY" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -71096,11 +72538,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron_dark, /area/station/maintenance/port/fore) -"vNM" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 +"vOq" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 }, -/turf/open/floor/plating/snowed/smoothed/icemoon, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) "vOw" = ( /obj/item/kirbyplants/random, @@ -71126,6 +72569,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"vPd" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "vPh" = ( /obj/machinery/light/directional/north, /obj/machinery/digital_clock/directional/north, @@ -71181,6 +72630,15 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron, /area/station/cargo/miningdock) +"vQn" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "vQp" = ( /obj/machinery/research/anomaly_refinery, /turf/open/floor/iron/dark, @@ -71199,14 +72657,6 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/mining) -"vQN" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/firealarm/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "vQO" = ( /obj/machinery/camera/directional/east{ c_tag = "Locker Room Toilets" @@ -71243,12 +72693,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"vRE" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "vRN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71288,6 +72732,18 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"vRX" = ( +/obj/machinery/door/morgue{ + req_access = list("bar") + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "vRY" = ( /obj/structure/railing/corner{ dir = 4 @@ -71303,23 +72759,22 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"vSe" = ( +/obj/structure/table/wood/poker, +/obj/item/storage/wallet/random, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "vSi" = ( /turf/closed/wall, /area/mine/eva) -"vSr" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Service Hall Maintenance" +"vSn" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "vSw" = ( /obj/structure/table, /obj/machinery/firealarm/directional/north, @@ -71386,6 +72841,16 @@ }, /turf/open/floor/iron/dark, /area/station/medical/storage) +"vTa" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "vTb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71404,6 +72869,11 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"vTl" = ( +/obj/structure/chair/wood, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "vTo" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 1 @@ -71418,11 +72888,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"vTA" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/commons/dorms) "vTJ" = ( /obj/structure/table, /obj/item/toy/plush/slimeplushie{ @@ -71450,14 +72915,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"vUi" = ( -/obj/structure/sign/picture_frame/portrait/bar{ - pixel_y = -32 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "vUr" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -71476,6 +72933,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"vUJ" = ( +/obj/machinery/door/airlock{ + name = "Unisex Showers" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "vUW" = ( /obj/item/stack/cable_coil{ amount = 7; @@ -71490,15 +72957,6 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"vVh" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner, -/obj/structure/cable, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "vVj" = ( /obj/effect/turf_decal/bot_white/left, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -71566,21 +73024,31 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/chemistry, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"vWn" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/item/radio/intercom/directional/east, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Atrium" + }, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/wood/large, +/area/station/service/bar/atrium) "vWo" = ( /obj/machinery/light_switch/directional/north, /obj/structure/cable, /turf/open/floor/iron, /area/station/science/explab) +"vWq" = ( +/obj/structure/table/wood, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "vWr" = ( /turf/open/floor/engine, /area/station/engineering/supermatter/room) "vWz" = ( /turf/closed/wall, /area/mine/storage) -"vWB" = ( -/obj/effect/spawner/random/vending/colavend, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "vWL" = ( /obj/structure/chair{ dir = 1; @@ -71629,6 +73097,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"vXk" = ( +/obj/structure/falsewall, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "vXn" = ( /obj/structure/table, /obj/item/food/pie/cream, @@ -71669,31 +73141,10 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/mine/living_quarters) -"vXO" = ( -/obj/structure/fluff/tram_rail, -/obj/structure/lattice/catwalk, -/obj/structure/fluff/tram_rail{ - pixel_y = 17 - }, -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/turf/open/lava/plasma/ice_moon, -/area/icemoon/underground/explored) "vXU" = ( /obj/item/toy/snowball, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"vXY" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external, -/turf/open/floor/plating, -/area/station/maintenance/fore) "vYa" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/delivery, @@ -71776,10 +73227,6 @@ }, /turf/open/floor/iron/large, /area/station/engineering/lobby) -"vYN" = ( -/obj/effect/spawner/random/structure/crate, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "vZa" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -71830,6 +73277,12 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/security/detectives_office) +"vZQ" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/cigarette_pack, +/obj/effect/spawner/random/entertainment/lighter, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "vZS" = ( /obj/structure/rack, /turf/open/floor/iron/smooth, @@ -71844,10 +73297,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/station/maintenance/port/aft) -"vZY" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "wab" = ( /obj/structure/cable, /obj/machinery/holopad, @@ -71878,6 +73327,16 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"waz" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "waH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71958,6 +73417,16 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/mine/eva/lower) +"wbK" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/fore) "wbN" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -71986,13 +73455,6 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"wbZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/multilayer/multiz, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "wck" = ( /obj/structure/chair{ dir = 8 @@ -72056,6 +73518,12 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"wdp" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "wds" = ( /obj/structure/chair/stool/directional/west, /obj/machinery/light/small/directional/south, @@ -72089,6 +73557,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"wdT" = ( +/obj/machinery/vending/boozeomat, +/turf/open/floor/iron, +/area/station/service/bar) "weg" = ( /obj/structure/sign/warning/gas_mask/directional/south{ desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." @@ -72118,16 +73590,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"weY" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/machinery/reagentgrinder{ - pixel_y = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "wfc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron_dark, @@ -72319,35 +73781,30 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"whl" = ( -/obj/machinery/door/airlock/external, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." +"whi" = ( +/obj/structure/sink/kitchen/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "chem-morgue-airlock" +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/medical/morgue) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "whr" = ( /obj/machinery/hydroponics/soil, /obj/item/cultivator, /turf/open/floor/grass, /area/station/security/prison/garden) -"whu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/duct, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) +"wht" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/requests_console/auto_name/directional/south, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "whz" = ( /obj/machinery/hydroponics/constructable, /obj/effect/decal/cleanable/dirt, @@ -72404,6 +73861,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"wiy" = ( +/obj/machinery/camera{ + c_tag = "Starboard Primary Hallway Center East" + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "wiz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72470,6 +73934,12 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) +"wki" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/dorms) "wkl" = ( /obj/machinery/camera/directional/west{ c_tag = "Telecomms Server Room"; @@ -72477,11 +73947,6 @@ }, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"wkq" = ( -/obj/machinery/airalarm/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "wkr" = ( /turf/open/floor/iron/showroomfloor, /area/station/security/warden) @@ -72573,6 +74038,19 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) +"wlv" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/reagent_dispensers/plumbed{ + name = "dormitory reservoir" + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/fore) "wlz" = ( /obj/structure/filingcabinet, /turf/open/floor/iron/dark, @@ -72585,23 +74063,6 @@ /obj/structure/closet/boxinggloves, /turf/open/floor/iron, /area/station/security/prison/workout) -"wlT" = ( -/obj/structure/table, -/obj/item/toy/figure/virologist{ - pixel_x = -8; - pixel_y = 7 - }, -/obj/item/radio/headset/headset_med{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/item/book/manual/wiki/infections{ - pixel_x = 10; - pixel_y = 2 - }, -/obj/effect/turf_decal/tile/green/full, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/virology) "wlW" = ( /obj/item/radio/intercom/directional/south, /obj/machinery/computer/robotics{ @@ -72686,6 +74147,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/bridge) +"wng" = ( +/obj/effect/landmark/start/botanist, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/service/hydroponics) "wnm" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/table/reinforced, @@ -72701,11 +74171,6 @@ /mob/living/basic/pet/penguin/baby/permanent, /turf/open/misc/asteroid/snow/standard_air, /area/station/science/research) -"wnq" = ( -/obj/item/paper/fluff/jobs/security/beepsky_mom, -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/fore) "wnv" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -72764,6 +74229,21 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/brig) +"woi" = ( +/obj/structure/minecart_rail{ + dir = 10 + }, +/obj/structure/cable, +/obj/structure/sign/warning/directional/south, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) +"wok" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "wol" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/extinguisher_cabinet/directional/east, @@ -72788,6 +74268,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"woB" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "woC" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/structure/sign/poster/official/safety_eye_protection/directional/south, @@ -72810,6 +74301,10 @@ }, /turf/open/openspace/icemoon/keep_below, /area/icemoon/underground/explored) +"woQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/fore) "woU" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -72840,6 +74335,14 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) +"wpk" = ( +/obj/structure/table/wood, +/obj/item/clothing/mask/fakemoustache, +/obj/item/clothing/mask/cigarette/pipe, +/obj/item/clothing/glasses/monocle, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "wpp" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/pipedispenser/disposal, @@ -72890,17 +74393,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) -"wpV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light_switch/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/fitness) "wpY" = ( /obj/effect/mapping_helpers/airlock/abandoned, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -73012,6 +74504,10 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) +"wrw" = ( +/obj/machinery/light/cold/directional/east, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "wrA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -73034,6 +74530,14 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"wrG" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/landmark/start/cook, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "wrN" = ( /obj/structure/sign/departments/court/directional/north, /turf/open/openspace, @@ -73061,6 +74565,26 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) +"wsr" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/door/airlock{ + name = "Bar" + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/bar) "wsu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, @@ -73113,13 +74637,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"wtb" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "wtg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/structure/cable, @@ -73173,15 +74690,13 @@ }, /turf/open/floor/carpet, /area/station/security/processing) -"wun" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 +"wuk" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 }, -/obj/item/pai_card, -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, -/area/station/service/bar) +/area/station/service/hydroponics) "wuo" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter) @@ -73234,26 +74749,6 @@ /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/iron, /area/station/engineering/lobby) -"wvb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/atrium) -"wvc" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) "wve" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/white, @@ -73414,14 +74909,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/cargo/warehouse) -"wxr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "wxw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -73508,17 +74995,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"wyQ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/multi_tile/public/glass{ - name = "The Girly Boar" - }, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/atrium) "wzc" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -73598,6 +75074,10 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/engineering/atmos) +"wAI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wAQ" = ( /obj/machinery/computer/shuttle/labor/one_way{ dir = 4 @@ -73685,12 +75165,6 @@ }, /turf/closed/wall, /area/station/cargo/sorting) -"wBR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "wBT" = ( /obj/machinery/camera/directional/south{ c_tag = "Port Hallway Center" @@ -73828,16 +75302,17 @@ }, /turf/open/floor/iron/dark, /area/mine/laborcamp) -"wDB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/lesser) "wDG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/mine/storage) +"wDH" = ( +/obj/structure/bed/dogbed, +/obj/effect/decal/cleanable/blood/gibs/body, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "wDI" = ( /obj/effect/spawner/random/trash/moisture_trap, /obj/effect/mapping_helpers/broken_floor, @@ -73863,13 +75338,14 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) -"wEa" = ( -/obj/structure/sign/painting/library{ - pixel_y = 32 +"wDZ" = ( +/obj/effect/spawner/random/structure/musician/piano/random_piano, +/obj/machinery/button/curtain{ + id = "cantena_curtains"; + pixel_x = -30 }, -/obj/structure/table, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) +/turf/open/floor/wood, +/area/station/commons/lounge) "wEh" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -73938,6 +75414,15 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"wFJ" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Service - Electrical Maintenace Upper" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/fore) "wFN" = ( /mob/living/basic/slime, /turf/open/floor/engine, @@ -73949,6 +75434,18 @@ }, /turf/open/floor/carpet, /area/station/service/library) +"wFS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"wFU" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "wFX" = ( /obj/machinery/computer/telecomms/server{ dir = 4; @@ -73971,6 +75468,14 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/engine, /area/station/science/explab) +"wGq" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/light/floor, +/turf/open/floor/wood, +/area/station/commons/lounge) "wGv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -74078,6 +75583,26 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) +"wHP" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) +"wHV" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/beer, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "wIg" = ( /obj/machinery/mech_bay_recharge_port{ dir = 2 @@ -74096,12 +75621,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/commons/dorms) -"wIF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/directional/west, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) +"wII" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "wIR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -74117,18 +75644,6 @@ /obj/effect/decal/remains/plasma, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"wJe" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/carpet, -/area/station/service/theater) -"wJf" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "wJi" = ( /obj/structure/railing{ dir = 4 @@ -74183,14 +75698,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/closed/wall/r_wall, /area/station/science/ordnance) -"wKm" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "wKv" = ( /obj/structure/table, /obj/item/radio/off, @@ -74222,6 +75729,13 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/wood, /area/station/service/library) +"wLa" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "wLk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers, /obj/machinery/portable_atmospherics/canister/carbon_dioxide, @@ -74241,6 +75755,17 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"wLN" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "wLO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -74324,6 +75849,19 @@ dir = 9 }, /area/station/science/research) +"wMs" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/multi_tile/public/glass{ + name = "Atrium" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/navigate_destination/kitchen, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/atrium) "wMt" = ( /turf/closed/wall, /area/station/hallway/primary/central/fore) @@ -74351,11 +75889,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/commons/storage/mining) -"wMP" = ( -/obj/item/food/chococoin, -/obj/structure/closet/secure_closet/freezer/fridge, -/turf/open/misc/ice/coldroom, -/area/station/service/kitchen/coldroom) "wMT" = ( /obj/structure/sign/poster/random/directional/south, /turf/open/floor/iron, @@ -74395,17 +75928,6 @@ "wNO" = ( /turf/open/genturf, /area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) -"wNQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/structure/desk_bell{ - pixel_y = 10 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "wNR" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -74428,16 +75950,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/security/processing) -"wOh" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/machinery/light/floor, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "wOn" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -74512,6 +76024,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/storage) +"wPo" = ( +/obj/machinery/modular_computer/preset/civilian, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "wPr" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -74559,12 +76075,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/white, /area/station/medical/storage) -"wPZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/fore) "wQh" = ( /obj/structure/railing{ dir = 4 @@ -74606,11 +76116,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"wQI" = ( -/obj/structure/closet, -/obj/effect/spawner/random/maintenance/four, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "wQR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -74703,6 +76208,16 @@ /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/station/medical/chemistry) +"wRS" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Garden" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "wSd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -74815,6 +76330,19 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) +"wTM" = ( +/obj/structure/closet/secure_closet/bar, +/obj/machinery/firealarm/directional/north{ + pixel_x = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/light_switch/directional/north{ + pixel_x = -5; + pixel_y = 28 + }, +/obj/item/vending_refill/cigarette, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "wTX" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -74871,10 +76399,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"wUD" = ( -/obj/structure/fake_stairs/wood/directional/north, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "wUE" = ( /obj/machinery/light_switch/directional/north{ pixel_x = -7 @@ -74943,16 +76467,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/central/greater) -"wUY" = ( -/obj/structure/chair/sofa/left/brown{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "wVe" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -75025,6 +76539,33 @@ /obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"wWl" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 1 + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"wWn" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "wWM" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -75065,6 +76606,24 @@ /obj/structure/flora/grass/both/style_3, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"wXr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) +"wXD" = ( +/obj/machinery/vending/wardrobe/chef_wardrobe, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/obj/structure/sign/poster/contraband/moffuchis_pizza/directional/east, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "wXR" = ( /obj/structure/table, /obj/item/storage/medkit/regular{ @@ -75094,12 +76653,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/science/xenobiology) -"wYf" = ( -/obj/effect/turf_decal/loading_area{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "wYh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/firealarm/directional/west, @@ -75124,9 +76677,6 @@ }, /turf/open/floor/vault, /area/station/security/prison/rec) -"wYs" = ( -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "wYw" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 8 @@ -75191,17 +76741,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"wZq" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "wZr" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -75233,39 +76772,47 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"wZK" = ( -/obj/structure/chair/stool/bar/directional/south, +"wZI" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, /obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_half{ dir = 1 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/stone, -/area/station/commons/lounge) +/area/station/hallway/secondary/service) +"wZM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/box/red/corners{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) +"wZO" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "wZV" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"wZZ" = ( -/obj/structure/tank_holder/oxygen/red, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "xad" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/range) -"xak" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/service/chapel) "xal" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -75354,33 +76901,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/mine/living_quarters) -"xbc" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) -"xbf" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/item/seeds/berry, -/obj/machinery/light/small/dim/directional/south, -/turf/open/floor/grass, -/area/station/maintenance/starboard/fore) -"xbj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/chair/sofa/corp/left{ - dir = 4; - pixel_x = -4 - }, -/obj/effect/landmark/start/hangover, -/obj/machinery/computer/security/telescreen/entertainment/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/bar/atrium) "xbn" = ( /obj/effect/turf_decal/tile/neutral/diagonal_edge, /obj/effect/landmark/event_spawn, @@ -75428,6 +76948,12 @@ /obj/structure/ladder, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"xbY" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "xce" = ( /obj/structure/rack, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -75464,6 +76990,14 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"xcJ" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/white, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "xcW" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ dir = 1 @@ -75487,21 +77021,10 @@ /obj/effect/mapping_helpers/airlock/access/any/command/ai_upload, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"xdf" = ( -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "xdl" = ( /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/storage) -"xdA" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/chair/stool/bar/directional/east, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "xdH" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/chair{ @@ -75512,6 +77035,13 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) +"xdI" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/item/storage/box/matches, +/obj/effect/spawner/random/entertainment/cigar, +/turf/open/floor/iron, +/area/station/service/bar) "xdM" = ( /obj/structure/sign/warning/cold_temp, /turf/closed/wall, @@ -75543,24 +77073,6 @@ /obj/effect/turf_decal/weather/snow/corner, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"xei" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/light/cold/directional/north, -/obj/structure/table, -/obj/item/food/grown/carrot{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/item/food/grown/carrot{ - pixel_x = -6; - pixel_y = 10 - }, -/obj/item/food/meat/slab/synthmeat, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "xem" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/apc/auto_name/directional/west, @@ -75596,6 +77108,15 @@ }, /turf/open/floor/engine/co2, /area/station/engineering/atmos) +"xeV" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "xfb" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -75849,13 +77370,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/port) -"xhz" = ( -/obj/structure/ladder{ - name = "Kitchen Access" - }, -/obj/effect/turf_decal/tile/dark_blue/diagonal_edge, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen/coldroom) "xhD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -75893,6 +77407,20 @@ /obj/effect/spawner/random/food_or_drink/snack, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"xiG" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Hydroponics Maintenance" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/turf/open/floor/plating, +/area/station/service/hydroponics) "xiI" = ( /obj/docking_port/stationary/random/icemoon{ name = "lavaland"; @@ -75929,15 +77457,6 @@ /obj/structure/sign/departments/medbay/alt, /turf/closed/wall, /area/station/medical/medbay/lobby) -"xjj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "xjm" = ( /obj/machinery/light_switch/directional/north, /obj/machinery/camera/directional/north{ @@ -75946,6 +77465,12 @@ /obj/vehicle/ridden/janicart, /turf/open/floor/iron, /area/station/service/janitor) +"xjn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/obj/effect/turf_decal/stripes/line, +/obj/structure/chair/stool/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/fore) "xjs" = ( /obj/machinery/door/firedoor/heavy, /obj/structure/cable, @@ -76018,6 +77543,24 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) +"xle" = ( +/obj/effect/turf_decal/trimline/green/filled/corner, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/rack, +/obj/item/clothing/accessory/armband/hydro{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/clothing/accessory/armband/hydro, +/obj/item/toy/figure/botanist, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "xlh" = ( /obj/machinery/door/window/left/directional/north{ name = "Medbay Delivery"; @@ -76027,17 +77570,20 @@ /obj/effect/turf_decal/tile/yellow/full, /turf/open/floor/iron/large, /area/station/medical/storage) +"xlj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "xlq" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"xlv" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen/diner) "xlx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -76174,6 +77720,16 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"xmV" = ( +/obj/structure/chair/stool/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "xni" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -76225,35 +77781,19 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"xoq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/siding/white, -/obj/machinery/camera/directional/south{ - c_tag = "Service Bar" - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "xow" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/atmos) -"xpo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/commons/fitness) -"xpp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"xoA" = ( +/obj/structure/closet/emcloset, +/obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, -/obj/machinery/duct, +/obj/machinery/light/cold/directional/west, /turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) +/area/station/service/kitchen/coldroom) "xpw" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -76316,31 +77856,25 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/xenobiology) -"xqv" = ( -/obj/effect/spawner/random/entertainment/gambling, -/obj/structure/table/wood, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "xqy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/office) -"xqA" = ( -/obj/machinery/door/airlock/external{ - name = "Service Hall Exit" +"xqM" = ( +/obj/effect/turf_decal/loading_area/white{ + dir = 8 }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "service-hall-external" - }, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/secondary/service) +/turf/open/floor/wood/large, +/area/station/service/bar/atrium) +"xqV" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "xqX" = ( /obj/structure/sign/poster/contraband/random/directional/north, /obj/structure/cable, @@ -76385,6 +77919,14 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/port/lesser) +"xrw" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/floor/iron/stairs/old{ + dir = 8 + }, +/area/station/hallway/primary/starboard) "xry" = ( /obj/machinery/newscaster/directional/west, /turf/open/floor/wood, @@ -76395,6 +77937,11 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) +"xrD" = ( +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/bush/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "xrI" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 5 @@ -76516,6 +78063,18 @@ "xuo" = ( /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"xup" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "chem-morgue-airlock" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/medical/morgue) "xur" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -76644,6 +78203,15 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"xwi" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "xwm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/green{ @@ -76728,6 +78296,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/maintenance/aft/greater) +"xwZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/minecart_rail/railbreak, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "xxg" = ( /obj/structure/cable, /turf/open/floor/iron/white, @@ -76940,6 +78516,13 @@ /obj/structure/closet/crate, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"xzQ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/closet/emcloset, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "xzT" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -76949,11 +78532,6 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) -"xAb" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "xAk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/stripes/line{ @@ -77058,6 +78636,17 @@ /obj/effect/turf_decal/trimline/red/line, /turf/open/floor/iron/dark/textured, /area/station/security/range) +"xBz" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Apiary" + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/hydroponics) "xBL" = ( /obj/machinery/camera/directional/north{ c_tag = "Solar Maintenance - North East Access" @@ -77092,6 +78681,11 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/security/courtroom) +"xCc" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/closet/crate/wooden/toy, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "xCh" = ( /obj/machinery/button/door/directional/west{ id = "xenobio5"; @@ -77179,12 +78773,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) -"xDr" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/spawner/random/vending/snackvend, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "xDw" = ( /obj/structure/grille/broken, /obj/effect/decal/cleanable/dirt, @@ -77203,13 +78791,11 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron, /area/station/security/prison/workout) -"xDQ" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/fake_stairs/wood/directional/north, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"xDN" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "xDU" = ( /obj/structure/table, /obj/effect/spawner/random/entertainment/drugs, @@ -77250,16 +78836,6 @@ /obj/structure/closet/bombcloset, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"xEx" = ( -/obj/item/gun/ballistic/shotgun/doublebarrel, -/obj/structure/table/wood, -/obj/machinery/camera/directional/east{ - c_tag = "Service Bar - Backroom" - }, -/obj/machinery/requests_console/auto_name/directional/east, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar/backroom) "xEE" = ( /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, @@ -77314,21 +78890,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/mine/living_quarters) -"xFi" = ( -/obj/structure/sign/warning/cold_temp/directional/south, -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"xFj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/trunk/multiz/down{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "xFm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -77350,22 +78911,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"xFv" = ( -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron, -/area/station/service/bar) -"xFA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "xFB" = ( /obj/structure/table, /obj/item/tank/internals/emergency_oxygen/engi, @@ -77478,10 +79023,6 @@ /obj/structure/cable, /turf/open/floor/iron/textured, /area/station/security/courtroom) -"xGZ" = ( -/obj/machinery/vending/boozeomat, -/turf/closed/wall, -/area/station/service/bar) "xHe" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -77495,11 +79036,6 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"xHi" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/griddle, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "xHq" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig Entrance" @@ -77517,6 +79053,15 @@ /obj/structure/stairs/east, /turf/open/floor/plating, /area/station/security/brig) +"xHP" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Service - Gambling Lounge" + }, +/obj/machinery/computer/slot_machine{ + name = "two-armed bandit" + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "xHY" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -77579,6 +79124,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"xJb" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/machinery/status_display/ai/directional/south, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/chem_master/condimaster, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "xJj" = ( /turf/open/floor/iron, /area/station/science/xenobiology) @@ -77594,10 +79149,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"xJF" = ( -/obj/structure/flora/bush/flowers_yw/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "xJG" = ( /obj/machinery/light/directional/east, /turf/open/openspace, @@ -77662,6 +79213,25 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) +"xKu" = ( +/obj/machinery/door/airlock/multi_tile/public/glass{ + dir = 4; + name = "Service Hall" + }, +/obj/effect/turf_decal/siding/dark/corner, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/service/general, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/hallway/secondary/service) "xKJ" = ( /turf/closed/wall, /area/station/command/meeting_room) @@ -77729,6 +79299,12 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) +"xMb" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "xMh" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, @@ -77757,6 +79333,17 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"xMI" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/fore) "xMM" = ( /obj/machinery/computer/operating{ dir = 8 @@ -77802,10 +79389,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/engine, /area/station/science/xenobiology) -"xNk" = ( -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/fore) "xNn" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -77834,6 +79417,17 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) +"xNM" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) "xOb" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -77849,6 +79443,13 @@ /obj/machinery/atmospherics/components/unary/portables_connector/visible, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"xOH" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "xPu" = ( /obj/machinery/light/directional/east, /turf/open/misc/asteroid/snow/icemoon, @@ -77863,6 +79464,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"xPD" = ( +/obj/effect/spawner/random/entertainment/arcade, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "xPF" = ( /obj/structure/fence{ dir = 4 @@ -77982,6 +79588,11 @@ }, /turf/open/misc/hay/icemoon, /area/icemoon/surface) +"xRn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "xRw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -78009,28 +79620,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/eighties/red, /area/station/security/prison/safe) -"xRV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/service/theater, -/obj/effect/mapping_helpers/mail_sorting/service/bar, -/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, -/obj/effect/mapping_helpers/mail_sorting/service/kitchen, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "xRZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"xSj" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/carpet, -/area/station/service/theater) "xSl" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -78048,11 +79642,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/brig) -"xSt" = ( -/obj/effect/spawner/random/structure/crate, -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/fore) "xSu" = ( /obj/structure/table/glass, /obj/machinery/reagentgrinder, @@ -78112,6 +79701,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"xTT" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen{ + pixel_x = -5 + }, +/obj/item/hand_labeler/borg{ + pixel_y = -3 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "xTU" = ( /obj/structure/closet/wardrobe/pjs, /obj/effect/landmark/start/hangover/closet, @@ -78129,20 +79729,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) -"xTX" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/airlock{ - name = "Bar" - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/backroom) "xUb" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -78167,17 +79753,21 @@ }, /turf/open/openspace, /area/station/science/ordnance/office) -"xUm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood/tile, -/area/station/service/theater) +"xUu" = ( +/obj/structure/flora/tree/pine/style_random, +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) "xUw" = ( /obj/structure/sign/departments/maint/directional/west, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"xUC" = ( +/obj/effect/turf_decal/tile/blue, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "xUF" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -78254,6 +79844,16 @@ "xVK" = ( /turf/closed/wall, /area/station/service/janitor) +"xVL" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "xVN" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -78291,14 +79891,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"xWa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/holopad, -/obj/effect/landmark/event_spawn, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "xWb" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/cable, @@ -78614,13 +80206,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) -"yba" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "ybf" = ( /obj/machinery/portable_atmospherics/pump, /turf/open/floor/iron/dark, @@ -78644,6 +80229,10 @@ }, /turf/open/floor/engine/cult, /area/station/service/library) +"ybs" = ( +/obj/machinery/light/small/dim/directional/west, +/turf/open/floor/stone, +/area/station/commons/lounge) "ybu" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/wood, @@ -78715,6 +80304,17 @@ dir = 1 }, /area/station/maintenance/department/cargo) +"ycd" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"yce" = ( +/obj/structure/fluff/fokoff_sign, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "ych" = ( /obj/item/chair/wood/wings, /obj/effect/turf_decal/bot_red, @@ -78728,25 +80328,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"ycw" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ +"ycu" = ( +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"ycz" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Service - Atrium Entrance" }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood/tile, -/area/station/service/theater) +/turf/open/floor/stone, +/area/station/service/bar/atrium) "ycA" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/tile/blue{ @@ -78758,6 +80350,16 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/engineering/storage) +"ycG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/small/dim/directional/north, +/obj/effect/decal/cleanable/vomit/old, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ycQ" = ( /obj/structure/closet/crate, /obj/effect/spawner/random/maintenance, @@ -78772,6 +80374,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"ycU" = ( +/obj/structure/chair/wood, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "ycY" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -78826,11 +80432,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"ydD" = ( -/obj/effect/spawner/random/structure/crate_abandoned, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) "ydH" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/glass, @@ -78852,12 +80453,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ydZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) "yef" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/suit_storage_unit/industrial/loader, @@ -78874,15 +80469,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/cargo/miningdock) -"yej" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "yel" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78899,11 +80485,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/commons/storage/mining) -"yey" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "yeB" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -78928,10 +80509,14 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/library) -"yfp" = ( -/obj/machinery/firealarm/directional/north, -/turf/open/floor/wood/parquet, -/area/station/commons/lounge) +"yeQ" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/sink/kitchen/directional/south, +/turf/open/floor/iron, +/area/station/service/hydroponics) "yfz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -78977,16 +80562,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/command/gateway) -"ygw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) "ygB" = ( /turf/closed/wall, /area/station/commons/dorms) @@ -79006,6 +80581,10 @@ }, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) +"ygR" = ( +/obj/structure/stairs/north, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "yhe" = ( /obj/structure/cable, /obj/machinery/light/directional/south, @@ -79025,6 +80604,18 @@ /obj/item/flashlight/lantern/on, /turf/open/misc/hay/icemoon, /area/icemoon/surface) +"yhF" = ( +/obj/effect/spawner/random/trash/mess, +/obj/structure/disposalpipe/segment, +/obj/structure/railing/corner/end, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"yhH" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "yhU" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, @@ -79036,6 +80627,14 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) +"yiq" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/chair/stool/bar/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "yiv" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron, @@ -79091,24 +80690,12 @@ }, /turf/open/floor/plating, /area/station/science/xenobiology) -"yjP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/stone, -/area/station/commons/lounge) "yjV" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"yjX" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "ykb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/blue{ @@ -79118,6 +80705,18 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"ykc" = ( +/obj/machinery/door/window/right/directional/south{ + req_access = list("kitchen"); + name = "The Ice Box" + }, +/obj/structure/sign/warning/cold_temp/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "ykw" = ( /turf/closed/wall/r_wall, /area/station/security/processing) @@ -79148,22 +80747,33 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"ykZ" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/item/radio/intercom/directional/east, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"ylk" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ +"ykT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/obj/structure/sign/warning/cold_temp/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/bar) +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) +"ylj" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "ylt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible, /obj/structure/sign/poster/official/safety_internals/directional/east, @@ -95587,7 +97197,7 @@ sYA ghx ghx ghx -vXO +odr hMz ghx hMz @@ -102957,10 +104567,10 @@ amx fXO lBR nhg -gnR +jdG lBR nhg -qrq +cok lBR kIo hap @@ -106292,7 +107902,7 @@ ghx ghx ghx eZz -efi +wDH xhK nCQ swf @@ -106549,7 +108159,7 @@ ghx ghx ghx iDt -nbP +vzk xhK ikb swf @@ -113229,7 +114839,7 @@ jvM nTO nTO nTO -nJm +yce iDt xMq xMq @@ -113459,7 +115069,7 @@ iDt iDt iDt iDt -uEA +kbu vjh aYQ bLL @@ -118730,7 +120340,7 @@ oSU szG szG iDt -daZ +kCr iDt szG oSU @@ -157519,7 +159129,7 @@ oif eJf eJf eJf -keu +nrK eJf eJf eJf @@ -161100,7 +162710,7 @@ szG szG myZ eJf -keu +nrK eJf eJf eJf @@ -161367,9 +162977,9 @@ szG gjq gjq gjq -mTW +kUf gjq -mTW +kUf gjq gjq gjq @@ -161638,18 +163248,18 @@ gjq gjq gjq gjq -keu +nrK eJf cMk yep cMk eJf -keu +nrK eJf eJf eJf eJf -keu +nrK eJf eJf eJf @@ -162648,7 +164258,7 @@ scw oif eJf eJf -keu +nrK eJf pfg sjb @@ -163189,7 +164799,7 @@ cMk eJf eJf eJf -keu +nrK eJf eJf oif @@ -163673,7 +165283,7 @@ gJK iwS wkB iDt -jZN +bNi gjq gjq gjq @@ -163904,7 +165514,7 @@ gjq gjq gjq gjq -nfG +lkx qbU ivF jwH @@ -166962,7 +168572,7 @@ gjq gjq gjq gjq -gjq +wUj wUj dKC dKC @@ -167220,9 +168830,9 @@ gjq iDt gjq wUj -wUj qLB jpy +tRQ ssY wUj gjq @@ -167769,7 +169379,7 @@ iDt iDt iDt iDt -nfG +lkx iDt iDt iDt @@ -167821,7 +169431,7 @@ jSQ cmZ xuo iDt -jZN +bNi thA thA thA @@ -168273,7 +169883,7 @@ mri qQf ebd iDt -nfG +lkx pfw thA thA @@ -168289,7 +169899,7 @@ thA thA thA thA -nfG +lkx iDt iDt iDt @@ -168580,7 +170190,7 @@ nUi iDt iDt iDt -jZN +bNi iDt iDt iDt @@ -168817,7 +170427,7 @@ iDt vqW iDt iDt -jZN +bNi iDt iDt iDt @@ -168843,7 +170453,7 @@ iDt iDt iDt iDt -jZN +bNi iDt thA thA @@ -169852,7 +171462,7 @@ iDt scw scw iDt -rvO +ptq eqC scw scw @@ -169861,7 +171471,7 @@ iDt iDt iDt iDt -jZN +bNi xMq thA thA @@ -170111,7 +171721,7 @@ nDP nDP scw izl -nfG +lkx scw iDt iDt @@ -170874,7 +172484,7 @@ vqW iDt iDt iDt -daZ +kCr iDt iDt bkU @@ -171586,7 +173196,7 @@ pgL lab cbz yiL -rdR +nRs rnb hgM kyu @@ -171643,7 +173253,7 @@ von von ldP iDt -daZ +kCr iDt iDt thA @@ -171909,7 +173519,7 @@ thA thA thA xMq -nfG +lkx iDt iDt iDt @@ -172672,7 +174282,7 @@ tLc vcj vcj aVq -daZ +kCr iDt xMq thA @@ -172932,7 +174542,7 @@ aVq iDt iDt iDt -nfG +lkx iDt iDt ebd @@ -173966,7 +175576,7 @@ xMq xMq thA xMq -nfG +lkx iDt iDt iDt @@ -174213,7 +175823,7 @@ iyd vlZ gCh alW -nfG +lkx iDt xMq xMq @@ -174231,11 +175841,11 @@ iDt iDt iDt iDt -nfG +lkx iDt iDt iDt -nfG +lkx xMq thA thA @@ -175239,7 +176849,7 @@ scw scw scw scw -nfG +lkx iDt iDt thA @@ -175993,7 +177603,7 @@ rcY iDt iDt xMq -iDt +ebd iDt iDt iDt @@ -176002,7 +177612,7 @@ gjq gjq gjq gjq -nfG +lkx scw thA thA @@ -176293,7 +177903,7 @@ thA thA thA thA -nfG +lkx iDt iDt scw @@ -176507,12 +178117,12 @@ chg iDt scw scw -hmb -hmb -hmb -hmb -hmb -hmb +gpG +fsf +fsf +fsf +fsf +hBm gjq gjq gjq @@ -176763,14 +178373,14 @@ iDt rcY scw scw -hmb -hmb -hlP -ahI -ahI -boV -hmb -hmb +gpG +cbU +tRM +bnj +bnj +ufg +oen +hBm gjq gjq gjq @@ -177020,14 +178630,14 @@ iDt rcY scw xMq -hmb -hlP +ikY +dAH eYX sCZ sCZ -lmm -boV -hmb +nFh +ekG +ikY gjq gjq gjq @@ -177065,10 +178675,10 @@ xMq iDt iDt iDt -nfG +lkx iDt iDt -nfG +lkx bID bID dmR @@ -177276,19 +178886,19 @@ iDt iDt xMq xMq +xMq exw -exw -ksO +ajU syE -eIY -pqx -hml -vkg -hmb -hmb +grt +grt +pTm +eLW +exw +mBo gjq gjq -ebX +wkV kNC jTf jTf @@ -177531,24 +179141,24 @@ thA iDt iDt iDt -xMq exw exw -kQW -fKy +exw +exw +cHN bdr -jHK -rhh -rdd -lmm -boV -hmb -hmb +qtT +qtT +hDN +gEH +exw +exw +fsf +fsf +exw +mPq iDt -qau -iDt -iDt -neM +nyc qau xMq xMq @@ -177582,7 +179192,7 @@ iDt cCb iDt iDt -nfG +lkx bID anZ anZ @@ -177788,24 +179398,24 @@ thA iDt iDt xMq -xMq exw -oGn -qXz -gAy -rhR -ops -lEH -lgA -gAy -bqH -dIc -exw -hmb -exw -tJb -gUF -neM +aBJ +uKK +hFS +tMv +bdr +qtT +qtT +hDN +euj +quj +vHw +qqX +ltt +wRS +uql +iDt +nyc qau xMq xMq @@ -178045,28 +179655,28 @@ thA xMq xMq xMq -xMq exw -gAN -sCZ -sCZ -lmm -jOc -wOh -fKy -kWR -sCZ -bdr -rCh -reh -rCh -xuo -kDU +yeQ +ecT +oJK +sak +iUa +waz +waz +usY +dwv +kTY +exw +frH +lzd +exw +dNN +iDt iDt qau iDt iDt -nfG +lkx iDt scw iDt @@ -178300,29 +179910,29 @@ xMq xMq xMq xMq -sBy -sBy -sBy -sBy +xMq +xMq exw -fKd -gyw -sIh +iMB +jEi +oJK +pMA +ibU +ibU +fpZ +ibU +utP exw -stw -gXe -ieq -mow -oMG exw -hmb exw -lfR -jSM +exw +exw +mPq iDt -nqv +iDt +klm scw -fna +mSq iDt iDt iDt @@ -178552,34 +180162,34 @@ thA thA thA thA -thA +xMq xMq sBy sBy sBy sBy -cnr -aga -lvO +sBy exw -iUO -uhk -ivr -hmb -gmB -dXA -jqJ -oBl -hbT -hmb -neM +amr +eMY +lXg +exw +amD +tPj +exw +fMp +qWc +nme +mXb +urG +nyc iDt scw iDt -neM +nyc qau -iZm -fdP +vTl +hAD iDt iDt scw @@ -178809,34 +180419,34 @@ thA thA thA thA -thA xMq sBy -kDJ -cwd -uHa -gLo -oYc -lvc +sBy +mdK +omM +nCo +xCc exw -ivr -gcm -cSc -hmb -eoq -ece -bSU -nVz -iNt -hmb -neM +fkC +wuk +wng +exw +mpU +mpU +uyo +fMb +qWc +efP +mXb +urG +nyc iDt iDt scw -neM +nyc qau iDt -kRF +eFL iDt scw iDt @@ -179065,28 +180675,28 @@ thA thA thA thA -thA xMq xMq sBy -lUy -teR -tiX -kZc -mYG -qfu -dMS -dMS -dMS -dMS -dMS -dMS -dMS -eWI -dMS -dMS -dMS -xMq +wpk +lFQ +bWx +kTP +cdh +exw +ryE +riW +vCm +exw +exV +exV +exw +gOL +tmh +exw +exw +gFX +psb iDt scw scw @@ -179320,30 +180930,30 @@ thA thA thA thA -xMq -xMq -xMq +thA +thA xMq xMq sBy -eSF -sWC -rrX -ibi -kzW -iMg -tnB -xpp -kSo -cjK -cjK -cjK -cjK -ygw -jTV -hEl -dMS +hbi +pzy +wht +sBy +dpP +sBy +sBy +exw +exw +qhw +dFd +jwQ +mfE +sCZ +qhb +mSK +exw xMq +psb jTf jTf ork @@ -179577,30 +181187,30 @@ thA thA thA thA +thA +thA xMq -mdZ -mdZ -mdZ -mdZ -sBy -sBy -rzA -sBy -sBy -qMe -sBy -dMS -dMS -hyt -dMS -dMS -dMS -dMS -kSo -kmW -gEz -dMS xMq +sBy +hJV +ish +qLV +sBy +lDs +cph +qeu +exw +exw +exw +gAU +dgI +oIj +hhM +taM +tKO +exw +xMq +psb xMq scw iDt @@ -179834,30 +181444,30 @@ thA thA thA thA +thA +xMq +xMq xMq -mdZ -wUY -iZp -mdZ -qmN -pbD -let sBy -jjG -vlP -vuN -qMT -edD -ocf -rZT -jCF -acr -dMS -nCJ -dMS -dMS -dMS -dMS +nxN +uGS +biW +sBy +kda +faF +faF +ybs +ama +exw +gTy +icj +eWN +xle +exw +aqk +exw +psb +psb xMq iDt iDt @@ -179866,7 +181476,7 @@ scw btU xUf syW -dKt +xup hVX xUf eXH @@ -180091,37 +181701,37 @@ thA thA thA thA +thA xMq -mdZ -kgs -tGZ -tza -tGZ -tGZ -let -sBy -jWO -xUm -mRa -efh -ydZ -jBU -mqr -mqr -reA -dMS -rZN -cjK -cjK -sAc -dMS +xMq +qMT +qMT +qMT +sLv +qMT +qMT +lDs +faF +faF +rrg +ama +exw +ecQ +xBz +vDz +ecQ +exw +hsP +nky +bNO +psb xMq xMq iDt iDt iDt ioK -jvw +kkq bja jvw jvw @@ -180340,8 +181950,10 @@ tjo tjo tjo tjo +iDt tjo -tjo +thA +thA thA thA thA @@ -180349,38 +181961,36 @@ thA thA xMq xMq -mdZ -nIL -uWv -let -let -let -let -sBy -pjg -ycz -hJm -kwu -lrN -jBU -eDi -doJ -bIH -dMS -dre -dMS -hHU -nCJ -dMS +qMT +mnt +vGP +oRr +wDZ +xcJ +lDs +faF +jMC +qMT +exw +exw +whi +qoL +lkf +udH +exw +exw +qjc +psb +psb xMq xMq iDt iDt iDt ioK -rZX -bja +qbR bja +ssZ jvw bja kRH @@ -180597,47 +182207,47 @@ tjo tjo tjo tjo -tjo +iDt tjo thA thA thA thA thA +thA xMq xMq -mdZ -gxZ -hNi -mdZ -mdZ -sBy -sBy -sBy -hSb -tEf -kHk -fqK -cjj -vdI -eDP -oko -dMS -dMS -dMS -dMS -dMS -nCJ -dMS +xMq +qMT +puo +lOy +wGq +jrM +hrT +geO +vFj +nZy +qJx +exw +hwq +lyd +nIb +dDb +usF +flM +exw +kNT +bNO +psb xMq xMq -nfG +lkx xMq xMq btU btU btU -whl +cKp ako hjM hjM @@ -180847,14 +182457,14 @@ tjo tjo tjo tjo +iDt tjo tjo tjo tjo tjo -tjo -tjo -tjo +ehI +iDt tjo thA thA @@ -180863,29 +182473,29 @@ thA thA thA xMq -mdZ -jXD -mCX -pwB -mdZ -kfX -xSj -oXk -tiF -cSu -ebq -phU -fjC -nrt -shD -jfN -dMS -bwL -dYO -bwL -dMS -otj -dMS +xMq +xMq +qMT +vEX +cEK +kqv +cEK +xcJ +geO +bEO +fSq +kZw +oDu +luc +xrD +sVU +sVU +pXQ +vzz +exw +kNT +gVa +psb xMq xMq xMq @@ -180894,7 +182504,7 @@ xMq btU kCR btU -yey +xMb dYr nxM dTm @@ -181104,14 +182714,14 @@ tjo tjo tjo tjo +iDt +iDt tjo tjo tjo tjo -tjo -tjo -tjo -tjo +fUk +iDt tjo thA thA @@ -181120,29 +182730,29 @@ thA thA thA xMq -mdZ -xdf -mCX -lPN -mdZ -sGi -uQY -uQY -rLV -wJe -rLV -iXF -doJ -vdI -uRz -aak -dMS -vJL -iSi -fsr -fEj -nCJ -dMS +qMT +qMT +qMT +qMT +sXE +hJL +bMs +fGL +lDs +hyx +vSe +tCY +oDu +luc +jJr +sVU +sVU +fjN +okP +exw +kNT +fuH +psb fuH fuH fuH @@ -181151,7 +182761,7 @@ btU btU sGf lca -kme +sUg dYr nxM nxM @@ -181361,14 +182971,14 @@ tjo tjo tjo tjo +iDt +iDt +iDt +iDt tjo tjo -tjo -tjo -tjo -tjo -tjo -tjo +iDt +iDt tjo thA thA @@ -181377,29 +182987,29 @@ thA thA thA xMq -mdZ -fjm -mCX -pmg -etV -doJ -lGY -rPf -csg -oXS -gUB -xqv -doJ -wZq qMT -qMT -dMS -fkJ -hHU -hHU -dMS -nCJ -dMS +xPD +dsa +vtb +kXC +xmV +gqb +lDs +eXW +bEO +aEd +qFN +exw +cAm +ylj +jyD +unY +cKz +lrq +exw +kNT +fuH +psb fuH fuH fuH @@ -181618,45 +183228,45 @@ tjo tjo tjo tjo +iDt +iDt +iDt +iDt +tjo +iDt +iDt tjo tjo -tjo -tjo -tjo -tjo -tjo -tjo -tjo +thA thA thA thA thA thA xMq -xMq -mdZ -cId -ksL -mdZ -mdZ -yfp -gUB -csg -lXo -dkO -qis -wIF -qis -uLU -uac -cBL -dMS -dMS -dMS -dMS -dMS -nCJ -dMS +qMT +hug +pic +faF +cFQ +vFj +lgs +vCI +lgs +jIU +uNL +jre +jre +jre +moP +rls +jHL +wWn +exw +exw +qjc +psb +psb fuH fuH fuH @@ -181690,7 +183300,7 @@ scw ilN vIZ nxM -bgd +cRZ kmM sYU iio @@ -181874,49 +183484,49 @@ tjo tjo tjo tjo +iDt +iDt +iDt +iDt +iDt +iDt +iDt +gtx tjo tjo tjo -tjo -tjo -tjo -tjo -tjo -tjo -tjo -tjo +thA thA thA thA thA xMq -xMq -mdZ -shh -agt -ryO -mdZ -iyb -doJ -qis -qis -qis -qis -doJ -nJC -cgz -doJ -vZY -dMS -dyw -sEp -sEp -sEp -jWp -dMS -dMS -fwB -fwB +qMT +jAa +dQh +aDA +gTX +eKO +pgx +nSs +mSc +xHP +jre +jre +vMF +jre +jre +jre +xiG +jre +jre +fuH +kNT +bNO +psb +fuH +fuH +fuH btU btU btU @@ -182130,50 +183740,50 @@ tjo tjo tjo tjo +iDt +iDt +iDt +tjo +iDt +iDt +gtx +iDt +anE tjo tjo tjo -tjo -tjo -tjo -tjo -tjo -tjo -tjo -tjo -tjo +thA thA thA thA thA xMq -mdZ -mdZ -fpW -agt -wJf -mdZ -rKd -rJL -nVX -uEE -nvt -yjP -hzQ -hzQ -nro -hzQ -tyj -dMS -dEB -dMS -dMS -dMS -dMS -dMS -fwB -fwB -fwB +jre +jre +jPE +jre +jre +uGn +vZQ +bQY +emO +jre +jre +puW +ohl +qSy +qSy +lqC +nOM +mEW +jre +chU +kNT +aOi +psb +fuH +fuH +fuH btU nTA kJm @@ -182387,50 +183997,50 @@ tjo tjo tjo tjo +gtx +iDt +tjo +tjo +iDt +iDt +iDt +ijY +iDt tjo tjo tjo -tjo -tjo -tjo -tjo -tjo -tjo -tjo -tjo -tjo +thA thA thA thA thA xMq -mdZ -exY -shh -cvz -ihG -mdZ -gRl -nJC -mui -doJ -yjP -eIa -wun -dOQ -lZG -fDt -hCN -dMS -dEB -dMS -jBB -pKe -rZK -qPE -fwB -fwB -fwB +xMq +jre +thd +olq +jre +jre +hxX +hxX +jre +jre +puW +jbi +kjM +xeV +puW +wLa +uhR +jre +jre +bxw +kNT +svz +psb +fuH +fuH +fuH btU wvL jnY @@ -182643,51 +184253,51 @@ tjo tjo tjo tjo +iDt +iDt tjo tjo tjo +iDt +iDt +iDt +iDt +iDt tjo tjo tjo -tjo -tjo -tjo -tjo -tjo -tjo -tjo +thA thA thA thA thA xMq -mdZ -xDr -esn -agt -auN -mdZ -nWw -mUU -csg -doJ -skV -tCT -pOJ -bIW -vLx -hkl -jyh -dMS -dEB -dMS -jBB -mQk -mCb -wMP -fwB -fwB -fwB +xMq +jre +bSu +xVL +tjs +hNa +hNa +qSy +qSy +csM +vjH +kCL +jre +rOj +jre +jre +jre +jre +inm +inm +qjc +psb +psb +fuH +fuH +fuH btU mtt tHe @@ -182900,16 +184510,16 @@ tjo tjo tjo tjo +iDt tjo tjo tjo tjo -tjo -tjo -tjo -tjo -tjo -tjo +iDt +iDt +iDt +iDt +gtx tjo tjo tjo @@ -182918,33 +184528,33 @@ thA thA thA xMq -mdZ -mdZ -shh -agt -mYr -mdZ -hLw -nJC -jBb -nJC -wZK -wNQ -lPm -men -eLx -iDg -jHE -dMS -ylk -dMS -tWD -klY -mQk +xMq +xMq +jre +rDh +iaO +gIa +ojR +vuL +sAd +ktH +pKD +egJ +jre +jre +kpW +cHJ +pDK +bBu +bck fwB -fwB -fwB -btU +inm +qRo +psb +fuH +fuH +fuH +fuH btU iWN ofm @@ -183163,10 +184773,10 @@ tjo tjo tjo tjo -tjo -tjo -tjo -tjo +iDt +iDt +iDt +iDt tjo tjo tjo @@ -183176,32 +184786,32 @@ thA thA xMq xMq -mdZ -veL -agt -ryO -mdZ -sxW -doJ -wkq -doJ -lSl -aTm -fYh -oXe -miR -nmS -vUi -dMS -twX -gsW -czm -fpb -fLa -fwB -fwB -fwB -fwB +jre +jre +jre +jre +mZR +jre +jre +jre +jre +jre +jre +jre +ltK +xwZ +bju +gKs +skN +skN +gKs +cNf +woi +psb +fuH +fuH +fuH +fuH btU waH qnv @@ -183224,7 +184834,7 @@ ffQ xDb clI iDt -pDR +uCY iDt xMq xMq @@ -183420,45 +185030,45 @@ tjo tjo tjo tjo +iDt +iDt +iDt +iDt tjo tjo tjo -tjo -tjo -tjo -tjo -thA thA thA thA xMq xMq -mdZ -bmw -oRw -mdZ -mdZ -rxY -rxY -rxY -vKC -rxY -fzK -bjZ -tAe -mgR -qYo -xFv -dMS -eHW -dMS -fUn +jre +jre +iNh +hXD +pzv +nNe +bLS +uLl +jre +pMo +xoA +qps +hIl +mQk +iBq mQk -oLV fwB fwB fwB fwB +inm +lvz +psb +fuH +fuH +fuH +fuH btU gfy olO @@ -183678,43 +185288,43 @@ tjo tjo tjo tjo +iDt +iDt +iDt +iDt +iDt tjo -tjo -tjo -tjo -tjo -tjo -thA thA thA thA xMq xMq -mdZ -jXD -mCX -let -let -kWs -uFW -lDp -nNQ -pNp -xTX -ikT -qCz -gQj -xoq -dMS -dMS -kbU -dMS -fvs +jre +vjf +uBu +wSs +qsE +czC +fPU +puW +jre +vCw +ipI +mRm +jBB +mQk +ibb +mQk mQk -dbb -fwB fwB +cEH fwB +inm +hWj +psb +psb +fuH +fuH btU btU amq @@ -183770,7 +185380,7 @@ bWK bWK neu hjR -vNM +wWl iDt iDt iDt @@ -183936,42 +185546,42 @@ tjo tjo tjo tjo -tjo -tjo -tjo -tjo -tjo -thA +iDt +iDt +ebd +iDt +iDt thA thA thA xMq xMq -mdZ -bEp -tGZ -tGZ -gVn -aNR -idE -uzc -iHy -rVO -xGZ -ukw -umS -vVh -mXt jre -tjs -vbz +nko +lPo +puW +kEr +hHH +vPd +puW jre -xei -pAM -hun -fwB -fwB +ygR +nUM +mkS +mQk +mQk +gSi +mQk +gvO +rKz +hqG fwB +inm +bya +sbG +psb +fuH +fuH btU dzr rcU @@ -184194,41 +185804,41 @@ tjo tjo tjo tjo -tjo -tjo -tjo -tjo -thA -thA +iDt +gtx +iDt +iDt thA thA thA xMq -mdZ -vKn -tGZ -tGZ -gVn -rxY -dmD -mnE -xEx -jjW -jre -tRA -jre -hYs -jre +xMq jre +oyo +rlE +puW +tZQ nNe +rjf +wdp jre -jre -lOt -nep -ksK -fwB -fwB +ygR +vIn +ykc +glA +mQk +iNV +wrw +cln +iuX +qPE fwB +inm +bya +gVa +psb +fuH +fuH btU gCG cge @@ -184453,39 +186063,39 @@ tjo tjo tjo tjo -tjo -tjo -thA -thA +iDt +iDt thA thA thA xMq -mdZ -mdZ -kgs -tGZ -kdD +xMq +jre +jre +nqO +nly +pzv +nNe +cZI +nyj +jre +jre +dhd +jre +jre +jre +rmH jre jre jre jre -jre -jre -xjj -jre -jre -jre -lAB -lqs -jre -xhz -kAD -wYs -ksK -ksK -fwB -fwB +inm +inm +bya +fuH +psb +fuH +fuH btU cJa fDp @@ -184711,36 +186321,36 @@ tjo tjo tjo tjo -tjo -thA -thA +iDt +iDt thA thA thA xMq xMq -mdZ -mdZ -vxx -eaB -fwf -tlr -tlr -cND -fRG -fRG -tlF -cND -fRG -fRG -fRG -tlF jre -mrX -lYY -boK -ksK -fuH +jre +jre +jre +hUE +jre +jre +jre +kap +pSj +wSs +puW +dCv +wok +puW +wSs +jaC +jre +jre +jre +rJx +jre +jre fuH fuH btU @@ -184759,7 +186369,7 @@ uCe xKe dRz pwn -wlT +bLX aru rqY tAg @@ -184968,36 +186578,36 @@ tjo tjo tjo tjo -tjo -thA -thA -thA +iDt +iDt +iDt thA thA thA xMq xMq -mdZ -iQf -xqA +xMq jre +vMF +hTv +jDH +eou +eou +cHa jre +hxX jre -diH -jre -jre -jre -eXU +tiv jre +dQN jre +ixJ jre +gIB +izm wSs +vTp jre -jre -jre -jre -jre -fuH fuH fuH fuH @@ -185030,7 +186640,7 @@ thA thA thA thA -nfG +lkx gjq gjq alM @@ -185224,37 +186834,37 @@ tjo tjo tjo tjo -tjo -thA -thA -thA -thA +iDt +iDt +iDt +iDt +iDt thA thA thA xMq xMq -mdZ -mru -iAa -mdZ -xMq jre -diH +jre +iwZ +jre +aGz +dQN +apQ jre rYT -lmB -cbS +fXT +aqg jre -gtj -dQN -wSs -wSs -wSs -wSs -wSs +nqA +jre +cGT +gYb +wSs +wSs +wSs +xwx jre -fuH fuH fuH fuH @@ -185294,7 +186904,7 @@ wCo oxO wCo eJf -nfG +lkx upH cYi qqh @@ -185480,38 +187090,38 @@ tjo tjo tjo tjo -tjo -tjo -thA -thA -thA -thA -thA +iDt +iDt +iDt +iDt +iDt +iDt thA thA thA xMq -mdZ -qNc -lvu -mdZ +xMq xMq jre -uOS -gAM +uiv +jre +jre +jre +uwP +eaH +tnn oTx -wDB -vyj +cUP jre vFg -vFg -vFg -xwx -vTp jre -irz jre -fuH +jre +ilI +jre +iwZ +jre +jre fuH fuH xMq @@ -185736,33 +187346,33 @@ tjo tjo tjo tjo -tjo -tjo +iDt +iDt tjo thA -thA -thA -thA -thA +iDt +iDt +iDt +iDt thA thA thA xMq -tiY -aIB -aIB -tiY xMq jre +dJm +jre +xMq +jre +evB +jre +lvF +gUE lvF jre -sDs -sib -cHR -jre -kWa +fqY djH -jre +hXj jre jre jre @@ -185993,22 +187603,22 @@ tjo tjo tjo tjo -tjo +iDt tjo tjo thA thA +iDt +iDt +iDt thA thA -thA -thA -thA -thA +iDt rcY scw -scw -scw -iDt +reL +aIB +tiY xMq jre jre @@ -186023,7 +187633,7 @@ hMw jre xMq jre -nmg +dJm jre iDt thA @@ -186255,14 +187865,14 @@ tjo tjo thA thA -thA -thA -thA -thA -thA -thA -rcY iDt +iDt +iDt +iDt +iDt +iDt +rcY +ehI scw scw iDt @@ -186281,8 +187891,8 @@ jre xMq tiY aIB -tiY -iDt +dhH +oLd iDt thA thA @@ -186513,12 +188123,12 @@ tjo thA thA thA -thA -thA -thA -thA -thA -mJZ +iDt +iDt +iDt +iDt +iDt +vqE scw iDt scw @@ -186771,10 +188381,10 @@ thA thA thA thA -thA -thA -thA -thA +iDt +iDt +iDt +iDt rcY tSs iDt @@ -187028,10 +188638,10 @@ thA thA thA thA -thA -thA -thA -thA +iDt +iDt +iDt +iDt xMq iDt scw @@ -187286,7 +188896,7 @@ thA thA thA thA -thA +iDt iDt iDt rcY @@ -187298,7 +188908,7 @@ iDt iDt iDt iDt -cCb +gtx iDt iDt iDt @@ -187807,9 +189417,9 @@ rcY iDt scw iDt -scw -scw -scw +dIR +keA +vOq iDt iDt scw @@ -188065,7 +189675,7 @@ iDt iDt iDt tBs -baj +lVz tBs iDt iDt @@ -188579,7 +190189,7 @@ tBs tBs tBs tBs -tNA +fpw tBs tBs tBs @@ -188831,7 +190441,7 @@ xMq tBs pwv sAu -nsz +fct tBs nHQ oik @@ -188848,7 +190458,7 @@ ebB efM pgo rcY -iDt +cMK scw iDt iDt @@ -189364,9 +190974,9 @@ awy rcY iDt iDt -ubd -scw -ubd +dBP +keA +fLL iDt iDt iDt @@ -189622,7 +191232,7 @@ qau iDt xMq wrX -xak +kIp xCj xMq thA @@ -189630,7 +191240,7 @@ thA iDt scw iDt -vYN +ptZ xMq iDt iDt @@ -190136,7 +191746,7 @@ wrX wrX wrX wrX -dTv +pOe wrX wrX xMq @@ -190669,7 +192279,7 @@ iDt iDt iDt iDt -nfG +lkx alM alM alM @@ -191183,7 +192793,7 @@ xMq iDt iDt iDt -nfG +lkx alM alM alM @@ -210332,7 +211942,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -210589,7 +212199,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -210846,7 +212456,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -211103,7 +212713,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -211360,7 +212970,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -211617,7 +213227,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -211874,7 +213484,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -212131,7 +213741,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -212388,7 +213998,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -212645,7 +214255,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -212902,7 +214512,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -213159,7 +214769,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -213416,7 +215026,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -213673,7 +215283,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -213930,7 +215540,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -214187,7 +215797,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -214444,7 +216054,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -214701,7 +216311,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -214958,7 +216568,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -215215,7 +216825,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -215472,7 +217082,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -215729,7 +217339,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -215986,7 +217596,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -216243,7 +217853,7 @@ wNO wNO wNO uer -otC +vbG hHG hHG hHG @@ -216499,8 +218109,8 @@ wNO wNO wNO wNO -aaX -otC +tpt +vbG hHG hHG hHG @@ -216756,8 +218366,8 @@ wNO wNO wNO wNO -fhB -otC +cIL +vbG hHG hHG hHG @@ -217015,8 +218625,8 @@ wNO bln bln bln -xDQ -xDQ +cIH +cIH bln wNO wNO @@ -217101,11 +218711,11 @@ wNO wNO wNO bln -gnZ +aKC bln hcw lSu -gnZ +aKC bln wNO wNO @@ -217117,11 +218727,11 @@ wNO wNO wNO bln -gnZ +aKC lSu weW bln -gnZ +aKC bln bln bln @@ -217272,8 +218882,8 @@ wNO bln bln bln -rPp -rPp +nao +nao bln wNO wNO @@ -217528,7 +219138,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -217785,7 +219395,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -218042,7 +219652,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -218135,7 +219745,7 @@ tqR sEB fUR lSu -gnZ +aKC jNZ sEB sEB @@ -218143,7 +219753,7 @@ sEB sEB sEB rzO -gnZ +aKC lSu fUR sEB @@ -218299,7 +219909,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -218556,7 +220166,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -218673,7 +220283,7 @@ bln bln bln bln -gnZ +aKC bln bln bln @@ -218685,7 +220295,7 @@ aBR aBR aBR aBR -gnZ +aKC aBR aBR aBR @@ -218813,7 +220423,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -218936,7 +220546,7 @@ bln bln bln lSu -gnZ +aKC aBR aBR aBR @@ -219070,7 +220680,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -219154,9 +220764,9 @@ bln bln bln bln -gnZ +aKC lSu -fBN +lBm fUR irX kyg @@ -219327,7 +220937,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -219584,7 +221194,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -219841,7 +221451,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -220098,7 +221708,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -220355,7 +221965,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -220484,7 +222094,7 @@ bln bln bln bln -gnZ +aKC aBR aBR aBR @@ -220612,7 +222222,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -220869,7 +222479,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -221126,7 +222736,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -221383,7 +222993,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -221640,7 +223250,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -221897,7 +223507,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -222014,19 +223624,19 @@ fUR bln uer bln -gnZ +aKC lSu bln bln bln lSu -gnZ +aKC bln bln bln bln bln -gnZ +aKC aBR aBR aBR @@ -222154,7 +223764,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -222411,7 +224021,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -222668,7 +224278,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -222925,7 +224535,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -223182,7 +224792,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -223439,7 +225049,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -223696,7 +225306,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -223953,7 +225563,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -224210,7 +225820,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -224467,7 +226077,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -224724,7 +226334,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -224981,7 +226591,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -225238,7 +226848,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -225495,7 +227105,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -225752,7 +227362,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -225871,15 +227481,15 @@ tKI lSu bln bln -gnZ +aKC bln bln bln -gnZ +aKC bln bln bln -gnZ +aKC bln bln bln @@ -226009,7 +227619,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -226266,7 +227876,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -226523,7 +228133,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -226780,7 +228390,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -226907,7 +228517,7 @@ lSu lSu lSu bln -gnZ +aKC bln bln bln @@ -227037,7 +228647,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -227294,7 +228904,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -227551,7 +229161,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -227808,7 +229418,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -227935,7 +229545,7 @@ bNo maT sEB bln -gnZ +aKC bln bln bln @@ -228065,7 +229675,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -228322,7 +229932,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -228579,7 +230189,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -228836,7 +230446,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -229093,7 +230703,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -229350,7 +230960,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -229607,7 +231217,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -229864,7 +231474,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -230121,7 +231731,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -230378,7 +231988,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -230635,7 +232245,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -230892,7 +232502,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -231149,7 +232759,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -231406,7 +233016,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -231460,7 +233070,7 @@ tGr bln bln bln -gnZ +aKC bln tGr tGr @@ -231483,7 +233093,7 @@ nWf prE gDS aXY -cBj +iPR lJO hEI hEI @@ -231663,7 +233273,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -231920,7 +233530,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -232177,7 +233787,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -232434,7 +234044,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -232485,7 +234095,7 @@ tGr miY bln bln -gnZ +aKC mZf bln lSu @@ -232691,7 +234301,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -232948,7 +234558,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -233205,7 +234815,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -233462,7 +235072,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -233719,7 +235329,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -233976,7 +235586,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -234233,7 +235843,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -234283,7 +235893,7 @@ tGr tGr bln jNZ -gnZ +aKC jNZ bln ntK @@ -234490,7 +236100,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -234747,7 +236357,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -235004,7 +236614,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -235261,7 +236871,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -235518,7 +237128,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -235582,7 +237192,7 @@ ooL tDg tDg oFI -gnZ +aKC sgW akQ lSu @@ -235775,7 +237385,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -235842,10 +237452,10 @@ kyy cJi abb oFI -gnZ +aKC abb oFI -gnZ +aKC abb oFI rzG @@ -236032,7 +237642,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -236289,7 +237899,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -236546,7 +238156,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -236803,7 +238413,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -237060,7 +238670,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -237317,7 +238927,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -237574,7 +239184,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -237670,9 +239280,9 @@ ntK mQb bln jII -mpy -ycw -bmz +cPF +gtX +sIq qWZ qWZ qWZ @@ -237831,7 +239441,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -238088,7 +239698,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -238345,7 +239955,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -238602,7 +240212,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -238688,11 +240298,11 @@ pfe aeQ mdX pfe -duq -pyW -stp -raL -rxA +erD +kxj +fOm +sfQ +qyd pfe pfe jII @@ -238859,7 +240469,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -238944,7 +240554,7 @@ fEC gMK fng rHc -kWK +rwV uog vVY uog @@ -238952,7 +240562,7 @@ uog nfU bzI uog -cNd +seo mny dnq wmK @@ -239116,7 +240726,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -239201,7 +240811,7 @@ vDb vvh vPC pvm -wxr +isE cvC kQc iYG @@ -239209,7 +240819,7 @@ kQc kOV kQc kQc -rki +kXX gOy gOy fKF @@ -239373,7 +240983,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -239458,7 +241068,7 @@ eEZ nUJ qbA csB -kOF +wbK tny dLo fBF @@ -239466,7 +241076,7 @@ xUU wYZ aKI xUU -nKG +kuH qJV vBh fiE @@ -239630,7 +241240,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -239887,7 +241497,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -240144,7 +241754,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -240401,7 +242011,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -240658,7 +242268,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -240754,9 +242364,9 @@ vXU drZ yfF jII -mpy -wtb -bmz +cPF +wHP +sIq qWZ qWZ qWZ @@ -240915,7 +242525,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -241004,14 +242614,14 @@ ygB mJO oCF ygB -mJO +ivY oCF ygB lBD jII jII jII -fzy +taC xwC utR pAZ @@ -241172,7 +242782,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -241262,13 +242872,13 @@ ygB lOz ygB ygB -oTh +mMh ygB fEZ ygB -vWB -cDQ -kyL +tVD +fkp +wFU sNI bUH pAZ @@ -241429,7 +243039,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -241520,12 +243130,12 @@ rMN alO alO qCI -sJk -uGa -rKe -iMo -iMo -mJD +asG +alO +lAa +ycd +ycd +vsl xwC kKX pAZ @@ -241686,7 +243296,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -241779,7 +243389,7 @@ iPm iPm iPm iPm -rzk +jwV hay cfr dct @@ -241943,7 +243553,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -242034,12 +243644,12 @@ wVD uja uja uja -kMD +qRG uja uja uja uja -hcv +fGZ vrX utR pAZ @@ -242200,7 +243810,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -242290,13 +243900,13 @@ qIU keL uja jHG -dFP +fDm vVw -dFP +fDm qSh rKS uja -fpP +kTc iuv utR pAZ @@ -242457,7 +244067,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -242546,14 +244156,14 @@ asa kCu gHj uja -ewd -ehm -yba -bwr -qKX +oWw +voF +lyQ +dRl +hvP hsB uja -dnq +ise iuv utR pAZ @@ -242714,7 +244324,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -242804,7 +244414,7 @@ urd xTU uja aty -ehm +voF uja uja uja @@ -242971,7 +244581,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -243043,13 +244653,13 @@ lbk sDl sDl skl -pwx +ggw deY skl gDz xlH kbN -jOQ +snf skl ygB ygB @@ -243061,13 +244671,13 @@ maB fpa uja oiz -ehm +voF uja kDz -chB +qpY twU uja -gQZ +vxW iuv dnq mny @@ -243077,9 +244687,9 @@ mny mny wVR mfW -kXE +neU mfW -sbT +vqL eta brp mfW @@ -243314,17 +244924,17 @@ ygB ybE eKJ ulk -nlI +uDz uja uja uja -eQN +vUJ uja uja uja hsB uja -ise +duT lyh iuv vrX @@ -243334,7 +244944,7 @@ iuv iuv iuv vrX -rpG +rhv iuv xNF ylU @@ -243571,28 +245181,28 @@ ipx seH lvY mmA -vTA +rsI uja vmp vmp -kxN +mAr uja oUO -oUG +ivp xWG uja -fbt -aPo -qnf -xzh -otQ -dnq -apb -dby -otQ -dnq -mpy -dnq +kyL +ail +kyL +kyL +tPE +mEC +tvg +ers +mEC +mEC +fDT +vzR dKW ylU lDo @@ -243815,11 +245425,11 @@ bln fsm bUx cCC -cBC -mgw +mma fnS skl -iHz +wlv +qGM jOQ skl pOo @@ -243827,32 +245437,32 @@ piC ygB fXo aos -rBn -sYb -nkM -nkQ -sjL -aMX +qwI +wki +duQ +dKY +egi +bUs uja uja uja hsB uja -hmb -eJq -mWp -exw -exw -exw -hmb -exw +mdZ +wZI +xKu +mdZ exw hmb hmb exw -ocj -hWP -ocj +hmb +hmb +exw +tLF +eiE +ilu +eiE azw azw mao @@ -244071,20 +245681,20 @@ bUx bUx bUx bUx -wnq -dqv -cKn +mQz +ale fnS skl -mwH -fnS +fke +vkI +fag skl gmW gmW gmW ltV -mAz -oSk +bzX +fnp ltV uja mqy @@ -244092,21 +245702,21 @@ mqy tUn uja jlP -mfz +hLu twU uja -idw -eZj -iuE -bPg -uoz -kDP -kmQ -xgy -xgy -uTN -jBq -hmb +ayd +xbY +gfa +uwv +qBz +ngr +axM +aWs +gfn +beG +nVE +mhy lso dEV bai @@ -244250,7 +245860,7 @@ wNO wNO wNO bln -aaX +tpt vbG tkU tkU @@ -244322,26 +245932,26 @@ fhu bLI ykw skl +oFo deY +skl +kQE rab skl -dzx -tef -skl -skl skl skl hDV skl byP -eXY -eNz -rjs -cdM -bXj -pSQ -rza -oBP +oFo +hBq +fEE +hnG +lmd +mKE +sFK +kOY +tAG bVI uja uja @@ -244352,18 +245962,18 @@ uja uja uja uja -pBr -csR -njn -pix -reh -joG -jVq -xgy -xgy -tbv -xJF -hmb +fDS +kaq +pce +pAX +rYd +dhm +kMn +bWz +ioI +ppj +hSw +mhy lso dEV bai @@ -244507,7 +246117,7 @@ wNO wNO wNO bln -fhB +cIL vbG tkU tkU @@ -244579,18 +246189,18 @@ ekW vRN fEA uHF -eqq -eqq +uqE +uqE qdK eqq +oVc eqq eqq eqq eqq +kYO eqq -eqq -eqq -pTf +mWy qvh skl erH @@ -244598,29 +246208,29 @@ ffZ vfW vfW mZK -dZB -uBt -coL -gmW -hnB -esu -hMk -jLn -oYH -eBi -duV -fKw -csR -vRE -weY -mpU -rFr -nAM -toH -toH -bEq -kHV -hmb +lvk +khj +awh +kKL +riE +kKL +mMG +elV +ikJ +rxY +peq +eFZ +fwG +rgp +shh +uyo +xgy +xgy +lYp +ioI +ppj +nKv +njl lso dEV kHI @@ -244835,49 +246445,49 @@ aML iLv hSJ ykw -deY -deY -deY -deY -kQE -deY +prG +kUw +oFo +tAv +oFo +woQ fhz -deY +oFo fhz -xNk +oyO byP mOf -fhz -jPv +rhq +mOf skl -hYC +lXf eOl -vco -owU -owU -tkV -qwP -kOB -gmW -ofT -ePl -uDV -ojD -ykZ -vqD -keq -asJ -qYD -oUK -gEL +mTu +fWg +fWg +pgC +dEd +nsm +kKL +kKL +kKL +ykT +ptD +noD +rxY +hnr +fCy +pat +nMG +xTT mpU -qFC -kTO -wvc -kTO -pXz -sIm -hmb +svQ +xgy +qqI +nRS +nlm +bYj +mhy lso dEV bai @@ -245096,48 +246706,48 @@ rFP rFP rFP skl -rFP -rFP -rFP skl -xSt -deY +rBF +tdj skl -eYL +oFo +kSJ +skl +bQa cQx -eYL +bQa skl eDy vfW -suE +bnR nUj mpH -xbc -nXn -wpV -gmW -uiw -hWh -hGI -tCs -exw -exw -exw -tqZ -kvs -glQ -exw -exw -exw +mTF +ggm +lhL +kKL +hRQ +pCw +hxy +jBl +jAE +rxY +uzD +wZO +mdZ +mdZ +mdZ exw exw exw +lwc exw exw exw +tLF cwh dEV -pNx +mQm azw eub eyc @@ -245347,51 +246957,51 @@ bln uFf bJE uFf -wNO -wNO -wNO -bln -bln -bln +bln +lBD bln bln +lBD bln skl +lCX skl -vXY skl -gfE -uBn -aut +gWA +ldE +skl +vtP +iCk +eyv skl cVa vfW -gMp +eEu iay dCF -xbc -nxY -eBk -gmW -exw -exw -hvr -exw -exw -jPa -mdZ -vlI -nHa -nHa -izC -hwM -aUY -igi -xbj -rdB +mTF +shp +nIH +kKL +ajS +kKL +kKL +rxd +ofv +rxY +fzK +wsr +fzK +jRA +kxh +gRO +gAc +ycu +nIU +eTz lEO -khA -lso +qyb +axh lso kjK bai @@ -245604,50 +247214,50 @@ bln uFf rXX uFf -wNO -wNO -wNO -bln -bln -bln -bln bln bln +mQb +ntK +mQb bln skl -xFi +eVx +ioT skl -ejg -nLg -ngH +tAI +jPv +fHp +aXn +tAI +xDN skl -iMj +cPs vfW -ewz -lDg -lDg -njx -vfW -sfA -dIe -sUO -dIn -xFA -aTV -rQt -tGZ -bMu -iFc -mrF -iFc -bJA -mIB -uUV -fmD -fmD -fmD -wyQ -lso +tPI +agl +agl +ive +dEd +aba +kKL +ycG +cle +kKL +wTM +xlj +enH +aQH +oZX +fzK +jRA +jRA +liP +ycU +vWq +lRj +saK +fre +cfN lso lCi dEV @@ -245853,7 +247463,6 @@ wNO wNO wNO wNO -wNO bln bln bln @@ -245863,52 +247472,53 @@ bln bln bln bln -wNO -wNO -wNO -wNO bln bln bln bln +lia skl -dOc +vkh skl skl +mkt +deY +fHp +kSl +iFv +xjn skl -skl -skl -iCQ +bwE vfW eOl vfW vfW lvk -lvk -xpo -gmW -whu -rtc -rtc -jJf -voM -etA -jFA -mnj -uVn -nnW -wvb -meB -meB -xWa -meB -meB +kVO +dpF +gYq +tDR +vbT +kKL +kKL +fet +rxY +pgi +ofN +cnI +byG +uwG +rZi +ycU +tNt +wXr +wZM hSq -mVh -mVh +ran +ran vwO hHg -bai +jyp azw uMx uTk @@ -246109,8 +247719,6 @@ wNO wNO wNO wNO -wNO -wNO bln bln bln @@ -246120,51 +247728,53 @@ bln bln bln bln -wNO -wNO -wNO -wNO bln bln bln bln -sEB -sEB -sEB bln bln -bln -gmW -uRo +lBx +ooL +skl +uaZ +deY +deY +skl +cdv +lBE +xMI +skl +pmL uRo uRo uRo nCu cZt cZt -cXN -gmW -jOY -tux -dsO -kQX -tGZ -mEZ -mdZ -jQo -dqd -bfZ -izC -bHG -rRy -rRy -mdy -fmD +hFE +kKL +lli +uar +gAt +kKL +vRX +fzK +rum +pPS +nWI +olB +usa +jns +lvU +kaI +bXZ +lvU lEO -aJh -lso -lso -aAa +gva +vnn +vmW +dEV bai azw nNU @@ -246366,8 +247976,6 @@ wNO wNO wNO wNO -wNO -wNO bln bln bln @@ -246377,11 +247985,6 @@ bln bln bln bln -wNO -wNO -wNO -wNO -bln bln bln bln @@ -246390,39 +247993,46 @@ bln bln bln bln +skl +jOC +deY +dlV +skl +skl +skl gmW gmW dGO dGO -vEi +vlH dGO dGO -vEi +vlH dGO dGO gmW -mdZ -gzw -kiB -kQX -kyZ -bFw -mdZ -rth -hid -mrF +gmW +qtJ +bSC +kKL +hcJ +kkM +kkM +eFN +moz +moz +fCz +liP +ycU +kRq +fTM +fbp ptO -jRA -jRA -jRA -ixH -aWI -ptO -ibI -lso -lso +aKg +vnn +dxX dEV -bai +xUC azw pxV oQD @@ -246623,8 +248233,6 @@ wNO wNO wNO wNO -wNO -wNO bln bln bln @@ -246634,19 +248242,21 @@ bln bln bln bln -wNO -wNO -wNO -wNO -bln -bln -bln -bln bln bln bln bln +fsm bln +uer +gmd +skl +skl +vxb +vxb +skl +fsm +tlH gmW knl knl @@ -246658,28 +248268,28 @@ knl knl knl knl -mdZ -gzw -kiB -kQX -tGZ -nYQ -mdZ -hvl -hid -iFc +gmW +rwc +oCW +kKL +pzJ +pmc +ceA +eSU +nrJ +xdI +fCz +liP +ycU +mnB +fTM +fPe izC -jRA -jRA -jRA -fZo -nGz -izC -yjX -mqq -mqq +jpk +dyb +vmW kjK -bai +edW azw mwF sbc @@ -246880,8 +248490,8 @@ wNO wNO wNO wNO -wNO -wNO +bln +bln bln bln bln @@ -246891,20 +248501,20 @@ bMz bln bln bln -wNO -wNO -wNO -wNO bln bln bln bln +stJ bln bln -bln -bln -bln -gmW +skl +uxi +vcW +skl +tlH +tlH +dGO knl knl aBf @@ -246915,28 +248525,28 @@ knl knl knl knl -mdZ -mdZ -nsf -dCk -wBR -mdZ -iWr -iWr -jgh -aoP -izC -eEz -izC -izC -eEz -izC -izC -tLF -lso -qGV +dGO +trQ +fDG +kKL +jQu +lDt +nFE +tvf +nrJ +moz +fCz +jns +lvU +dPE +kLA +lvU +lEO +xrw +dyb +vmW dEV -jyp +bai hgh czS fVo @@ -247080,7 +248690,7 @@ bln bln lBD bln -rST +emJ bln bln qRv @@ -247090,22 +248700,7 @@ hHG wNO wNO wNO -khz -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO +fpv wNO wNO wNO @@ -247161,7 +248756,22 @@ bln bln bln bln -gmW +bln +bln +bln +bln +bln +bln +bln +bln +bln +ptl +vcW +vcW +ptl +tlH +tlH +dGO knl knl knl @@ -247172,30 +248782,30 @@ aBf knl knl knl -mdZ -qqx -shh -fgE -oSI -mdZ -umv -pyj -lnq -hnf -vlq -rga -vbb -pxs -iAJ -afv -ihf -uMu -lso -lso -dEV -bai +dGO +uar +rvI +kKL +vEI +mTV +wHV +uCT +nrJ +fAu +fCz +liP +ycU +gLE +lid +uKQ +wMs +eqZ +eqZ +ext +uuN +jyp hgh -gca +oll xxg nDl uau @@ -247341,24 +248951,10 @@ lBD bln bln bln -xDQ -xDQ +cIH +cIH bln -khz -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO +fpv wNO wNO wNO @@ -247418,7 +249014,21 @@ bln bln bln bln -gmW +bln +bln +bln +bln +bln +bln +tlH +tlH +ptl +vcW +vcW +ptl +tlH +tlH +dGO knl knl knl @@ -247429,30 +249039,30 @@ knl knl knl knl -mdZ -tvI -shh -hBR -bxv -mdZ -kfY -fqc -rDF -sHB -rDF -sHB -chj -iqL -rDF -sHB -eBa -laP +dGO +uar +iQi +kKL +oOT +oZG +drV +eSU +nrJ +erW +fCz +liP +ycU +lJh +rZq +mNz +biC +sgy lso -rvZ +jkj dEV bai xjg -mUR +aJJ mnF lKZ xGh @@ -247598,8 +249208,8 @@ lBD bln lBD bln -wUD -wUD +oEn +oEn bln wNO wNO @@ -247653,28 +249263,28 @@ wNO wNO wNO wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -bln bln bln bln bln +wNO +wNO +wNO +wNO +wNO +wNO bln bln bln +tlH +tlH +tlH +lgG +vaH +vcW +ptl +tlH +tlH gmW xPW knl @@ -247686,26 +249296,26 @@ knl knl knl hNx -mdZ -lyW -shh -fgE -shh -mdZ -gsD -sHB -trl -nGb -rDF -sHB -rDF -cQv -rxK -cQv -qjK -ehA -avb -avb +gmW +diY +gAt +kKL +ohv +ney +ney +xNM +moz +moz +fCz +hkH +fpg +hUv +njG +pQB +lEO +otU +oSh +mqq vSa fuY clK @@ -247855,8 +249465,8 @@ bln bln lBD lBD -wUD -wUD +oEn +oEn bln wNO wNO @@ -247911,28 +249521,28 @@ wNO wNO wNO wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO bln bln +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO bln bln -bln -bln -bln -bln -gmW +tlH +tlH +tlH +lgG +vaH +vaH +lgG +tlH +tlH +dGO knl knl knl @@ -247943,26 +249553,26 @@ knl aBf knl knl -mdZ -qqx -shh -fgE -shh -mdZ -uOH -rDF -rSK -jfZ -gyr -xdA -gyr -xdA -gyr -xdA -sSh -uMu -lso -lso +dGO +ggO +fFs +kKL +kKL +kKL +teM +pUt +jiQ +guW +wLN +tIy +jTQ +sLd +uVB +sss +izC +izC +tLF +jnW qEM lso dCs @@ -248112,8 +249722,8 @@ lBD lBD bln bln -wUD -wUD +oEn +oEn bln wNO wNO @@ -248168,28 +249778,28 @@ wNO wNO wNO wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO bln bln -ozo +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO bln bln bln +tlH bln -bln -gmW +lgG +vaH +vaH +lgG +tlH +tlH +dGO knl knl knl @@ -248200,25 +249810,25 @@ knl knl knl knl -mdZ -mdZ -tDv -lqB -skf -mdZ -btp -ggD -lBy -cpY -pxF -iYi -iYi -iYi -iYi -ifw -cpY -cpY -rjP +dGO +uar +lli +uqx +prP +kKL +eGp +sfR +fzK +vWn +kkC +yiq +yiq +yiq +dWc +lYE +xqM +izC +qeM lso vwO lso @@ -248369,8 +249979,8 @@ bln lBD bln bln -rPp -rPp +nao +nao bln wNO wNO @@ -248425,28 +250035,28 @@ wNO wNO wNO wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO bln bln +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO bln bln bln bln bln -bln -gmW +kKL +nqi +vaH +kKL +tlH +tlH +dGO knl knl knl @@ -248457,26 +250067,26 @@ knl knl knl knl -mdZ -wEa -tki -kQX -vLn -mdZ -gHR -lxf -eBa -qZB -ftM -gtw -gtw -gtw -gtw -gtw -uqB +dGO +iwG +lRs +tml +kKL +kKL +wdT +tQa cpY -cGZ -lCi +cpY +cBt +vTa +nIW +eRG +vTa +peJ +fVz +cpY +tLF +odu vwO pxn xjg @@ -248625,27 +250235,14 @@ lBD bln bln bln -kPS +aTx hHG hHG hHG -khz -wNO -wNO -khz -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO +fpv wNO wNO +fpv wNO wNO wNO @@ -248697,12 +250294,25 @@ wNO wNO bln bln +wNO +wNO +wNO +wNO +wNO +wNO +wNO +wNO bln bln -bln -bln -bln -bln +fsm +gmd +kKL +kKL +naJ +naJ +kKL +tlH +tlH gmW knl knl @@ -248714,28 +250324,28 @@ knl knl knl knl -mdZ -aWS -tGZ -ayk -vQN -mdZ -acx -xlv -oDm -qZB -gtw -xHi -aHZ -jwv -pYI -mVY -bmf +gmW +uar +xRn +rQC +kKL +jYY +kjX +lJq cpY -tLF -cwO +rsm +vlR +vlR +vlR +vlR +vlR +vlR +vSn +cpY +lkr +lso vwO -qnU +wII nKa dqO icA @@ -248938,14 +250548,10 @@ wNO wNO wNO wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO +bln +bln +bln +bln wNO wNO wNO @@ -248955,44 +250561,48 @@ wNO bln bln bln +efv bln -bln -bln -bln -bln +kKL +uGW +lli +hIt +kKL +kKL +kKL gmW gmW gmW gmW -vEi +vlH dGO dGO -vEi +vlH gmW gmW gmW -mdZ -mdZ -fCY -kQX -qaf -mdZ -ptp -ggD -ifg -qZB -gtw -xHi -vMq -eUw -jZt -jSm -cMs +gmW +leK +lJK +peg +nhi +uTm +lBW +iAm cpY -lkr +gCl +ivK +fkk +fkk +fkk +fkk +wrG +iJT +ahW +eyG lso vwO -nFm +raZ nKa kyW wKe @@ -249195,21 +250805,8 @@ wNO wNO wNO wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -wNO -bln +bln +lSu bln bln bln @@ -249219,37 +250816,50 @@ bln bln bln bln +stJ bln +gsK +kKU +kKL +cvF +otb +lli +kKL +sDe +iyY +tlH +fte +tlH dGO iyg hHq -kXu -qIP +tUt +lBG gmW -hGf -bln -bln -mdZ -byk -rrx -nIr -mdZ -fRJ -lxf -son -qZB -gtw -kpf +pPI +vvA +kKL +qij +fZI +kKL +kKL +hcV +eej +ati +sbz +lcq +xqV +oXV xbn -qDZ -eke -enG -bpG -oKb -uXm +nhY +uwi +gtw +qEq +ahW +rkj lso qEM -mbk +pJC nKa dhk cDT @@ -249395,7 +251005,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -249450,60 +251060,60 @@ wNO wNO wNO wNO -wNO -tCr -mVm -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln +esJ +sKs +sKs +hCq +dfv +ihq +sKs +hCq +sKs +sKs +sKs +hCq +sKs +sKs +lPd +kKL +pan +kKL +kKL +dLZ +szB +vXk +tQe +iyY +tlH +tlH +tlH dGO -vKE -uNA -kXu -dNZ +lXC +uRo +tUt +oMj gmW -bln +wPo +pfE kKL +jdZ +lgR kKL -kKL -kKL -mKh -kKL -kKL -hBc -xlv -iXH -qZB -oEh -kpf +iRS +jsK +hJg +hJg +sMI +khi +uUG +lqi gtw -qfe -ecZ -enG -qIv -oKb -reM +gYy +vhn +gtw +qEq +ahW +jDB lso cbs nGA @@ -249652,7 +251262,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -249707,8 +251317,7 @@ wNO wNO wNO wNO -wNO -tCr +yhH bln bln bln @@ -249722,45 +251331,46 @@ bln bln bln bln -tCr -bln -bln -bln -bln -bln -bln -bln -bln -bln -bln bln +kKL +cWr +cpy +kKL +wAI +tDy +kKL +pUY +iyY +tlH +tlH +tlH dGO -lQV -vKG -kXu -jKV +qya +uRo +tUt +ivE gmW -bln +iaf +xQU kKL -bgG -kum kKL -hfh -bQr -vSr -gtc -usI -son -skp -eDx -fkk -aEU -fMP -fMP -oyV -nqL -oKb -uXm +bUc +kKL +nfe +ddB +mxP +hJg +jLK +oWb +rKR +tyg +tyg +gtw +gtw +aHZ +dac +ahW +eyG lso qEM xwz @@ -249909,7 +251519,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -249964,8 +251574,7 @@ wNO wNO wNO wNO -wNO -tCr +yhH bln uei tmR @@ -249979,48 +251588,49 @@ uei tmR uei bln -tCr bln -bln -bln -bln -bln -bln -sEB +kKL +pan +kKL +kKL +pEC +naD +kKL +kKL +kKL +mMb mMb -rMa mMb kKL kKL -kKL -kKL -qoz +iyY +dze kKL kKL kKL +rCf +lFP kKL -tFf -baq +bOB +kKL +kKL +kMd kKL -lli -iCC kKL -fbm -bQP -llG -bzn -fyh -mzs -wKm -pAp -haN -kqA -tUS cpY -ivB +wXD +bPq +upW +mfK +rKb +qFT +dCB +xJb +cpY +xzQ lso brj -pJC +mbk vBG dkg tLp @@ -250166,7 +251776,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -250221,8 +251831,7 @@ wNO wNO wNO wNO -wNO -tCr +tmZ bln uei tmR @@ -250237,47 +251846,48 @@ tmR uei bln bln -bln -bln -bln -bln -bln -bln -sEB -qSB -lli -oop -lli -lli -lli -lli +mMb +ksk +wFS +rod +rod lRZ -lli -lli -lli +lRZ +eXr +lRZ +pHf +lRZ +lRZ +pHf +tvq +lRZ +lRZ +cgo +tre bMF -ojV -fYe +tDF +twY kKL -lli -lAG +otb +aDQ +kKL +vex kKL kKL kKL kKL kKL kKL -kKL -mgN +eoU kKL kKL kKL kKL kKL kKL -rqT -pfB -gBq +woB +raS +woB vBG rMS pKw @@ -250423,7 +252033,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -250478,8 +252088,7 @@ wNO wNO wNO wNO -wNO -tCr +yhH bln uei tmR @@ -250494,45 +252103,46 @@ tmR uei bln bln -bln -bln -bln -bln -bln -bln -sEB -mMb -vLk kKL +kKL +oXO +dTN +vuV +kVz +dZr +kKL +otb +otb lli -xAb -cvF -gGF +otb +lli +kKL +bcG ssM -kKL -gAt lli +pEC kKL kKL kKL kKL lli -xRV -oDJ -pCi +otb +lli +qrt +dMh +rSp +tqA +oZo +tTS kKL -uZL -tBN -aKG +tvZ kKL -cSQ +lUO +fki +vrE +uhO kKL -kKl -beT -nwI -giD -kKL -bws +lso vwO pxn vBG @@ -250680,7 +252290,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -250735,8 +252345,7 @@ wNO wNO wNO wNO -wNO -bln +yhH bln uei tmR @@ -250750,44 +252359,45 @@ uei tmR uei bln -bln -bln -bln -bln -bln -bln -bln -bln +lBD bln kKL -qzN -gGF kKL kKL -tml +mMb +kKL +kKL +kKL +jpf +tfB +nLY +lli +gAt +kKL +lIC lRZ -tml -prf -lli -lli pQa -mJr -lTJ -lBb -gZl -kKL -orf +lXb +dcp +lli +dqe +yhF +cpD +lli +oOJ +xWM +khs kKL nqn lHA -hao +fYw kKL -cSQ +tvZ kKL -lli -lli -lli -xbf +kVI +ujn +vjO +nKs kKL rjP qEM @@ -250937,7 +252547,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -250989,11 +252599,10 @@ wNO wNO wNO wNO -wNO -tCr -tCr -tCr -bln +esJ +eSG +eSG +jaf bln uei tmR @@ -251007,7 +252616,8 @@ uei tmR uei bln -bln +fsm +lBD bln bln bln @@ -251017,34 +252627,34 @@ bxe bxe bxe mHB -lli -lli -lIC +kKL +isg +kKL kKL aIE lRZ -lIC -kKL -tml +iDC lli -iIa -bcC -iIa -vYv +dRR +otb +sIe +otb +sIe +lli +sIe +otb +unu +faq +kOP +tNL +wFJ kKL -kKL -iOc -eAS -nNv -wPZ -fRP -kKL -cSQ +tvZ cDw lli lli lli -iZy +czH kKL cwO vwO @@ -251194,8 +252804,8 @@ wNO wNO wNO wNO -wNO -otC +bln +vbG hHG hHG hHG @@ -251246,8 +252856,7 @@ wNO wNO wNO wNO -wNO -tCr +yhH bln bln bln @@ -251266,44 +252875,45 @@ bln bln bln bln +bln vsI acE acE wtX eqJ -bHS +uRP oBQ mHB gUY -lli +cgo lli kKL kKL lRZ -yej -gHm -uDW -uDW -cHy -lli -pub -xWM +mtl +otb +tDS +auD +ieZ +otb +tDS +oHx +jsc +mmT +xOH +rSp +bjy +boJ +etU kKL -knW -xFj +tvZ kKL -wbZ -oTB -aOV -kKL -cSQ -kKL -vMR -lZv -hrt +iWm +dYg +elM fpA kKL -iko +msy qEM lso bGT @@ -251363,7 +252973,7 @@ vjZ sZF gar bln -fBN +lBm vYq iAf tUh @@ -251452,7 +253062,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -251503,8 +253113,7 @@ wNO wNO wNO wNO -wNO -tCr +nyx bln cnx tmR @@ -251524,36 +253133,37 @@ tmR tmR tmR tmR +tmR rUR kxv fIs kxv jju -tJP +vEk lFG -gxh +uwd gxh gxh gxh kKL gAt -orf +mtl gAt -lli -wQI +otb +pAe kKL kKL mMb mMb kKL -cSQ +tHt kKL kKL kKL kKL kKL kKL -cSQ +tvZ kKL kKL kKL @@ -251709,7 +253319,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -251760,8 +253370,7 @@ wNO wNO wNO wNO -wNO -tCr +yhH bln bln bln @@ -251780,6 +253389,7 @@ bln bln bln bln +bln sEB acE acE @@ -251791,35 +253401,35 @@ pDQ xBL wJM wJM -gxh +uwd kKL dnL -orf +mtl kKL pVl kKL kKL -kbp +vlT tlH tlH kKL -cSQ +gmy kKL tlH tlH bln kKL -lqh -sEE -uKr -uKr -gxY +vQn +xOH +tYf +rxj +bpw asg kKL kdF qGV hUx -ikH +gHM sZF sZF sZF @@ -251877,7 +253487,7 @@ vjZ sZF gar bln -fBN +lBm vYq iAf qPY @@ -251966,7 +253576,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -252017,11 +253627,10 @@ wNO wNO wNO wNO -wNO -tCr -mVm -tCr -muK +mog +sKs +sKs +iTL bln uei tmR @@ -252035,8 +253644,9 @@ uei tmR uei bln +lBD bln -bln +lBD bln bln bln @@ -252051,7 +253661,7 @@ bqe gxh kKL hOu -orf +mtl hJx lli fAF @@ -252060,23 +253670,23 @@ kKL mMb mMb kKL -cSQ +tHt kKL mMb mMb mMb kKL -dMq +vYv lli lli kKL -dMq +gkP hFg kKL xcy rvZ hUx -mqq +uZd aLX vng gNT @@ -252223,7 +253833,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -252277,8 +253887,7 @@ wNO wNO wNO wNO -wNO -bln +yhH bln uei tmR @@ -252293,9 +253902,10 @@ tmR uei bln bln +lBD +uer bln -bln -bln +fsm bln bln bln @@ -252305,35 +253915,35 @@ cvF lli kKL mwu -gxh +uwd kKL kKL -lAG +nBc kKL jhS tOX kKL -wZZ -lli -iin +ntO +uGW +iqT kKL -cSQ -lqh -uKr -uKr -uKr -uKr -mRs +tHt +vQn +tYf +tYf +tYf +tYf +xwi igX igX kKL -cUt +eHx kKL kKL kKL fyZ hUx -mqq +uZd sZF eFS sZF @@ -252480,7 +254090,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -252534,8 +254144,7 @@ wNO wNO wNO wNO -wNO -tCr +yhH bln uei tmR @@ -252550,12 +254159,13 @@ tmR uei bln bln -ozo -bln -bln +bln +bln +mQb bln bln bln +ntK bln kKL oCv @@ -252565,16 +254175,16 @@ qqB gxh kKL weF -orf +mtl kKL moF cjI kKL -dCA -atM -atM -uKr -sEE +pQa +kFj +kFj +tzb +cXb xWM kKL kKL @@ -252584,13 +254194,13 @@ kKL kKL kKL kKL -oaa +voN aJG sQE hwE hwE cMe -mqq +uZd uvt tlP wIg @@ -252737,7 +254347,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -252790,9 +254400,8 @@ wNO wNO wNO wNO -wNO -wNO -tCr +bln +tmZ bln uei tmR @@ -252808,8 +254417,9 @@ uei bln bln bln +mQb bln -bln +mQb bln bln bln @@ -252822,13 +254432,13 @@ hJx qFW kKL hOu -orf +mtl hJx mzM hUi kKL uar -tvZ +unu kKL kKL kKL @@ -252841,13 +254451,13 @@ jSC bdS dtb hUD -iko +uhu rvZ lso lso rCu cYE -wYf +oXU idi cZU kBl @@ -252994,7 +254604,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -253047,9 +254657,8 @@ wNO wNO wNO wNO -wNO -wNO -tCr +bln +jxG bln uei tmR @@ -253063,12 +254672,13 @@ uei tmR uei bln -tCr +stJ bln bln bln bln bln +uer bln bln kKL @@ -253079,13 +254689,13 @@ lli gxh kKL kKL -orf +mtl kKL kKL kKL kKL kIl -omt +nkt kKL eIk xry @@ -253104,7 +254714,7 @@ rek rek hUx rNQ -wYf +oXU idi aID gky @@ -253251,7 +254861,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -253304,9 +254914,8 @@ wNO wNO wNO wNO -wNO -wNO -tCr +bln +yhH bln bln bln @@ -253320,9 +254929,10 @@ bln bln hty bln -tCr bln bln +lSu +lSu bln bln bln @@ -253357,11 +254967,11 @@ qMm hUD pyJ lPh -hUD +cBX hUD ebb cYE -wYf +oXU idi aID ddk @@ -253508,7 +255118,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -253562,28 +255172,28 @@ wNO wNO wNO wNO -wNO -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -tCr -mVm -tCr -tCr -bln -bln -bln -bln -bln -bln +mog +sKs +sKs +hCq +sKs +sKs +sKs +hCq +sKs +sKs +hcU +hCq +sKs +sKs +sKs +hCq +sKs +kLN +rLG +hCq +sKs +ihq kKL hTB sRI @@ -253618,7 +255228,7 @@ bzA hUD lso byK -kYz +qTE bRd fqQ wIg @@ -253765,7 +255375,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -253828,15 +255438,15 @@ wNO wNO wNO wNO -wNO -wNO -wNO +bln +ozo +bln wNO wNO wNO bln bln -bln +lSu bln bln bln @@ -253875,7 +255485,7 @@ vfo hUD lso cYE -mpZ +cLj ult bsG wGF @@ -254022,7 +255632,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -254132,7 +255742,7 @@ cLJ iQQ lso cYE -lso +rVJ ult wjz tXh @@ -254279,7 +255889,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -254349,9 +255959,9 @@ wNO wNO wNO bln +uer bln -bln -bln +stJ bln bln bln @@ -254367,7 +255977,7 @@ tml kKL kLb qpd -ydD +ixq kKL gkP kKL @@ -254389,7 +255999,7 @@ bwl hUD uff cYE -acw +wiy ult hpC rIU @@ -254536,7 +256146,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -254610,7 +256220,7 @@ bln bln bln bln -bln +uer bln kKL kKL @@ -254646,7 +256256,7 @@ wND iQQ rvZ cYE -lso +rVJ ult vuq tfM @@ -254793,7 +256403,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -254863,11 +256473,11 @@ wNO wNO wNO bln +mQb bln bln bln -bln -bln +lBD bln mMb lIC @@ -254901,9 +256511,9 @@ sEi sEi naP hUD -rqT -cjl -rqT +mqA +prw +mqA ult ult wBk @@ -255050,7 +256660,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -255122,7 +256732,7 @@ wNO bln bln bln -bln +uer bln bln bln @@ -255307,7 +256917,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -255378,7 +256988,7 @@ wNO wNO bln bln -bln +lBD bln bln bln @@ -255564,7 +257174,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -255637,7 +257247,7 @@ bln bln bln bln -bln +lBD bln kKL pGJ @@ -255661,7 +257271,7 @@ poy poy lNk hUD -jEr +mgJ rGd whC hUD @@ -255821,7 +257431,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -256078,7 +257688,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -256335,7 +257945,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -256421,8 +258031,8 @@ kKL lOU glI buY -kyl -fAh +hkd +uXu kKL pzV uZn @@ -256592,7 +258202,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -256679,7 +258289,7 @@ qAS fUc jaX glI -jzs +gZR kKL kKL mbG @@ -256849,7 +258459,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -256936,7 +258546,7 @@ mqO fUc sBi xYA -mMZ +ldi lUC vhm oLG @@ -257106,7 +258716,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -257363,7 +258973,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -257449,7 +259059,7 @@ kKL bpQ epd oih -obg +dmL lUC lUC dMH @@ -257620,7 +259230,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -257706,8 +259316,8 @@ kKL dvS pwd glI -jzP -jzs +tsR +gZR lUC tXV kvX @@ -257877,7 +259487,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -257964,7 +259574,7 @@ pfP apD ugG gIt -pYw +fkc lUC ccT nyC @@ -258134,7 +259744,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -258391,7 +260001,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -258468,7 +260078,7 @@ wNO bln bln bln -bln +ozo bln bln sEB @@ -258648,7 +260258,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -258725,7 +260335,7 @@ wNO bln bln bln -ozo +bln bln bln sEB @@ -258905,7 +260515,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -259162,7 +260772,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -259419,7 +261029,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -259674,9 +261284,9 @@ wNO wNO wNO wNO -khz +fpv wNO -otC +vbG hHG hHG hHG @@ -259933,14 +261543,14 @@ wNO wNO wNO wNO -uFg +aTx hHG hHG hHG -khz +fpv wNO wNO -khz +fpv wNO wNO wNO @@ -260191,8 +261801,8 @@ wNO wNO bln bln -xDQ -xDQ +cIH +cIH bln bln bln @@ -260448,8 +262058,8 @@ wNO wNO bln bln -wUD -wUD +oEn +oEn bln bln bln @@ -260705,8 +262315,8 @@ wNO wNO bln bln -rPp -rPp +nao +nao bln bln bln @@ -260961,7 +262571,7 @@ wNO wNO wNO uer -otC +vbG hHG hHG hHG @@ -261215,17 +262825,17 @@ wNO wNO wNO wNO -khz +fpv wNO -aaX -otC +tpt +vbG hHG hHG hHG -khz +fpv wNO wNO -khz +fpv wNO wNO wNO @@ -261474,8 +263084,8 @@ wNO wNO wNO wNO -fhB -otC +cIL +vbG hHG hHG hHG @@ -261732,7 +263342,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -261989,7 +263599,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -262246,7 +263856,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -262503,7 +264113,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -262760,7 +264370,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -262848,7 +264458,7 @@ wNO wNO wNO bln -fBN +lBm bln bln bln @@ -262879,7 +264489,7 @@ bln bln bln bln -fBN +lBm bln bln cSx @@ -263017,7 +264627,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -263274,7 +264884,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -263531,7 +265141,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -263788,7 +265398,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -264045,7 +265655,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -264133,7 +265743,7 @@ wNO wNO wNO bln -fBN +lBm bln bln bln @@ -264164,7 +265774,7 @@ bln bln bln bln -fBN +lBm bln bln bln @@ -264302,7 +265912,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -264559,7 +266169,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -264816,7 +266426,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -265073,7 +266683,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -265317,7 +266927,7 @@ wNO wNO wNO wNO -lgH +xUu kDs kDs kDs @@ -265330,7 +266940,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -265418,7 +267028,7 @@ wNO wNO wNO bln -fBN +lBm bln bln bln @@ -265449,7 +267059,7 @@ bln bln bln bln -fBN +lBm bln bln bln @@ -265587,7 +267197,7 @@ tkU wNO wNO wNO -otC +vbG hHG hHG hHG @@ -265832,7 +267442,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -265844,7 +267454,7 @@ tkU wNO wNO wNO -otC +vbG hHG hHG hHG @@ -266089,7 +267699,7 @@ wNO wNO tkU tkU -lgH +oyR hHG hHG hHG @@ -266101,7 +267711,7 @@ tkU wNO wNO wNO -otC +vbG hHG hHG hHG @@ -266346,7 +267956,7 @@ wNO tkU tkU tkU -wNO +bln hHG hHG hHG @@ -266358,7 +267968,7 @@ tkU wNO wNO wNO -otC +vbG hHG hHG hHG @@ -266603,7 +268213,7 @@ wNO tkU tkU tkU -wNO +bln hHG hHG hHG @@ -266615,7 +268225,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -266703,7 +268313,7 @@ wNO wNO wNO bln -fBN +lBm bln bln bln @@ -266734,7 +268344,7 @@ bln bln bln bln -fBN +lBm bln bln bln @@ -266860,7 +268470,7 @@ wNO tkU tkU tkU -wNO +fNU hHG hHG hHG @@ -266872,7 +268482,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -267117,7 +268727,7 @@ wNO tkU tkU tkU -lgH +oyR hHG hHG hHG @@ -267129,7 +268739,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -267374,7 +268984,7 @@ wNO wNO tkU tkU -wNO +bln hHG hHG hHG @@ -267386,7 +268996,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -267631,7 +269241,7 @@ wNO wNO tkU tkU -wNO +bln hHG hHG hHG @@ -267643,7 +269253,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -267888,7 +269498,7 @@ wNO wNO tkU tkU -wNO +bln hHG hHG hHG @@ -267900,7 +269510,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -267988,7 +269598,7 @@ wNO wNO wNO bln -fBN +lBm bln bln bln @@ -268019,7 +269629,7 @@ bln bln bln bln -fBN +lBm bln bln bln @@ -268034,9 +269644,9 @@ bln bln bln bln -fBN +lBm bln -fBN +lBm bln wNO wNO @@ -268145,7 +269755,7 @@ wNO wNO tkU tkU -wNO +bln hHG hHG hHG @@ -268157,7 +269767,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -268402,7 +270012,7 @@ wNO wNO tkU tkU -wNO +bln hHG hHG hHG @@ -268414,7 +270024,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -268659,7 +270269,7 @@ wNO wNO tkU tkU -lgH +oyR hHG hHG hHG @@ -268671,7 +270281,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -268916,7 +270526,7 @@ wNO wNO tkU tkU -wNO +bln hHG hHG hHG @@ -268928,7 +270538,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -269173,7 +270783,7 @@ wNO wNO wNO tkU -wNO +bln hHG hHG hHG @@ -269185,7 +270795,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -269273,7 +270883,7 @@ wNO wNO bln bln -fBN +lBm bln bln bln @@ -269304,7 +270914,7 @@ bln bln bln bln -fBN +lBm bln bln wNO @@ -269430,7 +271040,7 @@ wNO wNO wNO tkU -wNO +bln hHG hHG hHG @@ -269442,7 +271052,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -269687,7 +271297,7 @@ wNO wNO wNO tkU -wNO +bln hHG hHG hHG @@ -269699,7 +271309,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -269944,7 +271554,7 @@ wNO wNO wNO tkU -wNO +bln hHG hHG hHG @@ -269956,7 +271566,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -270201,7 +271811,7 @@ wNO wNO wNO wNO -lgH +oyR hHG hHG hHG @@ -270213,7 +271823,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -270455,10 +272065,10 @@ wNO (235,1,3) = {" wNO wNO -lgH -wNO +oyR wNO wNO +bln hHG hHG hHG @@ -270470,7 +272080,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -270712,10 +272322,10 @@ wNO (236,1,3) = {" wNO wNO -aaX -wNO +tpt wNO wNO +cBQ hHG hHG hHG @@ -270727,7 +272337,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -270969,10 +272579,10 @@ wNO (237,1,3) = {" wNO wNO -fhB -wNO +cIL wNO wNO +bln hHG hHG hHG @@ -270984,7 +272594,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -271229,7 +272839,7 @@ wNO wNO wNO wNO -lgH +oyR hHG hHG hHG @@ -271241,7 +272851,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -271486,7 +273096,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -271498,7 +273108,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -271743,7 +273353,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -271755,7 +273365,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -272000,7 +273610,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -272012,7 +273622,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -272257,7 +273867,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -272269,7 +273879,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -272514,7 +274124,7 @@ wNO wNO wNO wNO -lgH +oyR hHG hHG hHG @@ -272526,11 +274136,11 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG -aaX +tpt wNO wNO wNO @@ -272771,7 +274381,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -272783,11 +274393,11 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG -fhB +cIL wNO wNO wNO @@ -273028,7 +274638,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -273040,7 +274650,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -273285,7 +274895,7 @@ wNO wNO wNO wNO -lgH +oyR hHG hHG hHG @@ -273298,8 +274908,8 @@ wNO wNO bln bln -xDQ -xDQ +cIH +cIH bln bln wNO @@ -273542,7 +275152,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -273555,8 +275165,8 @@ wNO wNO bln bln -wUD -wUD +oEn +oEn bln bln bln @@ -273799,7 +275409,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -273812,8 +275422,8 @@ wNO wNO bln bln -rPp -rPp +nao +nao bln bln bln @@ -274056,7 +275666,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -274068,7 +275678,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -274313,7 +275923,7 @@ wNO wNO wNO wNO -lgH +oyR hHG hHG hHG @@ -274325,7 +275935,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -274570,7 +276180,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -274582,7 +276192,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -274827,7 +276437,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -274839,7 +276449,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -275084,7 +276694,7 @@ wNO wNO wNO wNO -lgH +oyR hHG hHG hHG @@ -275096,7 +276706,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -275341,7 +276951,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -275353,7 +276963,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG @@ -275598,7 +277208,7 @@ wNO wNO wNO wNO -wNO +bln hHG hHG hHG @@ -275610,7 +277220,7 @@ wNO wNO wNO wNO -otC +vbG hHG hHG hHG diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 3b2fcb7fc99..372cdeaf271 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -2,6 +2,13 @@ "aaa" = ( /turf/open/space/basic, /area/space) +"aac" = ( +/obj/structure/cable, +/obj/machinery/power/smes/super/full{ + name = "ai power storage unit" + }, +/turf/open/floor/circuit/green, +/area/station/ai_monitored/turret_protected/ai) "aak" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -8075,23 +8082,6 @@ }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"cNO" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/obj/machinery/portable_atmospherics/pump/lil_pump, -/obj/machinery/camera/directional/west{ - c_tag = "Ordnance Mixing Lab"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -28 - }, -/obj/effect/mapping_helpers/airalarm/mixingchamber_access, -/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/science/ordnance/burnchamber) "cNP" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 @@ -8211,25 +8201,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"cQI" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 6; - pixel_y = 5 - }, -/obj/machinery/ecto_sniffer{ - pixel_x = -6 - }, -/obj/item/mod/core/standard{ - pixel_x = -4 - }, -/obj/item/mod/core/standard{ - pixel_x = 4 - }, -/obj/item/mod/core/standard, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/station/science/robotics/lab) "cQJ" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/decal/cleanable/dirt, @@ -9761,15 +9732,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/chapel/monastery) -"dot" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/mob/living/basic/trooper/russian{ - environment_smash = 0; - loot = list(/obj/effect/mob_spawn/corpse/human/russian) - }, -/turf/open/floor/carpet/green, -/area/station/maintenance/port/greater) "doy" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -11177,6 +11139,17 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/science/research) +"dLK" = ( +/obj/machinery/firealarm/directional/east, +/mob/living/simple_animal/bot/mulebot, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "QM #1" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/iron/dark, +/area/station/cargo/storage) "dLN" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ @@ -11276,16 +11249,6 @@ }, /turf/open/floor/iron, /area/station/security/prison) -"dNO" = ( -/obj/structure/kitchenspike, -/obj/effect/turf_decal/bot/left, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/obj/effect/mapping_helpers/airalarm/tlv_cold_room, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "dOg" = ( /obj/item/kirbyplants{ icon_state = "plant-22" @@ -11482,6 +11445,25 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"dRw" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/machinery/ecto_sniffer{ + pixel_x = -6 + }, +/obj/item/mod/core/standard{ + pixel_x = -4 + }, +/obj/item/mod/core/standard{ + pixel_x = 4 + }, +/obj/item/mod/core/standard, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/station/science/robotics/lab) "dRF" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -13157,14 +13139,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"ewr" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/blood/old, -/mob/living/basic/goat/pete, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "ewt" = ( /obj/effect/turf_decal/arrows/red{ dir = 4; @@ -15692,6 +15666,14 @@ /obj/machinery/status_display/ai/directional/east, /turf/open/floor/iron/white, /area/station/security/prison/mess) +"fox" = ( +/obj/structure/chair/stool/bar/directional/west, +/mob/living/basic/trooper/russian{ + environment_smash = 0; + loot = list(/obj/effect/mob_spawn/corpse/human/russian) + }, +/turf/open/floor/wood, +/area/station/maintenance/port/greater) "foB" = ( /obj/structure/table/wood/fancy/black, /obj/item/food/grown/poppy/geranium{ @@ -18615,15 +18597,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"ggK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/event_spawn, -/mob/living/basic/trooper/russian{ - environment_smash = 0; - loot = list(/obj/effect/mob_spawn/corpse/human/russian) - }, -/turf/open/floor/carpet/green, -/area/station/maintenance/port/greater) "ggS" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance) @@ -36926,18 +36899,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"map" = ( -/obj/effect/turf_decal/bot, -/obj/item/radio/intercom/directional/north, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/power/smes/super/full{ - name = "ai power storage unit" - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/satellite) "maA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ @@ -39222,17 +39183,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) -"mMF" = ( -/obj/machinery/firealarm/directional/east, -/mob/living/simple_animal/bot/mulebot, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "QM #1" - }, -/obj/effect/turf_decal/delivery, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/iron/dark, -/area/station/cargo/storage) "mMJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/stripes/corner{ @@ -46528,14 +46478,6 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) -"pmR" = ( -/obj/structure/chair/stool/bar/directional/west, -/mob/living/basic/trooper/russian{ - environment_smash = 0; - loot = list(/obj/effect/mob_spawn/corpse/human/russian) - }, -/turf/open/floor/wood, -/area/station/maintenance/port/greater) "pnl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46646,6 +46588,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"poF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/directional/east, +/obj/effect/landmark/start/lawyer, +/obj/effect/landmark/start/lawyer, +/obj/effect/landmark/start/lawyer, +/obj/effect/landmark/start/lawyer, +/turf/open/floor/carpet/green, +/area/station/service/lawoffice) "poK" = ( /obj/machinery/suit_storage_unit/ce, /obj/effect/turf_decal/delivery, @@ -47490,17 +47441,6 @@ /obj/effect/decal/cleanable/generic, /turf/open/floor/plating, /area/station/maintenance/department/bridge) -"pEf" = ( -/mob/living/simple_animal/bot/mulebot, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "QM #2" - }, -/obj/effect/turf_decal/delivery, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/iron/dark, -/area/station/cargo/storage) "pEt" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -48726,6 +48666,15 @@ }, /turf/open/floor/iron, /area/station/command/bridge) +"pXM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/event_spawn, +/mob/living/basic/trooper/russian{ + environment_smash = 0; + loot = list(/obj/effect/mob_spawn/corpse/human/russian) + }, +/turf/open/floor/carpet/green, +/area/station/maintenance/port/greater) "pXN" = ( /obj/structure/closet/secure_closet/personal/cabinet, /obj/machinery/newscaster/directional/east, @@ -53634,13 +53583,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/medical) -"rEB" = ( -/obj/structure/cable, -/obj/machinery/power/smes/super/full{ - name = "ai power storage unit" - }, -/turf/open/floor/circuit/green, -/area/station/ai_monitored/turret_protected/ai) "rEE" = ( /obj/effect/turf_decal/bot, /obj/machinery/conveyor{ @@ -54077,6 +54019,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/misc/asteroid, /area/space/nearstation) +"rLN" = ( +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/power/smes/super/full{ + name = "ai power storage unit" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/satellite) "rLR" = ( /obj/structure/sign/warning/docking, /turf/closed/wall/rust, @@ -59761,6 +59715,16 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"tzG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/aquarium/lawyer, +/turf/open/floor/wood, +/area/station/service/lawoffice) "tzH" = ( /obj/machinery/computer/station_alert, /obj/effect/turf_decal/bot, @@ -60050,6 +60014,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/cargo/drone_bay) +"tDI" = ( +/mob/living/simple_animal/bot/mulebot, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "QM #2" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/iron/dark, +/area/station/cargo/storage) "tDJ" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 4; @@ -60414,6 +60389,14 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) +"tKR" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/mob/living/basic/goat/pete, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "tKS" = ( /obj/structure/table, /obj/item/clipboard, @@ -61662,6 +61645,16 @@ }, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) +"ufi" = ( +/obj/structure/kitchenspike, +/obj/effect/turf_decal/bot/left, +/obj/machinery/airalarm/directional/north{ + pixel_y = 24 + }, +/obj/effect/mapping_helpers/airalarm/tlv_cold_room, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "ufy" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -62256,18 +62249,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) -"unQ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/item/kirbyplants{ - icon_state = "plant-10" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) "unS" = ( /obj/effect/turf_decal/bot, /obj/machinery/portable_atmospherics/canister/nitrous_oxide, @@ -68613,11 +68594,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"wmM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/directional/east, -/turf/open/floor/carpet/green, -/area/station/service/lawoffice) "wnc" = ( /obj/structure/dresser, /obj/machinery/light/small/directional/north, @@ -73316,6 +73292,23 @@ "xOI" = ( /turf/closed/wall/r_wall, /area/station/engineering/lobby) +"xOK" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/machinery/portable_atmospherics/pump/lil_pump, +/obj/machinery/camera/directional/west{ + c_tag = "Ordnance Mixing Lab"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -28 + }, +/obj/effect/mapping_helpers/airalarm/mixingchamber_access, +/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/station/science/ordnance/burnchamber) "xOP" = ( /obj/effect/turf_decal/box/corners{ dir = 1 @@ -74518,6 +74511,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"yiU" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/mob/living/basic/trooper/russian{ + environment_smash = 0; + loot = list(/obj/effect/mob_spawn/corpse/human/russian) + }, +/turf/open/floor/carpet/green, +/area/station/maintenance/port/greater) "yiW" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -85395,7 +85397,7 @@ vku acm vjh xVH -dot +yiU oFt gfc vjh @@ -86166,7 +86168,7 @@ whj jKJ vjh jeZ -ggK +pXM kJx paM fvr @@ -86424,7 +86426,7 @@ xpM sjV spr xKn -pmR +fox iEy vjh eVP @@ -99297,7 +99299,7 @@ era cXT lam aia -unQ +tzG rxJ rxJ rxJ @@ -100068,7 +100070,7 @@ xHn jCm qnL spE -wmM +poF ojs iIX rhT @@ -103332,7 +103334,7 @@ ciI rRJ asZ asZ -rEB +aac aay iBD cdY @@ -104371,7 +104373,7 @@ aAg asZ asZ ihg -map +rLN fSZ mHd kZH @@ -108019,9 +108021,9 @@ pLB hxw irL bXz -dNO +ufi dMp -ewr +tKR jDF rzV jgB @@ -111086,7 +111088,7 @@ lhJ mQu ggZ cDZ -cQI +dRw dqw bla lGQ @@ -115482,8 +115484,8 @@ chT wrY tVt qAR -mMF -pEf +dLK +tDI sFt lmO wer @@ -116491,7 +116493,7 @@ hjk oTD loO oTD -cNO +xOK kFN uYh hvz diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 3e24c506add..764b7141b18 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -47,6 +47,17 @@ "aav" = ( /turf/open/space, /area/space) +"aay" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "aaz" = ( /obj/effect/spawner/random/trash/cigbutt, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -62,6 +73,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"aaO" = ( +/obj/structure/cable, +/obj/machinery/netpod, +/obj/machinery/light/directional/west, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "abI" = ( /obj/structure/chair/stool/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -177,6 +195,10 @@ }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"adM" = ( +/obj/machinery/status_display/supply, +/turf/closed/wall, +/area/station/cargo/storage) "adS" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -276,6 +298,16 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/carpet, /area/station/commons/dorms) +"afX" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "afZ" = ( /obj/machinery/vending/coffee, /obj/structure/disposalpipe/segment, @@ -326,22 +358,6 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"agQ" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/south{ - name = "Cargo Desk"; - req_access = list("shipping") - }, -/obj/item/paper_bin{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/paper/crumpled{ - pixel_x = 7 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/cargo/sorting) "agR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -379,6 +395,18 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/lockers) +"ahl" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "aho" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=9.4-Escape-4"; @@ -469,6 +497,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/office) +"ajF" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "ajI" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -716,14 +752,15 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"anW" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, +"aoa" = ( /obj/structure/cable, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/construction/storage_wing) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "aok" = ( /turf/open/floor/iron, /area/station/cargo/storage) @@ -731,6 +768,13 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) +"apa" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/arrows/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "apg" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible, @@ -738,15 +782,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/atmos) -"aps" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "apt" = ( /obj/machinery/icecream_vat, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -792,18 +827,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"apZ" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "aqa" = ( /obj/machinery/portable_atmospherics/pump, /obj/machinery/firealarm/directional/north, @@ -846,6 +869,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/locker) +"aqz" = ( +/obj/machinery/vending/wardrobe/cargo_wardrobe, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron, +/area/station/cargo/storage) "aqG" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -971,13 +1002,6 @@ }, /turf/open/floor/iron, /area/station/security/office) -"atS" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "aub" = ( /obj/effect/spawner/random/structure/grille, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -995,6 +1019,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/port) +"aul" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Outer Vault"; + name = "storage wing camera"; + network = list("ss13","vault") + }, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/obj/structure/window/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "aum" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -1010,6 +1047,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"auv" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/trimline/brown/filled/arrow_cw{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "auw" = ( /obj/machinery/door/airlock{ id_tag = "Cabin7"; @@ -1025,12 +1069,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"auO" = ( -/obj/machinery/light_switch/directional/east, -/obj/structure/cable, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/cargo/storage) "ava" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/item/storage/box/lights/mixed, @@ -1115,6 +1153,27 @@ /obj/item/pillow/random, /turf/open/floor/carpet, /area/station/commons/dorms) +"awi" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Space Bridge Access" + }, +/obj/machinery/button/door/directional/north{ + id = "supplybridge"; + name = "Shuttle Bay Space Bridge Control" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "awy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1306,6 +1365,14 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/dorms) +"aAr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "aAs" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -1446,6 +1513,19 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"aCK" = ( +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk, +/obj/structure/window/spawner/directional/west, +/obj/structure/window/spawner/directional/south, +/obj/structure/window/spawner/directional/east, +/turf/open/floor/plating, +/area/station/cargo/storage) "aCM" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -1571,6 +1651,26 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/construction/storage_wing) +"aEJ" = ( +/obj/machinery/light_switch/directional/south, +/obj/machinery/conveyor_switch/oneway{ + id = "packageSort2"; + name = "Sort and Deliver"; + pixel_x = -2; + pixel_y = 12 + }, +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "packageExternal"; + name = "Crate Returns"; + pixel_x = -5; + pixel_y = -3 + }, +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "aEW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -1580,6 +1680,22 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/station/security/checkpoint/science) +"aFc" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin{ + name = "Jim Norton's Quebecois Coffee disposal unit" + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "aFd" = ( /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, @@ -1594,6 +1710,13 @@ /obj/effect/spawner/random/bureaucracy/paper, /turf/open/floor/wood, /area/station/commons/dorms) +"aFG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, +/obj/effect/landmark/start/depsec/supply, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "aFW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/mirror/directional/west, @@ -1616,6 +1739,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"aGl" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "aGm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -1755,6 +1882,15 @@ "aIw" = ( /turf/open/floor/plating/airless, /area/station/solars/port/fore) +"aIy" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "aIA" = ( /obj/machinery/door/airlock/maintenance{ name = "Medbay Maintenance" @@ -1768,16 +1904,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"aIE" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "aIO" = ( /obj/machinery/dna_scannernew, /obj/effect/turf_decal/siding/purple{ @@ -2044,13 +2170,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"aMA" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "aMB" = ( /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/dark, @@ -2103,6 +2222,11 @@ }, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) +"aNE" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/effect/turf_decal/siding/thinplating_new, +/turf/open/floor/iron, +/area/station/cargo/storage) "aNG" = ( /obj/machinery/camera/directional/west{ c_tag = "Bridge - Starboard Access" @@ -2144,10 +2268,17 @@ /obj/machinery/holopad/secure, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"aOg" = ( -/obj/machinery/holopad, -/turf/open/floor/iron, -/area/station/cargo/sorting) +"aOh" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"aOn" = ( +/obj/structure/cable, +/obj/machinery/netpod, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "aOo" = ( /obj/structure/sink/kitchen/directional/south{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; @@ -2264,32 +2395,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"aQE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/disposal) -"aQP" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/landmark/start/bitrunner, -/turf/open/floor/iron/dark/textured_half, -/area/station/cargo/bitrunning/den) "aQR" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -2343,6 +2448,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"aRU" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "aRV" = ( /obj/machinery/porta_turret/ai{ dir = 1 @@ -2442,35 +2559,6 @@ "aTV" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai) -"aUj" = ( -/obj/structure/closet/crate/preopen, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap{ - pixel_y = 2 - }, -/obj/item/stack/package_wrap{ - pixel_y = 5 - }, -/obj/structure/sign/map/left{ - desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; - icon_state = "map-left-MS"; - pixel_y = 32 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/effect/spawner/random/bureaucracy/birthday_wrap, -/turf/open/floor/iron, -/area/station/cargo/lobby) -"aUk" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/sign/map/right{ - desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; - icon_state = "map-right-MS"; - pixel_y = 32 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "aUm" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, @@ -2479,6 +2567,21 @@ /obj/effect/spawner/random/structure/grille, /turf/open/space/basic, /area/space/nearstation) +"aUq" = ( +/obj/structure/sign/poster/random/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "aUt" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/blue/filled/warning{ @@ -2504,6 +2607,17 @@ }, /turf/open/floor/iron/dark, /area/station/service/cafeteria) +"aUI" = ( +/obj/structure/window/spawner/directional/west, +/obj/structure/window/spawner/directional/east, +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) "aUK" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -2551,6 +2665,10 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/engineering/atmos) +"aVx" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "aVP" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -2600,6 +2718,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/service/theater) +"aWy" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/sorting) "aWB" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/item/clothing/head/costume/festive, @@ -2643,10 +2769,16 @@ "aXa" = ( /turf/closed/wall, /area/station/security/prison/mess) -"aXq" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, +"aXp" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, /turf/open/floor/iron, -/area/station/cargo/lobby) +/area/station/cargo/miningoffice) "aXE" = ( /obj/machinery/door/airlock/maintenance{ name = "Service Maintenance" @@ -2953,13 +3085,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"baW" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/turf/open/floor/iron, -/area/station/cargo/lobby) "bbd" = ( /obj/machinery/duct, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -3605,26 +3730,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/white, /area/station/security/prison/mess) -"bnv" = ( -/obj/structure/table, -/obj/item/folder/yellow{ - pixel_x = 3; - pixel_y = 1 - }, -/obj/item/folder/yellow{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/folder/yellow{ - pixel_x = 3; - pixel_y = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "bnw" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/bot, @@ -3730,6 +3835,13 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"bnT" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "boc" = ( /obj/effect/decal/cleanable/dirt, /obj/item/storage/belt/utility, @@ -3839,6 +3951,27 @@ /obj/item/clothing/mask/cigarette/pipe, /turf/open/floor/wood, /area/station/commons/lounge) +"bqE" = ( +/obj/structure/table, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 2 + }, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 5 + }, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/soda_cans{ + pixel_x = -7; + pixel_y = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "bqJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3851,6 +3984,11 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) +"bqL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "bqX" = ( /turf/closed/wall/r_wall, /area/station/medical/chemistry) @@ -3873,6 +4011,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"brB" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/iron, +/area/station/cargo/sorting) "brE" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -3982,13 +4125,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"bte" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/cargo/storage) "btn" = ( /obj/effect/decal/cleanable/dirt, /obj/item/storage/box/drinkingglasses, @@ -4015,13 +4151,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"btB" = ( -/obj/machinery/power/terminal, -/obj/machinery/light/small/directional/east, -/obj/item/radio/intercom/directional/east, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "btG" = ( /obj/structure/window/spawner/directional/west, /obj/structure/table, @@ -4044,16 +4173,6 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) -"btP" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/supply/cargo_bay, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "bug" = ( /obj/structure/lattice, /obj/item/tank/internals/oxygen/empty, @@ -4196,6 +4315,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"bwk" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/trimline/brown/filled/end{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/iron, +/area/station/cargo/sorting) "bwr" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -4266,6 +4393,15 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"bxN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/arrows/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "bxO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -4348,6 +4484,22 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/service/hydroponics) +"bzc" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/landmark/start/bitrunner, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half, +/area/station/cargo/bitrunning/den) "bzv" = ( /obj/effect/spawner/random/entertainment/arcade, /obj/structure/cable, @@ -4576,14 +4728,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/office) -"bEh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/light/floor, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "bEv" = ( /obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ name = "Burn Chamber Exterior Airlock" @@ -4649,6 +4793,18 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"bFx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/mining{ + name = "Mining Office" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "bFC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment{ @@ -4686,10 +4842,6 @@ /obj/effect/spawner/random/structure/crate_loot, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"bGt" = ( -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron, -/area/station/cargo/sorting) "bGC" = ( /turf/closed/wall, /area/station/hallway/primary/central) @@ -4936,6 +5088,13 @@ "bLd" = ( /turf/closed/wall, /area/station/maintenance/starboard/aft) +"bLf" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "bLh" = ( /obj/effect/turf_decal/trimline/green/line{ dir = 1 @@ -4969,16 +5128,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/green, /area/station/maintenance/port/aft) -"bLC" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "packageExternal" - }, -/obj/structure/window/spawner/directional/west, -/obj/structure/plasticflaps/opaque, -/obj/structure/window/spawner/directional/east, -/turf/open/floor/plating, -/area/station/cargo/sorting) "bLQ" = ( /turf/closed/wall, /area/station/medical/coldroom) @@ -5099,6 +5248,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"bNO" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "bNP" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -5113,12 +5271,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"bNU" = ( -/obj/effect/spawner/random/maintenance, -/obj/structure/closet/crate/internals, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "bOk" = ( /obj/machinery/light/directional/west, /obj/item/radio/intercom/directional/west, @@ -5143,13 +5295,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"bPa" = ( -/obj/machinery/computer/security/qm{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "bPi" = ( /obj/structure/chair/office{ dir = 8 @@ -5187,6 +5332,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"bPT" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/railing, +/turf/open/floor/iron, +/area/station/cargo/lobby) "bQj" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -5255,6 +5407,9 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel) +"bRy" = ( +/turf/closed/wall, +/area/station/cargo/lobby) "bRF" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/iron, @@ -5313,14 +5468,6 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"bSm" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "bSr" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/machinery/airalarm/directional/west, @@ -5640,6 +5787,10 @@ /obj/machinery/telecomms/server/presets/command, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) +"bXm" = ( +/obj/item/radio/intercom/directional/south, +/turf/closed/wall, +/area/station/cargo/lobby) "bXn" = ( /obj/machinery/atmospherics/components/trinary/filter, /turf/open/floor/plating, @@ -5713,6 +5864,15 @@ "bYz" = ( /turf/open/floor/circuit, /area/station/maintenance/port/aft) +"bYN" = ( +/obj/effect/turf_decal/siding/wideplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "bZb" = ( /obj/structure/table, /obj/machinery/button/door{ @@ -5786,6 +5946,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"cbd" = ( +/obj/machinery/disposal/delivery_chute, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/window/spawner/directional/west, +/obj/structure/window/spawner/directional/east, +/obj/structure/plasticflaps, +/turf/open/floor/plating, +/area/station/cargo/sorting) "cbg" = ( /obj/effect/turf_decal/tile/purple{ dir = 1 @@ -5860,14 +6033,6 @@ "cdX" = ( /turf/closed/wall, /area/station/engineering/storage/tech) -"cdY" = ( -/obj/item/radio/intercom/directional/east, -/obj/machinery/autolathe, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "cem" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -5957,12 +6122,17 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/commons/dorms) -"cfv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/preopen, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/warehouse) +"cfq" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "cfy" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -5977,12 +6147,6 @@ dir = 1 }, /area/station/security/prison) -"cgk" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "cgl" = ( /obj/structure/chair/stool/bar/directional/south, /obj/effect/turf_decal/siding/wood{ @@ -6117,9 +6281,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/white, /area/station/science/explab) -"cjJ" = ( -/turf/open/floor/carpet/red, -/area/station/command/heads_quarters/qm) "cky" = ( /obj/machinery/power/shieldwallgen, /obj/machinery/light/cold/directional/east, @@ -6166,10 +6327,6 @@ "clq" = ( /turf/open/floor/carpet, /area/station/security/detectives_office) -"clA" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall, -/area/station/cargo/warehouse) "clE" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -6275,6 +6432,29 @@ /obj/structure/closet/crate/engineering/electrical, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"cnG" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/shipping{ + pixel_x = -6; + pixel_y = 15 + }, +/obj/item/multitool{ + pixel_x = -3; + pixel_y = -4 + }, +/obj/item/storage/box/lights/mixed{ + pixel_x = 8; + pixel_y = 11 + }, +/obj/item/flashlight/lamp{ + pixel_x = -7; + pixel_y = 5 + }, +/obj/item/storage/box/shipping{ + pixel_x = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "cnK" = ( /turf/closed/wall, /area/station/engineering/main) @@ -6302,6 +6482,14 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) +"coG" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/arrow_cw{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/arrow_ccw, +/turf/open/floor/iron, +/area/station/cargo/lobby) "coJ" = ( /obj/structure/chair/stool/directional/north, /obj/effect/decal/cleanable/blood/old, @@ -6952,14 +7140,6 @@ dir = 4 }, /area/station/science/lobby) -"cyR" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/item/chair, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron, -/area/station/cargo/lobby) "cyS" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6998,6 +7178,11 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/security/lockers) +"czz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "czG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7136,6 +7321,15 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) +"cCT" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "cDb" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -7285,12 +7479,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"cHN" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/depsec/supply, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "cHQ" = ( /obj/machinery/computer/security/mining{ dir = 1 @@ -7378,16 +7566,6 @@ /obj/structure/sign/directions/evac, /turf/closed/wall/r_wall, /area/station/medical/chemistry) -"cJQ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Quartermaster Maintenance" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/qm, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "cKd" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 @@ -7431,6 +7609,12 @@ /obj/item/hand_labeler, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"cKP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/station/maintenance/port/fore) "cKW" = ( /obj/structure/secure_safe/directional/north, /obj/machinery/camera/directional/north{ @@ -7447,13 +7631,6 @@ dir = 1 }, /area/station/commons/fitness) -"cLc" = ( -/obj/structure/chair/office, -/obj/effect/landmark/start/quartermaster, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "cLj" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -7587,30 +7764,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"cOB" = ( -/obj/structure/table, -/obj/item/paper_bin/bundlenatural{ - pixel_x = -19; - pixel_y = 5 - }, -/obj/item/paper_bin/bundlenatural{ - pixel_x = -7; - pixel_y = 5 - }, -/obj/item/paper_bin/bundlenatural{ - pixel_x = -19; - pixel_y = 9 - }, -/obj/item/paperplane{ - pixel_x = 9 - }, -/obj/item/paperplane{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/cargo/sorting) "cON" = ( /obj/structure/table, /obj/item/pai_card, @@ -7664,27 +7817,6 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/wood, /area/station/command/corporate_showroom) -"cQc" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Space Bridge Access" - }, -/obj/machinery/button/door/directional/north{ - id = "supplybridge"; - name = "Shuttle Bay Space Bridge Control" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "cQn" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -7767,19 +7899,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"cSb" = ( -/obj/structure/plasticflaps, -/obj/machinery/disposal/delivery_chute, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/west, -/turf/open/floor/plating, -/area/station/cargo/sorting) "cSg" = ( /obj/structure/chair/comfy/brown{ dir = 4 @@ -7805,14 +7924,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"cSq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/mech_bay_power_console{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "cSv" = ( /obj/effect/turf_decal/delivery, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -7914,22 +8025,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"cTQ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Disposal Conveyor Access" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/disposal) -"cTU" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/circuit/green{ - luminosity = 2 - }, -/area/station/ai_monitored/command/nuke_storage) "cUd" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -7950,6 +8045,17 @@ }, /turf/open/floor/wood, /area/station/security/office) +"cUr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "cUw" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -7964,12 +8070,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/wood, /area/station/commons/dorms) -"cUD" = ( -/obj/machinery/door/airlock/maintenance, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "cUH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -8016,6 +8116,18 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"cVI" = ( +/obj/effect/landmark/start/quartermaster, +/obj/structure/cable, +/obj/effect/turf_decal/tile/brown/diagonal_centre, +/obj/effect/turf_decal/tile/yellow/diagonal_edge, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/diagonal, +/area/station/cargo/storage) "cVJ" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 @@ -8143,12 +8255,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) -"cYg" = ( -/obj/effect/turf_decal/bot_white, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/storage) "cYx" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -8225,12 +8331,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/service/hydroponics) -"cZu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "cZw" = ( /obj/structure/cable, /turf/open/floor/iron/dark/corner{ @@ -8279,6 +8379,13 @@ "daC" = ( /turf/open/floor/wood, /area/station/service/lawoffice) +"daD" = ( +/obj/structure/cable, +/obj/machinery/power/terminal, +/obj/machinery/light/small/directional/east, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "daT" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/open/floor/iron, @@ -8392,19 +8499,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/bridge) +"ddo" = ( +/obj/effect/turf_decal/trimline/brown/filled/end{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/effect/spawner/random/vending/colavend, +/turf/open/floor/iron, +/area/station/cargo/lobby) "ddq" = ( /obj/structure/showcase/cyborg/old{ pixel_y = 20 }, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"ddr" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "ddu" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -8631,6 +8739,17 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/space, /area/space/nearstation) +"dgn" = ( +/obj/machinery/conveyor/inverted{ + dir = 10; + id = "QMLoad2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/railing, +/turf/open/floor/plating, +/area/station/cargo/storage) "dgt" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -8720,13 +8839,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"dhy" = ( -/obj/structure/chair, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "dhN" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -8820,24 +8932,17 @@ /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) +"dje" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "dji" = ( /obj/structure/lattice, /obj/structure/sign/warning/electric_shock/directional/south, /turf/open/space/basic, /area/space/nearstation) -"djG" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"dka" = ( -/obj/effect/turf_decal/arrows/red{ - dir = 4 - }, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) "dkx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, @@ -8889,6 +8994,11 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"dlD" = ( +/obj/structure/cable, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "dlG" = ( /obj/structure/cable, /obj/item/radio/intercom/directional/north, @@ -8935,6 +9045,11 @@ "dno" = ( /turf/open/floor/iron/white, /area/station/medical/virology) +"dnw" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/structure/crate_loot, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "dnH" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -9226,6 +9341,14 @@ dir = 1 }, /area/station/engineering/atmos/storage/gas) +"dsx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "dsI" = ( /obj/machinery/airalarm/directional/south, /obj/effect/turf_decal/tile/blue, @@ -9267,6 +9390,14 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"dtL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "dtY" = ( /obj/machinery/meter/monitored/waste_loop, /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ @@ -9285,23 +9416,6 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"dup" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/textured_half, -/area/station/cargo/bitrunning/den) "duu" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -9430,11 +9544,6 @@ /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"dxl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "dxo" = ( /obj/structure/railing{ dir = 6 @@ -9453,6 +9562,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"dxF" = ( +/obj/machinery/light/small/dim/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "dxK" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/purple, @@ -9504,11 +9618,49 @@ }, /turf/open/floor/plating, /area/station/science/lab) +"dyC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/item/stamp/head/qm{ + pixel_x = 4; + pixel_y = 12 + }, +/obj/item/stamp/granted{ + pixel_x = -5; + pixel_y = 12 + }, +/obj/item/stamp/denied{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/stamp/void{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/effect/spawner/random/entertainment/money_medium{ + pixel_y = -6; + pixel_x = 3 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "dzw" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"dzV" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/trimline/red/filled/warning/corner, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "dzY" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine/n2o, @@ -9540,18 +9692,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron, /area/station/science/research) -"dBv" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/cargo/storage) "dBV" = ( /obj/docking_port/stationary/escape_pod{ dir = 4 @@ -9668,6 +9808,11 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating/airless, /area/station/solars/starboard/fore) +"dDY" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/holopad, +/turf/open/floor/iron, +/area/station/cargo/sorting) "dDZ" = ( /obj/machinery/door/airlock/external{ name = "Common Mining Dock" @@ -9708,6 +9853,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"dEQ" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/structure/cable, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron, +/area/station/cargo/storage) "dEV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9971,6 +10122,19 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/storage) +"dKs" = ( +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "QMLoad"; + name = "Loading Conveyor"; + pixel_x = -13; + pixel_y = -5 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "dKC" = ( /turf/closed/wall, /area/station/maintenance/aft/lesser) @@ -10097,6 +10261,11 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/white, /area/station/security/prison/safe) +"dMa" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "dMb" = ( /obj/structure/table, /obj/item/analyzer, @@ -10106,6 +10275,22 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"dMd" = ( +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/item/radio/off{ + pixel_x = -11; + pixel_y = -3 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/item/binoculars, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "dMk" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, @@ -10182,17 +10367,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"dOe" = ( -/obj/effect/turf_decal/stripes/line{ +"dOa" = ( +/obj/structure/cable, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 8 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/turf/open/floor/iron, +/area/station/construction/storage_wing) "dOg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -10317,6 +10499,37 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/central) +"dQe" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/obj/machinery/door/window/right/directional/south{ + name = "Cargo Desk"; + req_access = list("shipping") + }, +/obj/item/newspaper{ + pixel_x = -5 + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) +"dQh" = ( +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Brig Maintenance" + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "dQy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/random/directional/east, @@ -10463,6 +10676,9 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) +"dSf" = ( +/turf/open/floor/iron, +/area/station/hallway/primary/central) "dSB" = ( /obj/machinery/door/airlock/grunge{ name = "Cell 3" @@ -10763,11 +10979,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plating, /area/station/security/prison) -"dXp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "dXs" = ( /obj/structure/secure_safe/directional/north{ name = "armory safe A" @@ -11124,13 +11335,6 @@ "edu" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/starboard/aft) -"edA" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "edC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11176,6 +11380,15 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"een" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/bot_white, +/obj/structure/cable, +/obj/effect/turf_decal/arrows/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "eeq" = ( /obj/machinery/computer/security{ dir = 8 @@ -11208,6 +11421,11 @@ }, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) +"eeD" = ( +/obj/structure/lattice/catwalk, +/obj/item/toy/figure/cargotech, +/turf/open/space/basic, +/area/space/nearstation) "eeT" = ( /obj/machinery/vending/hydroseeds{ slogan_delay = 700 @@ -11419,6 +11637,15 @@ dir = 8 }, /area/station/service/chapel) +"ehT" = ( +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "ehX" = ( /turf/open/floor/iron/dark, /area/station/medical/storage) @@ -11440,6 +11667,18 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"eic" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) +"eiu" = ( +/obj/effect/landmark/start/cargo_technician, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) "eiO" = ( /obj/structure/table, /obj/item/storage/backpack/duffelbag/sec{ @@ -11448,16 +11687,6 @@ /obj/item/storage/backpack/duffelbag/sec, /turf/open/floor/iron/dark, /area/station/security/office) -"eiZ" = ( -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/water, -/area/station/service/hydroponics/garden) "eje" = ( /obj/structure/chair{ dir = 4 @@ -11481,12 +11710,6 @@ /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, /area/station/commons/dorms) -"ejo" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "ejp" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line, @@ -11600,6 +11823,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"ekC" = ( +/obj/machinery/light/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "ekG" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -11747,6 +11983,17 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"emr" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/autolathe, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "emN" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -11807,6 +12054,21 @@ /obj/item/compact_remote, /turf/open/floor/iron/white, /area/station/science/explab) +"eoe" = ( +/obj/structure/cable, +/turf/closed/wall/r_wall, +/area/station/ai_monitored/command/nuke_storage) +"eoi" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Warehouse Maintenance" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/plating, +/area/station/cargo/warehouse) "eoj" = ( /obj/machinery/meter{ name = "Mixed Air Tank Out" @@ -11867,29 +12129,6 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"epv" = ( -/obj/structure/table, -/obj/item/hand_labeler{ - pixel_y = 11 - }, -/obj/item/stack/package_wrap{ - pixel_x = 2; - pixel_y = -3 - }, -/obj/item/stack/package_wrap{ - pixel_x = 2; - pixel_y = -3 - }, -/obj/item/hand_labeler_refill{ - pixel_x = -8; - pixel_y = 3 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "epF" = ( /obj/machinery/chem_master/condimaster{ desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; @@ -12002,27 +12241,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"erM" = ( -/obj/structure/table/wood, -/obj/effect/mapping_helpers/broken_floor, -/obj/item/clipboard{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/stamp{ - pixel_x = 7; - pixel_y = 9 - }, -/obj/item/stamp/denied{ - pixel_x = 7; - pixel_y = 4 - }, -/obj/item/stamp/head/qm{ - pixel_x = 7; - pixel_y = -2 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "erP" = ( /obj/structure/transit_tube/curved{ dir = 1 @@ -12361,6 +12579,19 @@ }, /turf/open/floor/iron, /area/station/security/warden) +"ewG" = ( +/obj/item/emptysandbag, +/obj/item/emptysandbag, +/obj/item/emptysandbag, +/obj/item/emptysandbag{ + pixel_x = 8 + }, +/obj/item/emptysandbag{ + pixel_x = -9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "ewR" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -12384,15 +12615,6 @@ /obj/structure/cable, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) -"exr" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/turf/open/floor/wood, -/area/station/service/lawoffice) "exC" = ( /obj/effect/turf_decal/plaque{ icon_state = "L3" @@ -12499,6 +12721,23 @@ }, /turf/open/floor/grass, /area/station/science/research) +"eAu" = ( +/obj/effect/spawner/random/maintenance, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"eAB" = ( +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk, +/obj/structure/window/spawner/directional/west, +/obj/machinery/light/small/directional/south, +/obj/structure/window/spawner/directional/east, +/turf/open/floor/plating, +/area/station/cargo/sorting) "eAL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, @@ -12546,6 +12785,15 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) +"eCd" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "eCg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12662,6 +12910,17 @@ /obj/effect/mapping_helpers/airlock/access/any/command/maintenance, /turf/open/floor/plating, /area/station/maintenance/central) +"eEL" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining{ + name = "Deliveries" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/shipping, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/cargo/sorting) "eEP" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/engine, @@ -12763,6 +13022,14 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"eGF" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) "eGJ" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line, @@ -12880,12 +13147,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"eKk" = ( -/obj/machinery/computer/cargo{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "eKv" = ( /obj/machinery/portable_atmospherics/canister, /obj/structure/cable, @@ -12929,13 +13190,6 @@ }, /turf/open/floor/carpet, /area/station/command/corporate_showroom) -"eLb" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "eLh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -13089,17 +13343,18 @@ /obj/machinery/vending/wardrobe/coroner_wardrobe, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"eNP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "eNR" = ( /turf/closed/wall, /area/station/ai_monitored/aisat/exterior) -"eNU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "eNV" = ( /obj/effect/turf_decal/delivery, /obj/effect/spawner/random/structure/crate, @@ -13323,6 +13578,12 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"eSn" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "eSr" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/engine, @@ -13440,16 +13701,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"eVh" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "packageExternal" - }, -/obj/structure/plasticflaps/opaque, -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/east, -/turf/open/floor/plating, -/area/station/cargo/sorting) "eVi" = ( /obj/structure/closet/firecloset, /turf/open/floor/iron/dark, @@ -13652,21 +13903,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/virology) -"eYL" = ( -/obj/structure/table/reinforced, -/obj/item/multitool{ - pixel_x = -3; - pixel_y = -4 - }, -/obj/item/storage/box/lights/mixed{ - pixel_x = 11; - pixel_y = 11 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "eYT" = ( /obj/structure/table, /obj/machinery/recharger{ @@ -13726,6 +13962,13 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"eZO" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "eZR" = ( /obj/structure/displaycase/labcage, /turf/open/floor/engine, @@ -13805,6 +14048,15 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) +"fby" = ( +/obj/effect/spawner/random/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "fbE" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -13837,6 +14089,18 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"fbS" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "fbX" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 @@ -13855,20 +14119,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"fco" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "fcq" = ( /turf/closed/wall, /area/station/maintenance/port/greater) -"fcw" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/mining{ - name = "Deliveries" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/cargo/sorting) "fcA" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -13895,22 +14156,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"fdi" = ( -/obj/machinery/disposal/bin, -/obj/machinery/camera/directional/east{ - c_tag = "Garden" - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/wideplating_new, -/obj/structure/railing, -/obj/effect/turf_decal/tile/green/half/contrasted, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "fdl" = ( /obj/effect/decal/cleanable/food/flour, /obj/effect/turf_decal/tile/red/opposingcorners, @@ -13923,10 +14168,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"fdI" = ( -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "fdQ" = ( /obj/structure/rack, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -14049,10 +14290,29 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"fgm" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "fgn" = ( /mob/living/simple_animal/hostile/retaliate/goose/vomit, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"fgt" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "fgu" = ( /obj/machinery/light/directional/south, /obj/effect/spawner/random/vending/colavend, @@ -14237,15 +14497,6 @@ "fiA" = ( /turf/open/floor/iron, /area/station/security/prison/garden) -"fiC" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/storage) "fiE" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -14266,6 +14517,12 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) +"fiN" = ( +/obj/structure/cable, +/obj/effect/spawner/random/maintenance, +/obj/machinery/recharge_station, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "fiS" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 4 @@ -14273,6 +14530,17 @@ /obj/effect/turf_decal/siding/purple, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"fiU" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/disposal/delivery_chute, +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/plasticflaps, +/turf/open/floor/plating, +/area/station/cargo/sorting) "fjb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14358,43 +14626,20 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"fkv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "fky" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron, /area/station/security/courtroom) -"fkC" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/item/paper_bin{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/item/paper_bin{ - pixel_x = 8; - pixel_y = 11 - }, -/obj/item/folder/yellow{ - pixel_x = -6; - pixel_y = 8 - }, -/obj/item/folder/yellow{ - pixel_x = -9; - pixel_y = 1 - }, -/obj/item/paper{ - pixel_x = -5 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "fkD" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -14527,6 +14772,14 @@ "fma" = ( /turf/closed/wall/r_wall, /area/station/science/robotics/lab) +"fmb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "fmn" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/holopad, @@ -14740,17 +14993,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/safe) -"fpH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, +"fpG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/station/maintenance/disposal) +/area/station/maintenance/port/fore) "fqB" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/cable, @@ -14859,6 +15110,19 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"fsd" = ( +/obj/machinery/conveyor/inverted{ + dir = 6; + id = "QMLoad" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "fsh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -14875,6 +15139,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"fsO" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "fsQ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -14911,6 +15184,15 @@ /obj/structure/sign/warning/pods, /turf/closed/wall, /area/station/commons/locker) +"ftQ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/water, +/area/station/service/hydroponics/garden) "fuc" = ( /obj/structure/frame/machine{ anchored = 1 @@ -14931,6 +15213,20 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"fuQ" = ( +/obj/structure/closet/crate/preopen, +/obj/effect/spawner/random/bureaucracy/birthday_wrap, +/obj/item/stack/package_wrap{ + pixel_y = 5 + }, +/obj/item/stack/package_wrap{ + pixel_y = 2 + }, +/obj/item/stack/package_wrap, +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/cargo/lobby) "fvE" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/medical/central) @@ -14973,14 +15269,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"fwZ" = ( -/obj/machinery/light/directional/west, -/obj/machinery/computer/piratepad_control/civilian{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "fxa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15142,6 +15430,23 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"fAv" = ( +/obj/machinery/mineral/ore_redemption{ + dir = 4; + input_dir = 8; + output_dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/east{ + name = "Ore Redemption Window" + }, +/obj/machinery/door/window/left/directional/west{ + req_access = list("cargo"); + name = "Cargo Security Window" + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "fAE" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -15166,6 +15471,14 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/engineering/atmos) +"fBh" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron, +/area/station/cargo/storage) "fBo" = ( /obj/machinery/door/window/left/directional/west{ name = "Magboot Storage"; @@ -15224,11 +15537,6 @@ /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/central) -"fCO" = ( -/obj/structure/cable, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "fDc" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ @@ -15244,11 +15552,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"fDo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "fDC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -15358,6 +15661,11 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) +"fFp" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/security/checkpoint/supply) "fFq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -15510,6 +15818,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/teleporter) +"fHw" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "fHy" = ( /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating/airless, @@ -15545,18 +15863,20 @@ }, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"fHX" = ( -/obj/machinery/holopad, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "fIo" = ( /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/gateway) +"fIs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/arrows/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "fIE" = ( /obj/machinery/telecomms/server/presets/supply, /turf/open/floor/circuit/telecomms/mainframe, @@ -15773,11 +16093,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) -"fMr" = ( -/obj/effect/spawner/random/maintenance, -/obj/machinery/recharge_station, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "fMy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -15787,13 +16102,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"fMC" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/medical/virology) "fMN" = ( /obj/machinery/firealarm/directional/west, /obj/structure/disposalpipe/segment{ @@ -15891,20 +16199,6 @@ /obj/machinery/gateway/centerstation, /turf/open/floor/iron/dark, /area/station/command/gateway) -"fPj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/siding/wideplating_new/corner, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "fPw" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/iron/dark, @@ -15943,6 +16237,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"fQE" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/bot_white, +/obj/structure/closet/crate, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "fQW" = ( /obj/machinery/door/airlock/mining/glass{ name = "Mining Dock" @@ -16012,27 +16315,11 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/fore) -"fRZ" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/light_switch/directional/south, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "fSd" = ( /obj/structure/chair/stool/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/commons/lounge) -"fSw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/vault{ - pixel_y = 30 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "fSz" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment{ @@ -16234,13 +16521,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/lesser) -"fWU" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/sorting) "fWW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -16517,6 +16797,16 @@ }, /turf/open/floor/iron, /area/station/security/office) +"gcM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/structure/fake_stairs/directional/north, +/turf/open/floor/iron, +/area/station/cargo/storage) "gcU" = ( /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/airlock/access/all/science/robotics, @@ -16769,13 +17059,6 @@ "ghL" = ( /turf/closed/wall/r_wall, /area/space/nearstation) -"gib" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "gil" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1 @@ -16788,25 +17071,6 @@ }, /turf/open/floor/engine, /area/station/science/ordnance) -"gip" = ( -/obj/structure/table/wood, -/obj/machinery/fax{ - fax_name = "Quartermaster's Office"; - name = "Quartermaster's Fax Machine" - }, -/obj/machinery/light/directional/west, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) -"giz" = ( -/obj/machinery/conveyor/inverted{ - dir = 10; - id = "QMLoad2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/cargo/storage) "giA" = ( /turf/closed/wall/r_wall, /area/station/tcommsat/computer) @@ -16935,16 +17199,25 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"gkS" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ +"gkQ" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/landmark/start/bitrunner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half, +/area/station/cargo/bitrunning/den) "gkU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, @@ -17112,6 +17385,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"goc" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Disposal Conveyor Access" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "gog" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -17129,18 +17411,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"goG" = ( -/obj/item/radio/intercom/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Cargo Bay - Fore" - }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/box/red, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "goW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/closet, @@ -17170,6 +17440,19 @@ /obj/structure/chair/wood/wings, /turf/open/floor/carpet, /area/station/service/theater) +"gpk" = ( +/obj/structure/table, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/storage/bag/plants/portaseeder, +/obj/item/crowbar, +/obj/item/reagent_containers/cup/watering_can, +/obj/item/cultivator, +/obj/item/hatchet, +/obj/item/plant_analyzer, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "gpv" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -17235,16 +17518,6 @@ }, /turf/open/floor/plating, /area/station/science/genetics) -"gqw" = ( -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/south, -/mob/living/basic/chicken{ - name = "Kentucky"; - real_name = "Kentucky" - }, -/obj/structure/flora/grass/jungle/b/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics/garden) "gqA" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/machinery/button/door/directional/south{ @@ -17318,6 +17591,16 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/medical/cryo) +"grr" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "grw" = ( /obj/structure/chair{ dir = 1 @@ -17327,28 +17610,6 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"grI" = ( -/obj/machinery/door/airlock/external{ - name = "Solar Maintenance" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) -"grR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/directional/east{ - c_tag = "Outer Vault"; - name = "storage wing camera"; - network = list("ss13","vault") - }, -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/window/spawner/directional/south, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "grZ" = ( /obj/structure/chair, /obj/machinery/camera/directional/north{ @@ -17409,6 +17670,14 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"gta" = ( +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "gtb" = ( /turf/open/floor/iron/white, /area/station/medical/pharmacy) @@ -17463,6 +17732,14 @@ /obj/machinery/door/poddoor/incinerator_atmos_main, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) +"guv" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/rnd/production/techfab/department/cargo, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "guC" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -17867,12 +18144,6 @@ "gBD" = ( /turf/closed/wall/r_wall, /area/station/command/teleporter) -"gBN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "gBY" = ( /obj/structure/closet/emcloset, /obj/machinery/light/small/directional/west, @@ -17922,6 +18193,12 @@ /obj/item/storage/box/prisoner, /turf/open/floor/iron, /area/station/security/execution/transfer) +"gCH" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "gCT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -17930,6 +18207,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/central) +"gCV" = ( +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "gCW" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -18151,6 +18437,14 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) +"gGS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "gHo" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -18542,6 +18836,13 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/storage) +"gNx" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/sorting) "gNy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -18593,10 +18894,6 @@ /obj/structure/sign/poster/random/directional/east, /turf/open/floor/iron, /area/station/service/hydroponics) -"gOb" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/sorting) "gOp" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -18730,6 +19027,14 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"gSe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink{ + dir = 8; + pixel_x = 14 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "gSn" = ( /obj/item/wrench, /turf/open/floor/iron, @@ -18738,6 +19043,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) +"gSE" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "gSH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/machinery/rnd/server/master, @@ -18853,13 +19165,6 @@ "gUS" = ( /turf/closed/wall, /area/station/science/xenobiology/hallway) -"gUX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/effect/spawner/random/maintenance, -/obj/item/stock_parts/cell, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "gUY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -19164,10 +19469,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"haq" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/cargo/sorting) "hav" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -19207,6 +19508,19 @@ "hbv" = ( /turf/closed/wall/r_wall, /area/station/medical/coldroom) +"hby" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "hbK" = ( /turf/closed/wall, /area/station/maintenance/department/science/xenobiology) @@ -19282,6 +19596,7 @@ /obj/effect/turf_decal/tile/bar{ dir = 1 }, +/obj/structure/window/spawner/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/service) "hcv" = ( @@ -19292,11 +19607,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"hcx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "hcP" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -19333,6 +19643,13 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/central) +"hdd" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "hdg" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -19357,6 +19674,14 @@ /obj/structure/sign/warning/electric_shock, /turf/open/floor/engine, /area/station/science/xenobiology) +"hdH" = ( +/obj/effect/turf_decal/bot, +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/arrows{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "hdI" = ( /obj/machinery/light_switch/directional/north, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -19387,12 +19712,6 @@ /obj/item/stack/package_wrap, /turf/open/floor/iron, /area/station/security/prison/work) -"hen" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "hep" = ( /obj/effect/landmark/blobstart, /obj/effect/mapping_helpers/burnt_floor, @@ -19515,16 +19834,14 @@ dir = 8 }, /area/station/engineering/atmos) -"hgH" = ( -/obj/effect/landmark/blobstart, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ +"hhi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/junction/flip{ dir = 4 }, /turf/open/floor/plating, -/area/station/maintenance/port/greater) +/area/station/maintenance/port/fore) "hhl" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/table, @@ -19537,6 +19854,17 @@ }, /turf/open/floor/iron/dark, /area/station/security/range) +"hho" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/cargo/sorting) "hhp" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -19560,6 +19888,16 @@ /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"him" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/poddoor/shutters{ + name = "Warehouse Shutters"; + id = "warehouse" + }, +/turf/open/floor/catwalk_floor, +/area/station/cargo/warehouse) "hio" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -19727,13 +20065,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison) -"hlb" = ( -/obj/machinery/photocopier, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "hld" = ( /obj/machinery/disposal/delivery_chute{ dir = 1; @@ -19823,12 +20154,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"hlG" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/water, -/area/station/service/hydroponics/garden) "hlN" = ( /obj/structure/frame/machine{ anchored = 1 @@ -19914,11 +20239,6 @@ }, /turf/open/floor/plating, /area/station/engineering/main) -"hod" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/storage) "hoE" = ( /obj/structure/sign/map/left{ desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; @@ -20032,6 +20352,15 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) +"hrv" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron, +/area/station/cargo/lobby) "hrG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20063,13 +20392,6 @@ dir = 8 }, /area/station/service/chapel/office) -"hsp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "hsF" = ( /obj/machinery/door/airlock{ id_tag = "AuxToilet3"; @@ -20470,10 +20792,6 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"hyd" = ( -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) "hye" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -20582,6 +20900,12 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/cytology) +"hzR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/caution, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "hAk" = ( /obj/structure/cable, /obj/effect/landmark/start/hangover, @@ -20872,12 +21196,6 @@ /obj/structure/closet/secure_closet/atmospherics, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"hFj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "hFz" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -20898,6 +21216,15 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"hGa" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "hGi" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -20922,14 +21249,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) -"hGv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/obj/structure/cable, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "hGF" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -21000,11 +21319,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white/smooth_large, /area/station/medical/surgery/aft) -"hIE" = ( -/obj/structure/cable, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "hIJ" = ( /obj/structure/cable, /obj/machinery/chem_heater/withbuffer, @@ -21092,48 +21406,12 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port) -"hKq" = ( -/obj/structure/table/wood/fancy/orange, -/obj/machinery/requests_console/directional/east{ - department = "Quartermaster's Desk"; - name = "Quartermaster's Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/item/reagent_containers/cup/glass/bottle/whiskey{ - pixel_x = -5; - pixel_y = 4 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = 2; - pixel_y = -4 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ - pixel_x = -9; - pixel_y = -4 - }, -/turf/open/floor/carpet/red, -/area/station/command/heads_quarters/qm) "hKv" = ( /obj/structure/chair/pew/left, /turf/open/floor/iron/chapel{ dir = 1 }, /area/station/service/chapel) -"hKw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "hKB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ @@ -21325,6 +21603,29 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"hOF" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"hOP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_y = 48; + pixel_x = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "hOR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/spawner/random/trash/soap{ @@ -21414,6 +21715,31 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"hRg" = ( +/obj/machinery/computer/cargo{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/button/door/directional/west{ + id = "QMLoaddoor"; + layer = 4; + name = "Loading Doors"; + pixel_y = -8; + req_access = list("cargo") + }, +/obj/machinery/button/door/directional/west{ + id = "QMLoaddoor2"; + layer = 4; + name = "Loading Doors"; + pixel_y = 8; + req_access = list("cargo") + }, +/obj/item/reagent_containers/cup/soda_cans{ + pixel_x = -5; + pixel_y = 15 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "hRl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/engine, @@ -21544,11 +21870,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hSP" = ( -/obj/machinery/space_heater, -/obj/structure/sign/warning/vacuum/external/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "hSQ" = ( /obj/structure/bodycontainer/morgue/beeper_off{ dir = 8 @@ -21564,18 +21885,6 @@ /obj/effect/landmark/navigate_destination, /turf/open/floor/iron, /area/station/command/gateway) -"hTn" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/button/door/directional/west{ - id = "Disposal Exit"; - name = "Disposal Vent Control"; - req_access = list("maint_tunnels") - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "hTq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, /turf/open/floor/iron, @@ -21761,21 +22070,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/locker) -"hWS" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Cargo Bay Bridge Access" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "hWW" = ( /obj/structure/bookcase/random, /turf/open/floor/iron, @@ -22204,6 +22498,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/storage/primary) +"ifu" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "ifE" = ( /obj/structure/cable, /obj/effect/spawner/random/engineering/tracking_beacon, @@ -22255,6 +22556,46 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"igk" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/item/coin/gold{ + pixel_y = 12; + pixel_x = -3 + }, +/obj/item/coin/gold{ + pixel_x = 4; + pixel_y = 16 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/item/ammo_casing/rocket{ + pixel_x = -10; + pixel_y = 18; + name = "Dud Rocket"; + desc = "An 84mm High Explosive rocket. This one's a dud. Pretty sure." + }, +/obj/item/computer_disk/quartermaster{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/effect/spawner/random/entertainment/lighter{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/item/clipboard{ + pixel_x = -5; + pixel_y = 31 + }, +/obj/item/folder/yellow{ + pixel_x = 3; + pixel_y = 8 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "ign" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -22521,13 +22862,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/minisat, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/satellite) -"ikJ" = ( -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "ikL" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -22670,16 +23004,6 @@ /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron, /area/station/engineering/storage_shared) -"ilY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/clothing/shoes/wheelys/rollerskates{ - pixel_y = 5 - }, -/obj/item/clothing/shoes/wheelys/rollerskates, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "imt" = ( /obj/effect/turf_decal/trimline/neutral/warning{ dir = 9 @@ -22799,10 +23123,6 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"ioz" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/sorting) "ioZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22834,6 +23154,12 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/fore) +"ipI" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "ipM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23006,6 +23332,15 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) +"isq" = ( +/obj/effect/spawner/random/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "isr" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /obj/machinery/door/poddoor/shutters/radiation/preopen{ @@ -23020,6 +23355,11 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"isG" = ( +/obj/structure/fake_stairs/directional/east, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "isI" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -23088,6 +23428,16 @@ }, /turf/open/floor/carpet, /area/station/command/bridge) +"itx" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/computer/security/qm{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "itB" = ( /obj/machinery/computer/security/telescreen{ dir = 8; @@ -23164,6 +23514,22 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"ivb" = ( +/obj/machinery/disposal/bin, +/obj/machinery/camera/directional/east{ + c_tag = "Garden" + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/wideplating_new, +/obj/structure/railing, +/obj/effect/turf_decal/tile/green/half/contrasted, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "ivc" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -23220,19 +23586,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"ivX" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/button/door/directional/east{ - id = "qm_warehouse"; - name = "Warehouse Door Control"; - req_access = list("cargo") - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "iwj" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -23261,6 +23614,14 @@ /obj/item/clothing/glasses/welding, /turf/open/floor/iron, /area/station/science/robotics/lab) +"iwI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "iwL" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/structure/disposalpipe/segment{ @@ -23362,16 +23723,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"iyv" = ( -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Cargo Office"; - name = "Cargo Office Fax Machine" - }, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/cargo/sorting) "iyy" = ( /obj/structure/table, /obj/item/folder/white{ @@ -23577,6 +23928,17 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/white, /area/station/security/prison/mess) +"iBb" = ( +/obj/structure/cable, +/obj/machinery/camera/motion/directional/south{ + c_tag = "Vault"; + network = list("vault") + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "iBf" = ( /obj/structure/closet, /obj/item/stack/sheet/iron{ @@ -23632,20 +23994,6 @@ /obj/effect/spawner/random/armory/bulletproof_helmet, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"iCz" = ( -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/vault{ - name = "Vault" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/structure/cable, -/obj/effect/landmark/navigate_destination, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/supply/vault, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "iCJ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ @@ -23687,6 +24035,16 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark, /area/station/security/range) +"iDA" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "iDG" = ( /obj/structure/table, /obj/item/stock_parts/scanning_module{ @@ -23744,6 +24102,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"iEX" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "iEZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -23919,19 +24282,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"iJd" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/machinery/requests_console/directional/north{ - department = "Law Office"; - name = "Lawyer Requests Console" - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/wood, -/area/station/service/lawoffice) "iJj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, @@ -23941,17 +24291,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/command) -"iJm" = ( -/obj/machinery/door/airlock/external{ - name = "Solar Maintenance" +"iJv" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Cargo Bay Maintenance" }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) +/area/station/cargo/storage) "iJC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24040,11 +24386,6 @@ }, /turf/open/space, /area/space/nearstation) -"iLj" = ( -/obj/structure/window/spawner/directional/west, -/obj/structure/flora/rock/pile, -/turf/open/floor/grass, -/area/station/service/hydroponics/garden) "iLk" = ( /obj/effect/turf_decal/plaque{ icon_state = "L12" @@ -24079,30 +24420,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"iLV" = ( -/obj/structure/table/wood/fancy/orange, -/obj/item/clothing/mask/cigarette/cigar{ - pixel_x = -4; - pixel_y = 1 - }, -/obj/item/clothing/mask/cigarette/cigar{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/clothing/mask/cigarette/cigar{ - pixel_x = -1; - pixel_y = -2 - }, -/obj/item/lighter{ - pixel_x = 11; - pixel_y = -7 - }, -/obj/item/coin/gold{ - pixel_x = 9; - pixel_y = 9 - }, -/turf/open/floor/carpet/red, -/area/station/command/heads_quarters/qm) "iMd" = ( /obj/structure/bed/medical/emergency{ dir = 4 @@ -24222,28 +24539,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating/airless, /area/space/nearstation) -"iNk" = ( -/obj/structure/table/wood/fancy/orange, -/obj/item/gps{ - gpstag = "QM0"; - pixel_x = 10; - pixel_y = 12 - }, -/obj/machinery/status_display/supply{ - pixel_x = 32 - }, -/obj/item/storage/wallet{ - pixel_x = -3; - pixel_y = 10 - }, -/obj/item/ammo_casing/rocket{ - desc = "Your grandpappy brought this home after the war. You're pretty sure it's a dud."; - name = "Dud Rocket"; - pixel_x = -4; - pixel_y = -7 - }, -/turf/open/floor/carpet/red, -/area/station/command/heads_quarters/qm) "iNo" = ( /obj/structure/filingcabinet/filingcabinet, /obj/machinery/camera/directional/south{ @@ -24317,6 +24612,15 @@ "iOr" = ( /turf/closed/wall/r_wall, /area/station/security/prison/garden) +"iOt" = ( +/obj/structure/table/glass, +/obj/machinery/reagentgrinder{ + pixel_y = 8 + }, +/obj/effect/turf_decal/tile/green/half/contrasted, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/virology) "iOD" = ( /obj/machinery/atmospherics/components/binary/tank_compressor{ dir = 8 @@ -24539,13 +24843,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/medical/storage) -"iRR" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/cargo/lobby) "iRW" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -24641,6 +24938,15 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"iTM" = ( +/obj/structure/cable, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/arrows/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "iTO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24672,19 +24978,6 @@ "iTZ" = ( /turf/closed/wall/r_wall, /area/station/security/lockers) -"iUb" = ( -/obj/structure/table/wood, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/pen/red, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching Prison Wing holding areas."; - name = "Prison Monitor"; - network = list("prison"); - pixel_y = 30 - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) "iUe" = ( /obj/structure/table/wood, /obj/item/lipstick{ @@ -24718,16 +25011,6 @@ "iUv" = ( /turf/closed/wall/r_wall, /area/station/security/prison) -"iUw" = ( -/obj/machinery/conveyor_switch/oneway{ - dir = 8; - id = "QMLoad"; - name = "Loading Conveyor"; - pixel_x = -13; - pixel_y = -5 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "iUE" = ( /obj/effect/spawner/random/maintenance, /obj/structure/cable, @@ -24743,6 +25026,30 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"iUM" = ( +/obj/machinery/newscaster/directional/east, +/obj/structure/table, +/obj/item/stack/package_wrap{ + pixel_x = 2; + pixel_y = -3 + }, +/obj/item/stack/package_wrap{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/end{ + dir = 1 + }, +/obj/item/pen{ + pixel_x = -7; + pixel_y = 10 + }, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_y = 16 + }, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron, +/area/station/cargo/sorting) "iVi" = ( /obj/machinery/door/airlock{ id_tag = "Cabin6"; @@ -24884,22 +25191,6 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/white, /area/station/science/ordnance/office) -"iXq" = ( -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/mining{ - name = "Bitrunning Den" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/turf/open/floor/iron/dark/textured_half, -/area/station/cargo/bitrunning/den) "iXt" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/purple, @@ -24926,6 +25217,28 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/central) +"iXZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/item/hand_labeler_refill{ + pixel_x = 12; + pixel_y = -3 + }, +/obj/effect/spawner/random/bureaucracy/birthday_wrap{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/item/stack/package_wrap{ + pixel_x = -6; + pixel_y = 18 + }, +/obj/item/hand_labeler, +/obj/item/stack/package_wrap, +/turf/open/floor/iron, +/area/station/cargo/sorting) "iYc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25155,17 +25468,6 @@ /obj/item/shard, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"jbN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/wideplating_new, -/obj/structure/railing, -/obj/effect/turf_decal/tile/green/half/contrasted, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "jcc" = ( /obj/structure/rack, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -25219,13 +25521,13 @@ /obj/structure/window/fulltile, /turf/open/floor/grass, /area/station/hallway/secondary/exit/departure_lounge) -"jdn" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/structure/disposalpipe/segment{ - dir = 4 +"jdj" = ( +/obj/structure/window/spawner/directional/south, +/obj/machinery/computer/cargo/request{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/cargo/lobby) +/turf/open/floor/plating, +/area/station/cargo/sorting) "jdv" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25455,22 +25757,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics) -"jgQ" = ( -/obj/structure/table, -/obj/item/stack/wrapping_paper, -/obj/item/stack/wrapping_paper{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/bureaucracy/birthday_wrap, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "jgT" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -25527,6 +25813,15 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"jhM" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "jhS" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -25543,6 +25838,13 @@ /obj/machinery/meter, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"jir" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/arrows/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "jis" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -25614,6 +25916,18 @@ /obj/item/food/grown/banana, /turf/open/floor/grass, /area/station/medical/virology) +"jjE" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Central Primary Hallway - Fore - Port Corner" + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/machinery/computer/piratepad_control/civilian{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "jjF" = ( /obj/structure/table/reinforced, /obj/item/holosign_creator/robot_seat/bar, @@ -25674,6 +25988,24 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"jkL" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + location = "Disposals" + }, +/obj/structure/plasticflaps, +/obj/machinery/door/window/right/directional/south{ + name = "Delivery Door"; + req_access = list("cargo") + }, +/obj/machinery/conveyor{ + dir = 1; + id = "garbage" + }, +/obj/structure/plasticflaps, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "jkT" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -25698,10 +26030,6 @@ /obj/item/soap, /turf/open/floor/iron/white, /area/station/science/xenobiology/hallway) -"jld" = ( -/obj/structure/chair/stool/directional/west, -/turf/open/floor/iron, -/area/station/cargo/sorting) "jln" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit/red, @@ -25793,17 +26121,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) -"jmN" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Port Primary Hallway - Middle" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "jmR" = ( /obj/structure/closet/secure_closet/security/cargo, /obj/machinery/airalarm/directional/north, @@ -25904,6 +26221,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"joC" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "joP" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood{ @@ -26011,6 +26334,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/genetics) +"jre" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/effect/landmark/navigate_destination, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/lobby) "jrk" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "hopqueue"; @@ -26020,17 +26356,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"jrx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/structure/closet_empty/crate, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "jrL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26153,6 +26478,18 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"jth" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Port Primary Hallway - Middle" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "jtl" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, @@ -26233,6 +26570,12 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) +"juL" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "juV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26334,15 +26677,6 @@ /obj/machinery/shower/directional/north, /turf/open/floor/iron, /area/station/science/xenobiology) -"jwd" = ( -/obj/structure/cable, -/obj/structure/chair/office/light, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/virology) "jwj" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /obj/effect/turf_decal/siding/purple{ @@ -26593,6 +26927,10 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/carpet, /area/station/security/detectives_office) +"jzc" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "jzp" = ( /turf/closed/wall, /area/station/commons/vacant_room/office) @@ -26651,6 +26989,16 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/science/robotics/lab) +"jAF" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/mining{ + name = "Mining Office" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "jAN" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -26790,11 +27138,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"jDb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/blobstart, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "jDf" = ( /obj/structure/table, /obj/structure/extinguisher_cabinet/directional/west, @@ -26870,20 +27213,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"jFi" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "jFr" = ( /obj/structure/sign/poster/party_game, /turf/closed/wall, @@ -26988,15 +27317,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/grass, /area/station/security/prison/garden) -"jHf" = ( -/obj/structure/table/glass, -/obj/machinery/reagentgrinder{ - pixel_y = 8 - }, -/obj/effect/turf_decal/tile/green/half/contrasted, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/virology) "jHg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27084,6 +27404,17 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/commons/lounge) +"jIl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/iron, +/area/station/cargo/sorting) "jIz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -27160,15 +27491,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/execution/transfer) -"jJu" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/machinery/door/airlock/maintenance{ - name = "Mining Dock Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/turf/open/floor/plating, -/area/station/cargo/miningoffice) "jJC" = ( /obj/structure/disposalpipe/segment, /obj/structure/lattice/catwalk, @@ -27254,18 +27576,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"jLb" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"jLf" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron, -/area/station/cargo/storage) "jLg" = ( /obj/structure/cable, /obj/machinery/navbeacon{ @@ -27329,6 +27639,13 @@ /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, /area/station/commons/locker) +"jMv" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "jMx" = ( /obj/structure/closet/crate, /obj/item/food/breadslice/plain, @@ -27431,6 +27748,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) +"jNt" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "QMLoad" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/light/directional/west, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/iron, +/area/station/cargo/storage) "jNN" = ( /obj/item/storage/box/lights/mixed, /turf/open/floor/plating, @@ -27533,17 +27862,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) -"jPp" = ( -/obj/effect/landmark/generic_maintenance_landmark, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "jPE" = ( /obj/structure/sign/map/left{ desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; @@ -27653,11 +27971,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"jRM" = ( -/obj/effect/spawner/random/maintenance, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) "jRO" = ( /obj/structure/table, /obj/item/paper_bin, @@ -27707,13 +28020,11 @@ "jSk" = ( /turf/open/floor/engine, /area/station/science/explab) -"jSm" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"jSo" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/filled/line, /turf/open/floor/iron, -/area/station/construction/storage_wing) +/area/station/cargo/storage) "jSq" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ @@ -27732,6 +28043,15 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) +"jTg" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "jTi" = ( /obj/machinery/hydroponics/soil, /obj/machinery/camera/directional/west{ @@ -27762,6 +28082,15 @@ /obj/item/soulstone/anybody/chaplain, /turf/open/floor/cult, /area/station/service/chapel/office) +"jTE" = ( +/obj/machinery/requests_console/directional/north{ + department = "Law Office"; + name = "Lawyer Requests Console" + }, +/obj/machinery/newscaster/directional/west, +/obj/structure/aquarium/lawyer, +/turf/open/floor/wood, +/area/station/service/lawoffice) "jTH" = ( /obj/machinery/firealarm/directional/east, /obj/machinery/pdapainter/security, @@ -27840,6 +28169,15 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"jUp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/generic, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "jUq" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -27956,6 +28294,14 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"jVU" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "jVZ" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/right/directional/west{ @@ -28075,6 +28421,12 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/iron/dark, /area/station/command/gateway) +"jYu" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/turf/open/water, +/area/station/service/hydroponics/garden) "jYv" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/simple/green/visible, @@ -28086,16 +28438,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"jYB" = ( -/obj/machinery/conveyor/inverted{ - dir = 6; - id = "QMLoad" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/cargo/storage) "jYD" = ( /obj/structure/chair{ dir = 4 @@ -28119,6 +28461,12 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark, /area/station/command/bridge) +"jZy" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "jZz" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, /turf/open/floor/iron, @@ -28156,11 +28504,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, /area/station/command/bridge) -"kaf" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/iron, -/area/station/cargo/storage) "kag" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/disposal/bin, @@ -28362,14 +28705,6 @@ }, /turf/open/floor/iron, /area/station/security/mechbay) -"kdA" = ( -/obj/machinery/door/airlock/mining{ - name = "Warehouse" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "kdL" = ( /obj/structure/cable, /obj/machinery/light/floor, @@ -28526,6 +28861,16 @@ /obj/machinery/pdapainter/medbay, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) +"khb" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/dresser, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "khm" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -28794,6 +29139,11 @@ /obj/machinery/status_display/evac, /turf/closed/wall, /area/station/commons/lounge) +"kmB" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/caution, +/turf/open/floor/plating, +/area/station/cargo/storage) "kmN" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) @@ -28818,6 +29168,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"knh" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/ai_monitored/command/nuke_storage) "knj" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ @@ -28834,6 +29189,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"knH" = ( +/obj/machinery/light/small/dim/directional/north, +/obj/structure/rack, +/obj/item/pushbroom, +/obj/effect/decal/cleanable/dirt, +/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "knI" = ( /obj/structure/chair{ dir = 4 @@ -28856,16 +29220,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"knT" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Security Post - Cargo" - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "knY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -28904,10 +29258,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/work) -"kod" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "koj" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -28951,6 +29301,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) +"kpa" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "qmroom" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/qm) "kpi" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -29033,6 +29391,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/security/prison) +"krt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wideplating_new{ + dir = 4 + }, +/obj/item/storage/toolbox/fishing, +/obj/item/storage/toolbox/fishing, +/obj/item/fishing_rod, +/obj/item/fishing_rod, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "krL" = ( /turf/open/floor/wood, /area/station/command/corporate_showroom) @@ -29071,10 +29447,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/gateway) -"ksN" = ( -/obj/structure/flora/bush/flowers_yw, -/turf/open/floor/grass, -/area/station/service/hydroponics/garden) "ksT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -29195,6 +29567,15 @@ /obj/effect/turf_decal/trimline/blue/filled/corner, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"kuo" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "kuD" = ( /obj/structure/lattice, /obj/machinery/atmospherics/components/unary/passive_vent{ @@ -29243,6 +29624,17 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"kvM" = ( +/obj/structure/rack, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/storage/toolbox/emergency, +/obj/effect/spawner/random/maintenance, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "kvN" = ( /obj/structure/closet/crate/coffin, /obj/structure/window/spawner/directional/east, @@ -29255,14 +29647,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"kvP" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "kvV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/stripes/line{ @@ -29366,16 +29750,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/office) -"kxD" = ( -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/sign/clock/directional/south, -/turf/open/water, -/area/station/service/hydroponics/garden) "kxH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29673,6 +30047,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"kDb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "kDk" = ( /obj/machinery/door/airlock/security/glass{ name = "Permabrig Visitation" @@ -29850,6 +30231,14 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/white, /area/station/science/lab) +"kGK" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "kHg" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -29887,15 +30276,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/engine, /area/station/science/explab) -"kIk" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/water, -/area/station/service/hydroponics/garden) "kIG" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/two, @@ -29926,6 +30306,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/library) +"kJC" = ( +/obj/structure/lattice/catwalk, +/obj/structure/closet/crate, +/obj/item/toy/plush/lizard_plushie/green{ + name = "Loads-The-Crates" + }, +/turf/open/space/basic, +/area/space/nearstation) "kJO" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -29935,6 +30323,29 @@ /obj/machinery/light/no_nightlight/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos) +"kJS" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/machinery/fax{ + fax_name = "Quartermaster"; + name = "Quartermaster's Fax Machine" + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/requests_console/directional/north{ + department = "Security"; + name = "Security Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/ore_update, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "kKd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30004,9 +30415,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"kKr" = ( -/turf/open/floor/iron, -/area/station/hallway/primary/port) "kKv" = ( /obj/structure/lattice, /obj/machinery/atmospherics/components/unary/passive_vent, @@ -30244,14 +30652,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"kOX" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/landmark/start/depsec/supply, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "kOY" = ( /obj/machinery/disposal/bin, /obj/machinery/light_switch/directional/south, @@ -30307,12 +30707,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/engine/o2, /area/station/engineering/atmos) -"kPX" = ( -/obj/effect/turf_decal/loading_area/white{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "kPZ" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/two, @@ -30322,6 +30716,27 @@ "kQe" = ( /turf/closed/wall, /area/station/science/genetics) +"kQg" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/item/stack/package_wrap{ + pixel_x = -2; + pixel_y = 1 + }, +/obj/effect/spawner/random/bureaucracy/birthday_wrap{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/item/dest_tagger{ + pixel_x = 7; + pixel_y = 1 + }, +/obj/item/stack/wrapping_paper{ + pixel_x = -4; + pixel_y = -7 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "kQm" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -30337,9 +30752,25 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"kQE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/trimline/brown/filled/line, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "kQP" = ( /turf/closed/wall, /area/station/command/heads_quarters/qm) +"kQR" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "kQT" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -30444,11 +30875,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/security/holding_cell) -"kSp" = ( -/obj/effect/spawner/random/structure/crate, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "kSs" = ( /obj/structure/table, /obj/item/radio/intercom/directional/north, @@ -30525,12 +30951,6 @@ /obj/machinery/shieldgen, /turf/open/floor/plating, /area/station/engineering/main) -"kTa" = ( -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/turf/open/water, -/area/station/service/hydroponics/garden) "kTn" = ( /obj/machinery/firealarm/directional/south, /obj/effect/turf_decal/tile/neutral, @@ -30850,6 +31270,10 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/ordnance/testlab) +"kYE" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "kYG" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter/room) @@ -30875,6 +31299,18 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"kZl" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/item/kirbyplants/random, +/obj/structure/railing{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "kZn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30988,6 +31424,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/security/prison/visit) +"lbH" = ( +/mob/living/basic/chicken{ + name = "Featherbottom"; + real_name = "Featherbottom" + }, +/obj/structure/flora/bush/fullgrass, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "lbL" = ( /obj/effect/decal/cleanable/insectguts, /obj/effect/turf_decal/siding/purple{ @@ -31010,26 +31454,15 @@ /obj/effect/spawner/random/structure/musician/piano/random_piano, /turf/open/floor/wood/large, /area/station/service/theater) -"lbZ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Disposal Access" - }, -/obj/structure/disposalpipe/segment{ +"lch" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/cargo_technician, +/obj/structure/chair/office{ dir = 4 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/disposal) +/turf/open/floor/iron, +/area/station/cargo/sorting) "lcG" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -31047,6 +31480,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"ldg" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/siding/wideplating_new/corner, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) +"ldk" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) "lds" = ( /obj/structure/table, /obj/item/storage/fancy/egg_box, @@ -31055,14 +31507,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/white, /area/station/security/prison/mess) -"ldC" = ( -/obj/machinery/door/firedoor, -/obj/machinery/computer/cargo/request{ - dir = 1 - }, -/obj/structure/window/spawner/directional/south, -/turf/open/floor/iron, -/area/station/cargo/sorting) "ldJ" = ( /obj/machinery/light/directional/north, /obj/structure/sign/map/right{ @@ -31152,12 +31596,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"lfY" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "lge" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -31217,6 +31655,13 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"lgP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/netpod, +/obj/effect/decal/cleanable/robot_debris, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "lgS" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -31448,6 +31893,24 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"lmq" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/delivery_chute{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/window/spawner/directional/south, +/obj/structure/window/spawner/directional/north, +/obj/structure/window/spawner/directional/west, +/obj/machinery/door/window/right/directional/east{ + layer = 3 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "lmx" = ( /obj/machinery/light_switch/directional/west, /obj/effect/decal/cleanable/cobweb, @@ -31505,29 +31968,6 @@ }, /turf/open/floor/iron, /area/station/science/lab) -"lnv" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/maintenance{ - name = "Cargo Bay Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"lnG" = ( -/obj/structure/table/wood, -/obj/item/paper_bin/carbon{ - pixel_x = -10; - pixel_y = 4 - }, -/obj/item/paper_bin/carbon{ - pixel_x = -10; - pixel_y = 9 - }, -/obj/item/computer_disk/quartermaster, -/obj/item/computer_disk/quartermaster, -/obj/item/computer_disk/quartermaster, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "lnH" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -31577,14 +32017,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"loQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "loW" = ( /obj/machinery/door/airlock/maintenance{ name = "Storage Room" @@ -31626,6 +32058,15 @@ /obj/machinery/air_sensor/nitrogen_tank, /turf/open/floor/engine/n2, /area/station/engineering/atmos) +"lpB" = ( +/mob/living/simple_animal/bot/mulebot, +/obj/structure/cable, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + location = "QM #1" + }, +/turf/open/floor/catwalk_floor, +/area/station/cargo/storage) "lpD" = ( /obj/machinery/biogenerator, /turf/open/floor/plating, @@ -31671,6 +32112,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"lqu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "lqL" = ( /obj/effect/turf_decal/siding{ dir = 1 @@ -31754,6 +32207,12 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"lrW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "lrZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -31774,15 +32233,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"lsu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/freezer, -/obj/structure/sink/kitchen/directional/south{ - desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; - name = "old sink" - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "lsJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31882,22 +32332,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/service/hydroponics) -"luc" = ( -/obj/machinery/conveyor_switch/oneway{ - id = "QMLoad2"; - name = "Unloading Conveyor"; - pixel_x = -13; - pixel_y = -4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"lud" = ( -/obj/machinery/firealarm/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "lup" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -31926,6 +32360,21 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central) +"luG" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/tile/brown/diagonal_centre, +/obj/effect/turf_decal/tile/yellow/diagonal_edge, +/obj/effect/turf_decal/siding/thinplating_new/corner{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/diagonal, +/area/station/cargo/storage) "luN" = ( /obj/machinery/airalarm/directional/west, /obj/structure/closet/secure_closet/security/med, @@ -31996,19 +32445,6 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/engineering/break_room) -"lwn" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/right/directional/south{ - name = "Cargo Desk"; - req_access = list("shipping") - }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "lwt" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/security_space_law{ @@ -32064,6 +32500,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"lxG" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/storage) "lxM" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -32111,6 +32553,13 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"lyW" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "lzJ" = ( /obj/structure/cable, /turf/open/floor/iron/solarpanel/airless, @@ -32222,6 +32671,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"lCP" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/cargo/sorting) "lDe" = ( /obj/machinery/door/poddoor/shutters/window{ id = "armory"; @@ -32303,6 +32762,40 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/commons/vacant_room/office) +"lFB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/closed/wall, +/area/station/maintenance/port/fore) +"lFS" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/pen/red{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/pen/fountain{ + pixel_x = 10 + }, +/obj/item/pen/blue{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/item/storage/medkit/regular{ + pixel_x = -3; + pixel_y = 10 + }, +/obj/structure/table, +/obj/item/stamp{ + pixel_x = -9; + pixel_y = -1 + }, +/obj/item/stamp/denied{ + pixel_y = -1 + }, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "lFZ" = ( /obj/structure/chair/pew/right, /turf/open/floor/iron/chapel{ @@ -32366,6 +32859,17 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) +"lHG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "lHK" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -32393,22 +32897,6 @@ }, /turf/open/floor/iron, /area/station/service/bar) -"lIM" = ( -/obj/structure/table, -/obj/item/stack/package_wrap{ - pixel_x = -8; - pixel_y = -3 - }, -/obj/item/paper/paperslip{ - pixel_x = -5; - pixel_y = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron, -/area/station/cargo/sorting) "lIX" = ( /obj/structure/chair/comfy/brown, /turf/open/floor/engine/cult, @@ -32462,15 +32950,12 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"lJR" = ( -/obj/machinery/door/airlock/maintenance, -/obj/structure/cable, +"lKg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) "lKu" = ( @@ -32555,6 +33040,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/fore) +"lLL" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Cargo Bay - Fore" + }, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/box/red, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "lLR" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 8 @@ -33002,11 +33502,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white/side, /area/station/medical/treatment_center) -"lTZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/vehicle/sealed/mecha/ripley/cargo, -/turf/open/floor/plating, -/area/station/cargo/warehouse) "lUj" = ( /obj/structure/table, /obj/item/book/manual/wiki/security_space_law{ @@ -33042,6 +33537,25 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/iron/showroomfloor, /area/station/maintenance/starboard/lesser) +"lUr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) +"lUu" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/maintenance{ + name = "Mining Dock Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "lUz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/yellow{ @@ -33056,14 +33570,6 @@ /obj/effect/spawner/random/structure/chair_flipped, /turf/open/floor/iron/checker, /area/station/maintenance/aft/lesser) -"lUI" = ( -/obj/effect/turf_decal/arrows/red{ - dir = 4 - }, -/obj/effect/spawner/random/maintenance, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) "lUK" = ( /obj/machinery/camera/directional/west{ c_tag = "Dormitories - Aft" @@ -33198,6 +33704,16 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron, /area/station/science/xenobiology) +"lWU" = ( +/obj/machinery/newscaster/directional/south, +/obj/structure/closet/secure_closet/quartermaster, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/camera/directional/south, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "lXl" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/bot, @@ -33358,6 +33874,11 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"maa" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/caution, +/turf/open/floor/plating, +/area/station/cargo/storage) "mal" = ( /obj/effect/turf_decal/tile/bar{ dir = 1 @@ -33535,6 +34056,15 @@ }, /turf/open/floor/iron/white, /area/station/security/prison/visit) +"mdb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/dim/directional/south, +/obj/machinery/mech_bay_recharge_port{ + dir = 8 + }, +/obj/structure/sign/warning/directional/south, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "mdk" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33565,6 +34095,14 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/central) +"mdD" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/sorting) "mdL" = ( /obj/machinery/computer/shuttle/mining{ dir = 1; @@ -33625,35 +34163,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/library) -"mgb" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "packageExternal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Cargo Bay - Aft"; - pixel_x = 14 - }, -/obj/machinery/light/directional/south, -/obj/machinery/disposal/delivery_chute{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/door/window/right/directional/east{ - name = "Crate to Shuttle"; - req_access = list("shipping") - }, -/obj/structure/plasticflaps/opaque{ - name = "Service Deliveries" - }, -/obj/structure/window/spawner/directional/west, -/turf/open/floor/iron, -/area/station/cargo/storage) "mgc" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -33700,16 +34209,6 @@ /obj/machinery/shower/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"mgJ" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "mgK" = ( /obj/item/target, /obj/effect/turf_decal/stripes/line{ @@ -33772,6 +34271,10 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"mie" = ( +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "mig" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -33820,6 +34323,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"miV" = ( +/obj/machinery/light_switch/directional/east, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "miW" = ( /obj/machinery/camera/directional/north{ c_tag = "Command Hallway - Starboard" @@ -33858,10 +34366,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"mji" = ( -/obj/effect/spawner/random/structure/grille, -/turf/open/space, -/area/space/nearstation) "mjr" = ( /turf/open/floor/wood, /area/station/service/library) @@ -33882,32 +34386,6 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"mkb" = ( -/obj/machinery/conveyor_switch/oneway{ - dir = 8; - id = "packageExternal"; - name = "Crate Returns"; - pixel_x = -5; - pixel_y = 23 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/junction{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"mkd" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "mkr" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -33968,6 +34446,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"mlW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "mma" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/directional/north, @@ -34132,6 +34616,21 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/security/brig) +"moh" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/tank_holder/extinguisher, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "mos" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -34191,6 +34690,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"mpq" = ( +/obj/machinery/light/directional/east, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "mpw" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -34344,6 +34848,18 @@ /obj/item/reagent_containers/cup/beaker/large, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"msY" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/button/door/directional/west{ + id = "Disposal Exit"; + name = "Disposal Vent Control"; + req_access = list("maint_tunnels") + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "mta" = ( /obj/machinery/camera/directional/north{ c_tag = "Starboard Primary Hallway - tech_storage" @@ -34587,26 +35103,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/main) -"mwN" = ( -/obj/structure/table, -/obj/item/stack/package_wrap{ - pixel_x = -9; - pixel_y = -9 - }, -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/obj/item/papercutter{ - pixel_x = 17 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "mwY" = ( /obj/effect/spawner/random/trash/garbage, /obj/effect/landmark/generic_maintenance_landmark, @@ -34621,12 +35117,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) -"mxh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "mxn" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/hos) @@ -34653,12 +35143,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"mxO" = ( -/obj/structure/closet/secure_closet/quartermaster, -/obj/machinery/airalarm/directional/north, -/obj/machinery/camera/directional/north, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "mxQ" = ( /obj/effect/spawner/random/structure/grille, /obj/structure/lattice, @@ -34687,19 +35171,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark/textured_large, /area/station/science/cytology) -"myA" = ( -/obj/structure/table, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/storage/bag/plants/portaseeder, -/obj/item/crowbar, -/obj/item/reagent_containers/cup/watering_can, -/obj/item/cultivator, -/obj/item/hatchet, -/obj/item/plant_analyzer, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "myB" = ( /obj/structure/chair, /obj/structure/cable, @@ -34708,6 +35179,20 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/station/security/checkpoint/science) +"myD" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/vault{ + name = "Vault" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/landmark/navigate_destination, +/obj/effect/mapping_helpers/airlock/access/all/supply/vault, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "myG" = ( /obj/structure/sign/directions/evac, /obj/structure/sign/directions/medical{ @@ -34825,6 +35310,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"mAR" = ( +/obj/effect/landmark/start/depsec/supply, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "mBf" = ( /obj/structure/table/wood, /obj/machinery/recharger, @@ -34909,14 +35400,13 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"mCi" = ( -/obj/effect/turf_decal/bot_white/left, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"mCc" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) +/turf/open/floor/iron, +/area/station/construction/storage_wing) "mCj" = ( /obj/machinery/camera{ c_tag = "Xenobiology Lab - Pen #7"; @@ -35061,6 +35551,12 @@ /obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"mEz" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/closed/wall, +/area/station/command/heads_quarters/qm) "mEG" = ( /obj/structure/closet/secure_closet/security/engine, /obj/machinery/airalarm/directional/east, @@ -35300,15 +35796,6 @@ "mHT" = ( /turf/closed/wall, /area/station/engineering/atmos) -"mIg" = ( -/obj/machinery/door/airlock/engineering{ - name = "Port Bow Solar Access" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "mIi" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=9.2-Escape-2"; @@ -35336,6 +35823,11 @@ /obj/machinery/recharge_station, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) +"mIW" = ( +/obj/structure/lattice/catwalk, +/obj/item/banner/cargo, +/turf/open/space/basic, +/area/space/nearstation) "mJa" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 4 @@ -35349,19 +35841,6 @@ /obj/machinery/holopad, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"mJo" = ( -/obj/machinery/mineral/ore_redemption{ - dir = 4; - input_dir = 8; - output_dir = 4 - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/east{ - name = "Ore Redemtion Window" - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "mJE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35374,6 +35853,13 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"mJF" = ( +/obj/effect/spawner/structure/window, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/cargo/lobby) "mJG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -35385,6 +35871,13 @@ "mJI" = ( /turf/open/space, /area/space/nearstation) +"mJJ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) "mJL" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35616,30 +36109,11 @@ /obj/machinery/camera/directional/north, /turf/open/floor/iron, /area/station/commons/storage/tools) -"mNx" = ( -/obj/structure/filingcabinet/filingcabinet, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/cargo/sorting) "mNO" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/light_construct/directional/west, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"mNQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/obj/item/airlock_painter/decal, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"mNZ" = ( -/obj/machinery/holopad, -/turf/open/floor/iron, -/area/station/cargo/storage) "mOl" = ( /obj/structure/closet/boxinggloves, /obj/effect/landmark/start/hangover/closet, @@ -35658,6 +36132,13 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"mOP" = ( +/obj/effect/turf_decal/trimline/red/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "mPh" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -35774,10 +36255,26 @@ dir = 1 }, /area/station/security/prison) -"mQR" = ( -/obj/machinery/pdapainter/supply, -/turf/open/floor/carpet/red, -/area/station/command/heads_quarters/qm) +"mQx" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) +"mQM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "mRg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35858,6 +36355,45 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"mRz" = ( +/obj/structure/cable, +/obj/structure/table/wood/fancy/black, +/obj/item/storage/fancy/cigarettes/cigars/cohiba{ + pixel_x = 3; + pixel_y = 14 + }, +/obj/item/reagent_containers/cup/glass/bottle/champagne{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/clothing/mask/cigarette/cigar{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/item/clothing/mask/cigarette/cigar{ + pixel_x = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) +"mRC" = ( +/obj/machinery/light_switch/directional/north, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/kirbyplants/random{ + pixel_x = -7 + }, +/obj/machinery/camera/directional/north, +/obj/machinery/digital_clock/directional/east, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "mRY" = ( /obj/machinery/door/window/left/directional/north{ name = "Mass Driver"; @@ -36105,15 +36641,6 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/iron/dark, /area/station/medical/storage) -"mWE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/structure/steam_vent, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "mWU" = ( /turf/open/floor/iron, /area/station/maintenance/space_hut) @@ -36200,25 +36727,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"mXX" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/pen{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/book/manual/wiki/security_space_law, -/obj/machinery/camera/directional/south{ - c_tag = "Security Post - Cargo" - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "mYq" = ( /obj/effect/turf_decal/plaque{ icon_state = "L8" @@ -36291,16 +36799,13 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/wood/large, /area/station/service/theater) -"mZy" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, +"mZe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) "mZz" = ( /obj/machinery/light/directional/west, /obj/structure/table, @@ -36568,6 +37073,27 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) +"ndu" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/red/filled/warning, +/obj/effect/turf_decal/caution/stand_clear/red, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"ndw" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "ndI" = ( /obj/item/kirbyplants/organic/plant20, /obj/effect/turf_decal/stripes/line{ @@ -36708,6 +37234,26 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/security/prison) +"ngX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/camera/directional/south{ + c_tag = "Security Post - Cargo" + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "ngY" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty, @@ -36750,17 +37296,6 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) -"nht" = ( -/obj/machinery/disposal/bin, -/obj/machinery/firealarm/directional/west, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "nhP" = ( /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) @@ -36812,6 +37347,10 @@ dir = 8 }, /area/station/medical/morgue) +"niJ" = ( +/obj/structure/noticeboard/qm, +/turf/closed/wall, +/area/station/command/heads_quarters/qm) "niY" = ( /obj/structure/disposalpipe/segment, /obj/structure/lattice/catwalk, @@ -36889,6 +37428,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"nkb" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/obj/effect/landmark/start/quartermaster, +/obj/item/binoculars, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "nkj" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 10 @@ -36925,6 +37472,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"nkO" = ( +/obj/machinery/computer/records/security{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "nkX" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -37194,6 +37750,19 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"npK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/tank_holder/extinguisher, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"npL" = ( +/obj/effect/turf_decal/trimline/brown/filled/shrink_ccw{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "npY" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -37284,11 +37853,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"nre" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "nrm" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -37312,6 +37876,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /turf/open/floor/iron/dark, /area/station/security/execution/education) +"nrY" = ( +/obj/structure/rack, +/obj/item/circuitboard/machine/exoscanner{ + pixel_y = 3 + }, +/obj/item/circuitboard/machine/exoscanner, +/obj/item/circuitboard/machine/exoscanner{ + pixel_y = -3 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "nsb" = ( /obj/effect/landmark/start/depsec/medical, /obj/machinery/button/door/directional/east{ @@ -37531,6 +38108,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/office) +"nus" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/mob/living/basic/sloth/citrus, +/turf/open/floor/iron, +/area/station/cargo/storage) "nuB" = ( /obj/structure/secure_safe/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -37546,6 +38128,12 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security/range) +"nuJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/station/ai_monitored/command/nuke_storage) "nuO" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 @@ -37564,13 +38152,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/command/corporate_showroom) -"nvg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/cargo_technician, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "nvn" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -37607,11 +38188,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/dorms) -"nwi" = ( -/obj/machinery/space_heater, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "nwl" = ( /obj/machinery/door/window/right/directional/north{ name = "Medical Deliveries"; @@ -37751,31 +38327,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/work) -"nyk" = ( -/obj/structure/table, -/obj/structure/disposalpipe/segment{ - dir = 4 +"nyl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/maintenance{ + name = "Storage Room" }, -/obj/item/pen/red{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/pen/fountain{ - pixel_x = 6 - }, -/obj/item/pen/blue{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/item/storage/medkit/regular{ - pixel_x = -9; - pixel_y = 10 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/effect/mapping_helpers/airlock/unres{ dir = 1 }, -/turf/open/floor/iron, -/area/station/cargo/storage) +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "nyy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37793,6 +38356,21 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) +"nyQ" = ( +/obj/structure/table, +/obj/item/papercutter{ + pixel_x = 9; + pixel_y = 4 + }, +/obj/item/stamp/denied{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/stamp/granted{ + pixel_x = -7 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "nyV" = ( /obj/structure/extinguisher_cabinet/directional/west, /obj/effect/turf_decal/tile/red{ @@ -37812,17 +38390,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"nzg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/mining{ - name = "Drone Bay" - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/effect/landmark/navigate_destination, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) "nzo" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 @@ -37870,19 +38437,21 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"nzU" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/cargo/sorting) "nAb" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/engineering/atmos) +"nAz" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "nAC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37986,14 +38555,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron/white, /area/station/medical/virology) -"nBI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_empty/crate, -/obj/effect/turf_decal/bot, -/obj/item/electronics/apc, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "nCa" = ( /obj/machinery/meter/layer2, /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2{ @@ -38106,6 +38667,11 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) +"nDC" = ( +/obj/structure/cable, +/obj/machinery/power/smes, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "nDO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38120,11 +38686,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"nDS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "nDT" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -38157,6 +38718,17 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"nEx" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "nEB" = ( /obj/structure/sign/poster/random/directional/east, /obj/machinery/requests_console/directional/south{ @@ -38430,6 +39002,14 @@ /obj/effect/turf_decal/trimline/red/filled/corner, /turf/open/floor/iron, /area/station/security/brig) +"nKq" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "nKr" = ( /obj/docking_port/stationary{ dir = 8; @@ -38571,16 +39151,6 @@ /obj/structure/flora/bush/stalky/style_random, /turf/open/floor/grass, /area/station/science/research) -"nNk" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "nNo" = ( /obj/machinery/biogenerator, /obj/effect/decal/cleanable/dirt, @@ -38906,19 +39476,14 @@ /obj/effect/turf_decal/trimline/dark_red/filled/line, /turf/open/floor/iron, /area/station/security/warden) -"nTP" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Brig Maintenance" - }, -/obj/structure/disposalpipe/segment, +"nUb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) "nUp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, @@ -38931,6 +39496,15 @@ }, /turf/open/floor/iron/dark, /area/station/security/lockers) +"nUJ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "nVq" = ( /obj/structure/disposalpipe/segment, /obj/effect/spawner/random/maintenance, @@ -39058,6 +39632,12 @@ /obj/effect/spawner/random/entertainment/deck, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"nXV" = ( +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "nYa" = ( /obj/machinery/door/airlock/research{ name = "Ordnance Lab" @@ -39079,6 +39659,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) +"nYr" = ( +/obj/effect/turf_decal/siding/thinplating_new/corner, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/turf/open/floor/iron, +/area/station/cargo/storage) "nYy" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/closet/secure_closet/freezer/kitchen/maintenance, @@ -39147,6 +39732,9 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) +"nZo" = ( +/turf/open/floor/iron, +/area/station/cargo/warehouse) "nZq" = ( /obj/structure/table/wood, /turf/open/floor/wood, @@ -39185,18 +39773,6 @@ }, /turf/open/floor/engine, /area/station/science/ordnance) -"nZQ" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/computer/cargo{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "oae" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, @@ -39407,12 +39983,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/office) -"ocn" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/cargo/sorting) "ocB" = ( /obj/structure/table/wood, /obj/machinery/microwave{ @@ -39587,6 +40157,20 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/captain/private) +"ogW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/reagent_dispensers/beerkeg, +/obj/item/toy/figure/qm{ + pixel_x = 3; + pixel_y = 12 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "oha" = ( /obj/structure/rack, /obj/item/storage/briefcase{ @@ -39705,6 +40289,23 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"ojm" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half, +/area/station/cargo/bitrunning/den) "ojo" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -39840,6 +40441,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) +"ond" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "QMLoad2" + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "onf" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -39952,6 +40560,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"ooY" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/item/pen/red, +/turf/open/floor/wood, +/area/station/service/lawoffice) "ope" = ( /turf/closed/wall, /area/station/security/mechbay) @@ -39982,6 +40600,15 @@ dir = 1 }, /area/station/engineering/atmos/storage/gas) +"opT" = ( +/mob/living/simple_animal/bot/mulebot, +/obj/structure/cable, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + location = "QM #2" + }, +/turf/open/floor/catwalk_floor, +/area/station/cargo/storage) "opZ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrogen_output{ dir = 1 @@ -40034,22 +40661,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/plating, /area/station/engineering/atmos) -"orh" = ( -/obj/structure/table, -/obj/item/stack/package_wrap{ - pixel_x = 2; - pixel_y = -3 - }, -/obj/item/stack/package_wrap{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron, -/area/station/cargo/sorting) "orp" = ( /obj/effect/turf_decal/tile/neutral, /obj/machinery/light/small/directional/east, @@ -40205,6 +40816,16 @@ }, /turf/open/floor/iron, /area/station/science/lab) +"otG" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/water, +/area/station/service/hydroponics/garden) "otI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40222,23 +40843,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/security/prison/work) -"ouc" = ( -/obj/structure/closet/crate, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/item/stock_parts/cell/high, -/obj/machinery/light_switch/directional/north, -/obj/effect/spawner/random/engineering/flashlight, -/obj/effect/spawner/random/engineering/flashlight, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "oue" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -40332,6 +40936,14 @@ }, /turf/open/floor/iron, /area/station/security/warden) +"ouW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "ouX" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -40397,6 +41009,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"ows" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Cargo Bay Bridge Access" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "owv" = ( /obj/machinery/computer/atmos_alert, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -40659,6 +41286,20 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/grass, /area/station/science/genetics) +"oCI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) +"oCM" = ( +/obj/structure/cable, +/obj/structure/closet/crate, +/obj/effect/turf_decal/bot/left, +/turf/open/floor/iron, +/area/station/cargo/lobby) "oCN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40667,6 +41308,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"oCO" = ( +/obj/structure/window/spawner/directional/west, +/obj/structure/window/spawner/directional/south, +/mob/living/basic/chicken{ + name = "Kentucky"; + real_name = "Kentucky" + }, +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "oCR" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/machinery/suit_storage_unit/security, @@ -40686,6 +41337,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"oDk" = ( +/obj/structure/disposaloutlet{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "oDl" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -40695,10 +41359,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"oDp" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/cargo/storage) "oDJ" = ( /obj/structure/sign/warning/vacuum/external, /turf/closed/wall, @@ -41188,6 +41848,18 @@ "oKU" = ( /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) +"oLs" = ( +/obj/machinery/door/airlock/mining{ + name = "Quartermaster's Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/qm, +/obj/structure/cable, +/obj/effect/turf_decal/tile/yellow/diagonal_edge, +/obj/effect/turf_decal/tile/brown/diagonal_centre, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/diagonal, +/area/station/command/heads_quarters/qm) "oLD" = ( /obj/structure/chair/comfy/beige, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41258,6 +41930,10 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"oNe" = ( +/obj/structure/cable, +/turf/closed/wall, +/area/station/command/heads_quarters/qm) "oNl" = ( /obj/machinery/holopad, /turf/open/floor/iron, @@ -41314,6 +41990,15 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) +"oOF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen, +/obj/machinery/door/poddoor/preopen{ + id = "qmroom" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/qm) "oOU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41393,6 +42078,13 @@ /obj/structure/marker_beacon/olive, /turf/open/space/basic, /area/space/nearstation) +"oPY" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/medical/virology) "oPZ" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -41424,11 +42116,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark/textured_large, /area/station/science/cytology) -"oQx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/suit_storage_unit/industrial/loader, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "oQJ" = ( /obj/structure/table, /obj/item/storage/box/gloves{ @@ -41532,6 +42219,17 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"oSS" = ( +/obj/structure/cable, +/obj/machinery/mineral/stacking_unit_console{ + pixel_x = 32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "oTa" = ( /obj/machinery/vending/cart{ req_access = list("hop") @@ -41584,13 +42282,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/server) -"oUx" = ( -/obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/depsec/supply, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "oUy" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line, @@ -41659,6 +42350,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison) +"oVQ" = ( +/obj/structure/cable, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) "oVY" = ( /obj/structure/chair{ dir = 8; @@ -41719,6 +42414,16 @@ /obj/effect/mapping_helpers/airlock/access/any/command/hop, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) +"oWV" = ( +/obj/effect/decal/cleanable/oil, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "oWZ" = ( /obj/structure/table, /obj/machinery/airalarm/directional/north, @@ -41732,15 +42437,6 @@ /obj/machinery/telecomms/server/presets/science, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"oXH" = ( -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/water, -/area/station/service/hydroponics/garden) "oXJ" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -41786,6 +42482,13 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark, /area/station/security/office) +"oXM" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/storage) "oXR" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -42061,6 +42764,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/service/hydroponics) +"pdm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/storage) "pdx" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -42338,9 +43049,6 @@ /obj/item/clothing/under/misc/assistantformal, /turf/open/floor/wood, /area/station/commons/dorms) -"piB" = ( -/turf/open/floor/iron, -/area/station/cargo/sorting) "piJ" = ( /obj/machinery/suit_storage_unit/medical, /obj/effect/turf_decal/bot_red, @@ -42394,6 +43102,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"pjz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "pjS" = ( /obj/machinery/vending/cigarette, /obj/structure/extinguisher_cabinet/directional/east, @@ -42458,6 +43172,32 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/security/execution/transfer) +"pkT" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/item/stack/package_wrap{ + pixel_x = 2; + pixel_y = -3 + }, +/obj/item/stack/package_wrap{ + pixel_x = 1; + pixel_y = 6 + }, +/obj/item/stack/package_wrap{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/dest_tagger{ + pixel_x = -9; + pixel_y = 12 + }, +/obj/item/hand_labeler_refill{ + pixel_x = -11; + pixel_y = -3 + }, +/obj/item/stack/wrapping_paper, +/turf/open/floor/iron, +/area/station/cargo/sorting) "plp" = ( /obj/machinery/camera/directional/west{ c_tag = "Xenobiology Lab - Pen #1"; @@ -42465,6 +43205,11 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"plB" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/lobby) "plD" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -42472,15 +43217,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"plJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/supply/disposals, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "pma" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/port/fore) @@ -42763,6 +43499,16 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"pqm" = ( +/obj/machinery/door/airlock/mining{ + name = "Deliveries" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/supply/shipping, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "pqt" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -42786,16 +43532,6 @@ /obj/item/fish_feed, /turf/open/space/basic, /area/space/nearstation) -"pqJ" = ( -/obj/machinery/door/airlock/mining{ - name = "Mining Office" - }, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "prc" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/camera/directional/north{ @@ -42840,6 +43576,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/library) +"prG" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/closet/crate, +/turf/open/floor/iron, +/area/station/cargo/sorting) "prT" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -42871,6 +43615,19 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"psk" = ( +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "psl" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ @@ -43015,12 +43772,16 @@ /obj/effect/spawner/random/entertainment/gambling, /turf/open/floor/wood, /area/station/commons/lounge) -"puD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/random/trash/janitor_supplies, -/turf/open/floor/iron, -/area/station/cargo/warehouse) +"puC" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/departments/vault/directional/north{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "puG" = ( /obj/machinery/status_display/ai/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -43085,6 +43846,18 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, /area/station/commons/storage/tools) +"pvx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Cargo Office"; + name = "Cargo Office Fax Machine" + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "pvL" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -43103,10 +43876,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"pvP" = ( -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/storage) "pvY" = ( /obj/machinery/camera/directional/north{ c_tag = "Holodeck - Fore"; @@ -43256,16 +44025,6 @@ }, /turf/open/floor/iron, /area/station/security/office) -"pyZ" = ( -/obj/machinery/conveyor/inverted{ - dir = 6; - id = "packageExternal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "pzu" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -43285,6 +44044,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"pzN" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/suit_storage_unit/industrial/loader, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "pzT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, @@ -43330,6 +44094,18 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/service/bar) +"pAt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/end{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "pAD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/window/reinforced/spawner/directional/west, @@ -43363,6 +44139,33 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/commons/lounge) +"pBm" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/sign/poster/official/random/directional/west, +/obj/machinery/conveyor{ + dir = 1; + id = "packageExternal" + }, +/obj/machinery/door/window/left/directional/north{ + req_access = list("shipping") + }, +/obj/structure/window/spawner/directional/west, +/turf/open/floor/plating, +/area/station/cargo/sorting) +"pBq" = ( +/obj/machinery/door/airlock/mining{ + name = "Drone Bay" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/effect/landmark/navigate_destination, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) "pBs" = ( /obj/structure/sign/warning/cold_temp/directional/north{ name = "\improper CRYOGENICS" @@ -43447,6 +44250,19 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"pCB" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "packageExternal" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/window/spawner/directional/west, +/obj/structure/disposalpipe/segment, +/obj/structure/sign/warning/directional/west, +/turf/open/floor/plating, +/area/station/cargo/sorting) "pCJ" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -43520,16 +44336,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"pDX" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/departments/vault/directional/north{ - pixel_x = 32 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/construction/storage_wing) "pEk" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -43561,16 +44367,14 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"pEA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_empty/crate, -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 9 +"pEy" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "qmroom" }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) +/turf/open/floor/plating, +/area/station/command/heads_quarters/qm) "pEB" = ( /obj/effect/landmark/start/botanist, /turf/open/floor/iron, @@ -43601,6 +44405,14 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/plating, /area/station/security/prison/work) +"pES" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/landmark/start/depsec/supply, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "pFd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43655,12 +44467,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"pFU" = ( -/obj/machinery/netpod, -/obj/machinery/light/directional/west, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "pGn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -43694,6 +44500,13 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"pGS" = ( +/obj/effect/spawner/random/maintenance, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "pGZ" = ( /obj/machinery/shower/directional/east, /obj/structure/cable, @@ -43785,24 +44598,6 @@ /obj/effect/mapping_helpers/airlock/access/any/command/eva, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) -"pIo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wideplating_new{ - dir = 4 - }, -/obj/item/storage/toolbox/fishing, -/obj/item/storage/toolbox/fishing, -/obj/item/fishing_rod, -/obj/item/fishing_rod, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "pIs" = ( /obj/item/radio/intercom/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44087,6 +44882,10 @@ /obj/item/clothing/mask/gas/cyborg, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"pNP" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/cargo/warehouse) "pNR" = ( /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, @@ -44104,20 +44903,6 @@ "pOa" = ( /turf/closed/wall, /area/station/maintenance/port) -"pOb" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "packageExternal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/window/left/directional/south{ - name = "Crate Security Door"; - req_access = list("shipping") - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "pOi" = ( /obj/effect/spawner/random/trash/garbage{ spawn_scatter_radius = 1 @@ -44287,24 +45072,12 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/service/bar/backroom) -"pQD" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/cargo/lobby) "pQG" = ( /obj/machinery/porta_turret/ai{ dir = 4 }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) -"pQI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "pQK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44369,6 +45142,18 @@ /obj/item/reagent_containers/spray/pepper, /turf/open/floor/iron, /area/station/security/execution/transfer) +"pRM" = ( +/obj/structure/window/spawner/directional/south, +/mob/living/basic/cow{ + name = "Betsy"; + real_name = "Betsy" + }, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) +"pRR" = ( +/obj/structure/fake_stairs/directional/south, +/turf/open/floor/iron, +/area/station/cargo/storage) "pSa" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -44444,17 +45229,6 @@ "pTS" = ( /turf/closed/wall, /area/station/service/bar) -"pTT" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Mining Dock Maintenance" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "pTW" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 6 @@ -44530,10 +45304,16 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/grimy, /area/station/security/interrogation) -"pVi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_switch/directional/north, -/obj/structure/closet/crate/preopen, +"pVB" = ( +/obj/structure/table, +/obj/item/storage/box/lights/mixed{ + pixel_y = 9; + pixel_x = 8 + }, +/obj/item/storage/box/lights/mixed{ + pixel_y = 5; + pixel_x = -6 + }, /turf/open/floor/iron, /area/station/cargo/warehouse) "pVM" = ( @@ -44559,14 +45339,6 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"pVW" = ( -/mob/living/basic/chicken{ - name = "Featherbottom"; - real_name = "Featherbottom" - }, -/obj/structure/flora/bush/fullgrass, -/turf/open/floor/grass, -/area/station/service/hydroponics/garden) "pVZ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -44642,12 +45414,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"pWY" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"pXg" = ( +/obj/effect/landmark/blobstart, +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, /turf/open/floor/plating, -/area/station/maintenance/port/fore) +/area/station/maintenance/port/greater) "pXh" = ( /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, @@ -44670,6 +45447,20 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron, /area/station/service/hydroponics) +"pXz" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/modular_computer/preset/cargochat/cargo{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/iron, +/area/station/cargo/sorting) "pXA" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -44727,6 +45518,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"pYU" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "pZc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44797,6 +45596,24 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"qaD" = ( +/obj/effect/turf_decal/siding/thinplating_new/corner, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"qaF" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/landmark/start/depsec/supply, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "qaG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -44808,6 +45625,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/central) +"qaI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "qaP" = ( /obj/effect/turf_decal/plaque{ icon_state = "L3" @@ -45100,17 +45928,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"qgr" = ( -/obj/machinery/door/poddoor/shutters{ - dir = 8; - id = "qm_warehouse"; - name = "Warehouse Shutters" - }, -/obj/effect/turf_decal/caution/stand_clear, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "qgu" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, @@ -45350,14 +46167,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"qkD" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "qkJ" = ( /obj/structure/chair/office/light, /obj/structure/cable, @@ -45483,30 +46292,10 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/fore) -"qnX" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"qoq" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/bitrunner, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/textured_half, -/area/station/cargo/bitrunning/den) +"qob" = ( +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "qos" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -45550,6 +46339,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"qpa" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/landmark/start/bitrunner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half, +/area/station/cargo/bitrunning/den) "qph" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/spawner/random/medical/patient_stretcher, @@ -45559,6 +46363,12 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"qpp" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "qpr" = ( /obj/machinery/button/door/directional/west{ id = "bridge blast"; @@ -45575,6 +46385,11 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/wood, /area/station/commons/lounge) +"qpZ" = ( +/obj/structure/cable, +/obj/structure/railing/corner/end, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "qqg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45794,15 +46609,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/holding_cell) -"qvl" = ( -/obj/effect/spawner/random/maintenance, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 5 +"qvj" = ( +/obj/machinery/computer/cargo{ + dir = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/structure/window/spawner/directional/west, +/turf/open/floor/iron, +/area/station/cargo/sorting) "qvJ" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -45859,11 +46672,6 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron, /area/station/commons/dorms) -"qwM" = ( -/obj/machinery/power/smes, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "qwR" = ( /obj/structure/sign/directions/evac, /obj/structure/sign/directions/medical{ @@ -45931,21 +46739,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/space, /area/space/nearstation) -"qyo" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Vault Storage" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/supply/vault, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/construction/storage_wing) "qyr" = ( /obj/item/kirbyplants, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -45966,6 +46759,15 @@ }, /turf/open/floor/iron, /area/station/security/brig) +"qyx" = ( +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/obj/machinery/door/airlock/maintenance{ + name = "Mining Dock Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/cargo/miningoffice) "qyC" = ( /turf/closed/wall, /area/station/engineering/atmos/pumproom) @@ -46071,6 +46873,22 @@ dir = 8 }, /area/station/medical/medbay/lobby) +"qAv" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/machinery/light/directional/north, +/obj/structure/statue/gold/qm, +/obj/machinery/status_display/supply{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/brown/diagonal_centre, +/obj/effect/turf_decal/tile/yellow/diagonal_edge, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 10 + }, +/turf/open/floor/iron/diagonal, +/area/station/cargo/storage) "qAA" = ( /obj/machinery/newscaster/directional/east, /obj/machinery/computer/security/mining{ @@ -46147,16 +46965,6 @@ }, /turf/open/floor/engine, /area/station/science/explab) -"qCa" = ( -/obj/structure/rack, -/obj/item/storage/box/shipping, -/obj/item/pushbroom, -/obj/machinery/light_switch/directional/south, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "qCh" = ( /obj/effect/turf_decal/plaque{ icon_state = "L10" @@ -46309,6 +47117,13 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"qEV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/photocopier, +/turf/open/floor/iron, +/area/station/cargo/sorting) "qFo" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -46318,19 +47133,6 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/commons/lounge) -"qFv" = ( -/obj/machinery/door/poddoor/shutters{ - dir = 8; - id = "qm_warehouse"; - name = "Warehouse Shutters" - }, -/obj/structure/cable, -/obj/effect/turf_decal/caution/stand_clear, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "qFF" = ( /obj/effect/turf_decal/trimline/brown/warning{ dir = 5 @@ -46510,14 +47312,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"qIK" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/poddoor/preopen{ - id = "qmprivacy"; - name = "Privacy Shutters" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/qm) "qIL" = ( /obj/machinery/light/small/directional/east, /obj/machinery/camera/directional/east{ @@ -46613,23 +47407,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"qKy" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=1"; - location = "Disposals" - }, -/obj/structure/plasticflaps, -/obj/machinery/door/window/right/directional/south{ - name = "Delivery Door"; - req_access = list("cargo") - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/conveyor{ - dir = 1; - id = "garbage" - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "qKD" = ( /obj/structure/sign/poster/random/directional/east, /obj/effect/turf_decal/tile/bar, @@ -46789,15 +47566,6 @@ }, /turf/open/floor/carpet, /area/station/command/bridge) -"qMi" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "qMm" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 @@ -46805,24 +47573,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/engineering/atmos) -"qMA" = ( -/obj/machinery/computer/cargo{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"qMD" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "qMP" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -46881,6 +47631,17 @@ /obj/machinery/atmospherics/components/binary/valve/digital, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) +"qNy" = ( +/obj/machinery/light/directional/north, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/delivery_chute{ + dir = 4; + name = "Crate Returns" + }, +/obj/structure/window/spawner/directional/south, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/station/cargo/lobby) "qNz" = ( /obj/structure/chair/office/light{ dir = 4 @@ -47278,12 +48039,6 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"qTx" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "qTz" = ( /obj/structure/cable, /obj/machinery/light_switch/directional/west, @@ -47343,6 +48098,29 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"qTL" = ( +/obj/structure/table/reinforced, +/obj/item/stamp/denied{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/item/stamp{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/pen/red{ + pixel_y = 10 + }, +/obj/item/dest_tagger{ + pixel_x = 9; + pixel_y = 10 + }, +/obj/item/pen/screwdriver{ + pixel_x = -7; + pixel_y = 7 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "qTR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ @@ -47733,11 +48511,6 @@ /obj/structure/cable, /turf/open/floor/plating/airless, /area/station/solars/port/fore) -"raC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/sorting) "raJ" = ( /obj/structure/secure_safe/caps_spare, /obj/structure/table/glass, @@ -47818,13 +48591,14 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port) -"rbL" = ( +"rcf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /obj/structure/disposalpipe/segment{ - dir = 5 + dir = 4 }, -/turf/open/floor/iron, -/area/station/cargo/storage) +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "rcq" = ( /obj/machinery/atmospherics/pipe/layer_manifold/purple/visible, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ @@ -47972,6 +48746,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"reU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/arrows/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "rfb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48014,13 +48796,6 @@ }, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"rgN" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "rgS" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 1 @@ -48178,15 +48953,6 @@ /obj/machinery/recharge_station, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"rkf" = ( -/obj/effect/turf_decal/siding/wideplating_new{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics/garden) "rkg" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -48282,6 +49048,12 @@ /obj/structure/table, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"rmo" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "rmF" = ( /obj/machinery/door/airlock/maintenance{ name = "Law Office Maintenance" @@ -48402,6 +49174,18 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"rpd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "rps" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -48486,6 +49270,13 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron, /area/station/security/range) +"rqt" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "rqK" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/east, @@ -48504,6 +49295,12 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"rrs" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "rrt" = ( /obj/structure/lattice, /obj/effect/spawner/random/structure/grille, @@ -48531,6 +49328,16 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) +"rrM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/machinery/door/airlock/maintenance{ + name = "Quartermaster Maintenance" + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "rrT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/red{ @@ -48792,6 +49599,12 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central) +"rvS" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/closed/wall, +/area/station/cargo/warehouse) "rvY" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 @@ -48844,6 +49657,13 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"rwu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "rwx" = ( /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/stripes/line{ @@ -48946,6 +49766,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"rye" = ( +/obj/structure/railing/corner/end/flip, +/obj/effect/turf_decal/stripes/corner, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "ryf" = ( /obj/structure/bookcase/random/reference, /obj/effect/turf_decal/siding/wood{ @@ -49415,6 +50241,13 @@ "rGC" = ( /turf/open/floor/iron/dark, /area/station/security/courtroom) +"rGU" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "rHh" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/security_space_law{ @@ -49472,6 +50305,11 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/theater) +"rHI" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "rHZ" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, /obj/machinery/atmospherics/components/binary/valve/digital{ @@ -49613,10 +50451,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics) -"rKe" = ( -/obj/machinery/netpod, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "rKf" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -49749,11 +50583,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"rMp" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "rMr" = ( /obj/structure/table/glass, /obj/item/experi_scanner{ @@ -49808,6 +50637,10 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"rMV" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "rMZ" = ( /obj/structure/table, /obj/item/folder/blue{ @@ -49858,6 +50691,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"rNU" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/brown/anticorner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "rOz" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -49969,11 +50809,6 @@ "rQw" = ( /turf/open/floor/plating/airless, /area/station/solars/starboard/fore) -"rQK" = ( -/obj/machinery/netpod, -/obj/effect/decal/cleanable/robot_debris, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "rQS" = ( /obj/structure/table, /obj/item/storage/box/evidence{ @@ -50037,6 +50872,33 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron, /area/station/science/xenobiology) +"rRv" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = 11 + }, +/obj/item/folder/yellow{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/folder/yellow{ + pixel_x = -9; + pixel_y = 1 + }, +/obj/item/paper{ + pixel_x = -5 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "rRB" = ( /obj/machinery/door/airlock/external{ name = "Solar Maintenance" @@ -50163,6 +51025,11 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"rUd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/sorting) "rUo" = ( /obj/structure/bed, /obj/effect/spawner/random/bedsheet, @@ -50255,6 +51122,15 @@ "rVn" = ( /turf/open/floor/iron, /area/station/cargo/lobby) +"rVE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/cargo/sorting) "rVG" = ( /obj/machinery/door/window/left/directional/west{ name = "Service Deliveries"; @@ -50272,15 +51148,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"rVK" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/lobby) "rVT" = ( /obj/structure/table, /obj/item/folder/white{ @@ -50554,18 +51421,6 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron/dark, /area/station/science/server) -"sai" = ( -/obj/machinery/door/airlock/mining{ - name = "Cargo Bay" - }, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/effect/landmark/navigate_destination, -/turf/open/floor/iron, -/area/station/cargo/lobby) "sal" = ( /obj/machinery/door/poddoor/shutters{ dir = 4; @@ -50780,6 +51635,16 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) +"sea" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/computer/cargo{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "see" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ @@ -50802,6 +51667,11 @@ /obj/structure/sign/directions/evac, /turf/closed/wall/r_wall, /area/station/hallway/primary/aft) +"sff" = ( +/obj/effect/spawner/random/vending/colavend, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "sfg" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -50887,21 +51757,6 @@ /obj/effect/turf_decal/tile/purple/opposingcorners, /turf/open/floor/iron, /area/station/science/research) -"sgJ" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/bitrunner, -/turf/open/floor/iron/dark/textured_half, -/area/station/cargo/bitrunning/den) "sgX" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -50923,6 +51778,12 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/port) +"shm" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "shq" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/shower/directional/south, @@ -50939,14 +51800,6 @@ /obj/effect/landmark/start/head_of_security, /turf/open/floor/wood, /area/station/command/heads_quarters/hos) -"shx" = ( -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "shK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -51102,6 +51955,11 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/science/xenobiology/hallway) +"slw" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "sly" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -51337,27 +52195,12 @@ /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, /area/station/maintenance/port/fore) -"srl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "srp" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/central) -"srK" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "srP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -51418,12 +52261,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"stw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "stC" = ( /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, @@ -51486,11 +52323,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/construction/storage_wing) -"suI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/cargo/sorting) "suP" = ( /obj/structure/lattice, /obj/machinery/atmospherics/components/unary/passive_vent/layer2{ @@ -51562,22 +52394,6 @@ /obj/structure/sign/warning/fire/directional/east, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"svP" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "QMLoad" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/light/directional/west, -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk, -/obj/structure/window/spawner/directional/south, -/turf/open/floor/iron, -/area/station/cargo/storage) "svQ" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/unres{ @@ -51631,6 +52447,17 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"swH" = ( +/obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "swP" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -51769,6 +52596,15 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/fore) +"syT" = ( +/obj/structure/cable, +/obj/structure/chair/office/light, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/virology) "syV" = ( /obj/effect/turf_decal/arrows/white{ color = "#0000FF"; @@ -51800,16 +52636,6 @@ "szp" = ( /turf/closed/wall, /area/station/commons/fitness/recreation) -"szu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/delivery, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "QM #2" - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "szJ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/janitor, @@ -51990,6 +52816,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"sDz" = ( +/obj/machinery/camera/directional/north, +/obj/structure/chair/greyscale, +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron, +/area/station/cargo/lobby) "sDC" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52047,15 +52881,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/security/lockers) -"sDP" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "sDQ" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, @@ -52172,19 +52997,6 @@ "sFw" = ( /turf/open/floor/iron/chapel, /area/station/service/chapel) -"sFz" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/disposaloutlet{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "sFB" = ( /obj/machinery/door/firedoor, /obj/effect/decal/cleanable/dirt, @@ -52274,6 +53086,21 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/locker) +"sHk" = ( +/obj/structure/table/wood, +/obj/machinery/computer/security/telescreen{ + desc = "Used for watching Prison Wing holding areas."; + name = "Prison Monitor"; + network = list("prison"); + pixel_y = 30 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/book/manual/wiki/security_space_law, +/turf/open/floor/wood, +/area/station/service/lawoffice) "sHt" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -52295,20 +53122,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/engineering/main) -"sIb" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/item/radio/off{ - pixel_x = -11; - pixel_y = -3 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "sIe" = ( /turf/closed/wall/r_wall, /area/station/security/execution/transfer) @@ -52335,15 +53148,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel) -"sIQ" = ( -/obj/item/radio/intercom/directional/west, -/obj/machinery/piratepad/civilian, -/obj/effect/turf_decal/bot_white, -/obj/machinery/camera/directional/west{ - c_tag = "Central Primary Hallway - Fore - Port Corner" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "sIW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52361,27 +53165,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"sJg" = ( -/obj/machinery/computer/cargo{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/button/door/directional/west{ - id = "QMLoaddoor"; - layer = 4; - name = "Loading Doors"; - pixel_y = -8; - req_access = list("cargo") - }, -/obj/machinery/button/door/directional/west{ - id = "QMLoaddoor2"; - layer = 4; - name = "Loading Doors"; - pixel_y = 8; - req_access = list("cargo") - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "sJL" = ( /obj/item/crowbar, /obj/structure/cable, @@ -52392,6 +53175,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/engineering/supermatter) +"sKd" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "QMLoad2"; + name = "Unloading Conveyor"; + pixel_x = -13; + pixel_y = -4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"sKh" = ( +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"sKp" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "sKs" = ( /obj/structure/closet/bombcloset/security, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -52400,6 +53204,9 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron, /area/station/security/brig) +"sKw" = ( +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "sKy" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52615,6 +53422,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) +"sNP" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/arrows/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "sNS" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -52647,6 +53462,15 @@ /obj/structure/light_construct/directional/east, /turf/open/floor/wood, /area/station/commons/vacant_room/office) +"sOI" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/turf/open/floor/plating, +/area/station/solars/port/fore) "sOM" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -52837,11 +53661,6 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/iron, /area/station/engineering/atmos) -"sRD" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "sRJ" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/item/kirbyplants/organic/plant16, @@ -53015,11 +53834,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"sUm" = ( -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "sUo" = ( /turf/open/floor/engine/air, /area/station/engineering/atmos) @@ -53105,16 +53919,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/brig) -"sVp" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "packageExternal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/cargo/sorting) "sVx" = ( /obj/machinery/power/smes/full, /obj/structure/cable, @@ -53268,18 +54072,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"sXz" = ( -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/supply/qm, -/obj/machinery/door/airlock/command{ - name = "Quartermaster's Office" - }, -/obj/effect/landmark/navigate_destination, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "sXF" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 1 @@ -53597,14 +54389,6 @@ "tdW" = ( /turf/closed/wall/r_wall, /area/station/security/execution/education) -"teg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "tep" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -53685,19 +54469,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"tfR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "tfV" = ( /obj/structure/chair/office/light, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -53788,13 +54559,6 @@ dir = 8 }, /area/station/medical/morgue) -"thQ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "thT" = ( /obj/structure/cable, /obj/machinery/camera/directional/east{ @@ -53843,13 +54607,12 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/primary/port) -"tiK" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/storage/toolbox/emergency, -/obj/effect/spawner/random/maintenance, +"tiU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/port/fore) @@ -53915,24 +54678,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"tjN" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/west{ - name = "Cargo Desk"; - req_access = list("shipping") - }, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/item/newspaper, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/sorting) "tkf" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/machinery/conveyor{ @@ -53992,6 +54737,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/main) +"tlm" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/fake_stairs/directional/south, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "tlE" = ( /obj/structure/sign/warning/docking, /turf/closed/wall, @@ -54036,12 +54791,6 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"tmm" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "tmq" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 1 @@ -54156,6 +54905,10 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"tnU" = ( +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "tot" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -54226,6 +54979,12 @@ /obj/machinery/griddle, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"tpG" = ( +/obj/structure/cable, +/obj/machinery/status_display/evac/directional/west, +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "tqd" = ( /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron/white, @@ -54321,6 +55080,12 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) +"tsb" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/thinplating_new, +/obj/effect/turf_decal/trimline/brown/filled/line, +/turf/open/floor/iron, +/area/station/cargo/storage) "tsd" = ( /turf/closed/wall, /area/station/maintenance/space_hut) @@ -54459,6 +55224,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"tui" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) "tuu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -54471,6 +55244,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"tuF" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "tuG" = ( /obj/machinery/hydroponics/soil{ pixel_y = 8 @@ -54606,6 +55387,11 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"txm" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/construction/storage_wing) "txz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -54679,15 +55465,6 @@ /obj/structure/statue/snow/snowman, /turf/open/floor/fake_snow, /area/station/maintenance/port/aft) -"tzy" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "tzD" = ( /obj/machinery/door/airlock{ id_tag = "Toilet3"; @@ -54723,13 +55500,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark, /area/station/security/execution/education) -"tzK" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "tzP" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -54871,6 +55641,15 @@ /obj/effect/landmark/start/depsec/supply, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"tCf" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin/tagger, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron, +/area/station/cargo/sorting) "tCC" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -54912,6 +55691,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/station/medical/abandoned) +"tDo" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/machinery/piratepad/civilian, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "tDN" = ( /obj/structure/chair{ dir = 8 @@ -54925,6 +55711,14 @@ }, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) +"tDS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/iron, +/area/station/cargo/sorting) "tDU" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -55002,6 +55796,18 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"tGx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) +"tGD" = ( +/obj/structure/sign/departments/cargo, +/turf/closed/wall, +/area/station/cargo/lobby) "tGI" = ( /obj/machinery/light_switch/directional/west, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -55255,6 +56061,26 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/primary/central) +"tKQ" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Disposal Access" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "tKR" = ( /obj/structure/table/glass, /obj/machinery/fax{ @@ -55613,6 +56439,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/locker) +"tPz" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/oil/streak, +/obj/effect/turf_decal/trimline/brown/filled/arrow_cw, +/turf/open/floor/iron, +/area/station/cargo/storage) "tPF" = ( /obj/item/storage/belt/utility, /obj/item/radio/off, @@ -55644,6 +56476,22 @@ /obj/item/clothing/mask/surgical, /turf/open/floor/iron/showroomfloor, /area/station/maintenance/starboard/lesser) +"tQl" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"tQy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "tQC" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom, /obj/effect/turf_decal/delivery, @@ -55651,6 +56499,11 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) +"tQD" = ( +/obj/effect/spawner/random/structure/grille, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "tQG" = ( /obj/structure/cable, /obj/machinery/door/airlock/virology/glass{ @@ -55662,11 +56515,13 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/virology, /turf/open/floor/iron/white, /area/station/medical/virology) -"tRt" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/engineering/tracking_beacon, +"tQW" = ( +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, /turf/open/floor/iron, /area/station/cargo/storage) "tRE" = ( @@ -55724,17 +56579,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"tTa" = ( -/obj/item/emptysandbag, -/obj/item/emptysandbag, -/obj/item/emptysandbag, -/obj/item/emptysandbag, -/obj/item/emptysandbag, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "tTB" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on/layer2, /obj/structure/window/reinforced/spawner/directional/south, @@ -55912,24 +56756,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/security/prison/garden) -"tVr" = ( -/obj/machinery/disposal/delivery_chute{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/window/spawner/directional/south, -/obj/structure/window/spawner/directional/north, -/obj/structure/window/spawner/directional/west, -/obj/machinery/door/window/right/directional/east{ - layer = 3 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "tVt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56434,6 +57260,11 @@ }, /turf/open/floor/iron/white, /area/station/science/lab) +"ucv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "ucw" = ( /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, @@ -56455,18 +57286,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"udC" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Storage Room" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "udD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56481,28 +57300,6 @@ dir = 1 }, /area/station/engineering/atmos) -"udI" = ( -/obj/structure/table/reinforced, -/obj/item/stamp/denied{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/item/stamp{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/pen/red{ - pixel_y = 10 - }, -/obj/item/dest_tagger{ - pixel_x = 9; - pixel_y = 10 - }, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "udM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56584,14 +57381,15 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron/grimy, /area/station/tcommsat/computer) -"ufv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable, +"ufx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/engineering{ + name = "Port Bow Solar Access" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/structure/cable, /turf/open/floor/plating, -/area/station/maintenance/port/fore) +/area/station/maintenance/solars/port/fore) "uga" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -56618,6 +57416,13 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"ugl" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "ugP" = ( /obj/effect/turf_decal/box/corners{ dir = 4 @@ -56696,22 +57501,6 @@ }, /turf/open/floor/carpet, /area/station/service/theater) -"uid" = ( -/obj/structure/table, -/obj/item/stack/package_wrap{ - pixel_x = -7; - pixel_y = 9 - }, -/obj/item/dest_tagger{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "uiw" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -56956,6 +57745,13 @@ }, /turf/open/floor/iron, /area/station/security/brig) +"uom" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "uor" = ( /obj/machinery/door/poddoor{ id = "QMLoaddoor2"; @@ -57010,6 +57806,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"upf" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/station/ai_monitored/command/nuke_storage) "upR" = ( /obj/structure/table, /obj/machinery/recharger{ @@ -57289,16 +58091,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"utp" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/storage) "utt" = ( /obj/structure/chair/office{ dir = 8 @@ -57332,6 +58124,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"utN" = ( +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "utS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/hangover, @@ -57346,15 +58145,6 @@ dir = 8 }, /area/station/service/chapel) -"uur" = ( -/obj/effect/spawner/random/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "uuv" = ( /obj/machinery/holopad, /obj/effect/turf_decal/stripes/line{ @@ -57399,13 +58189,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"uvH" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "uvP" = ( /obj/structure/cable, /obj/machinery/door/airlock/virology/glass{ @@ -57444,12 +58227,6 @@ /obj/item/clothing/head/fedora, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"uwx" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "uwy" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -57488,22 +58265,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore) -"uxf" = ( -/obj/machinery/conveyor_switch/oneway{ - id = "packageSort2"; - name = "Sort and Deliver"; - pixel_x = -2; - pixel_y = 12 - }, -/obj/machinery/conveyor_switch/oneway{ - dir = 8; - id = "packageExternal"; - name = "Crate Returns"; - pixel_x = -5; - pixel_y = -3 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "uxm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57610,6 +58371,18 @@ }, /turf/open/space/basic, /area/space) +"uzt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door/directional/north{ + id = "warehouse"; + name = "Warehouse Shutters Control" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, +/obj/structure/table, +/obj/machinery/microwave, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "uzJ" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 @@ -57627,10 +58400,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"uAp" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/cargo/warehouse) "uAu" = ( /obj/machinery/conveyor{ dir = 1; @@ -57648,6 +58417,21 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"uAD" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "packageSort2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/obj/machinery/door/window/right/directional/east{ + name = "Crate Security Door"; + req_access = list("shipping") + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) "uAE" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -57657,6 +58441,9 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"uAG" = ( +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) "uAM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -57779,13 +58566,6 @@ /obj/structure/sign/departments/aiupload/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central) -"uDw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/circuit/green{ - luminosity = 2 - }, -/area/station/ai_monitored/command/nuke_storage) "uDH" = ( /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ dir = 1 @@ -57850,6 +58630,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) +"uED" = ( +/obj/effect/landmark/start/quartermaster, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) "uEO" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -57891,12 +58675,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/checkpoint/customs) -"uFk" = ( -/obj/structure/cable, -/obj/structure/railing/corner/end/flip, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "uFq" = ( /obj/machinery/door/window/left/directional/west{ name = "Mass Driver Door"; @@ -57943,22 +58721,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"uFZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 6 - }, -/obj/machinery/light_switch/directional/west{ - pixel_y = -8 - }, -/obj/machinery/button/door/directional/west{ - id = "qm_warehouse"; - name = "Warehouse Door Control"; - req_access = list("cargo") - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "uGf" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 5 @@ -58068,6 +58830,13 @@ /obj/effect/spawner/random/engineering/flashlight, /turf/open/floor/iron, /area/station/command/gateway) +"uHf" = ( +/obj/machinery/door/poddoor/shutters{ + name = "Warehouse Shutters"; + id = "warehouse" + }, +/turf/open/floor/catwalk_floor, +/area/station/cargo/warehouse) "uHo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58079,17 +58848,6 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron, /area/station/service/hydroponics) -"uHp" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "uHt" = ( /obj/structure/cable, /obj/machinery/duct, @@ -58200,6 +58958,17 @@ /obj/structure/chair/stool/directional/east, /turf/open/floor/iron, /area/station/commons/locker) +"uJD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "uJL" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58216,12 +58985,6 @@ /obj/structure/chair, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"uKm" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "uKv" = ( /obj/machinery/seed_extractor, /obj/machinery/airalarm/directional/north, @@ -58279,18 +59042,6 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) -"uKZ" = ( -/obj/machinery/door/airlock/mining{ - name = "Mining Office" - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "uLa" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/spawner/random/maintenance/two, @@ -58625,13 +59376,6 @@ /obj/machinery/telecomms/server/presets/common, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"uRu" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/sorting) "uRw" = ( /obj/structure/closet/toolcloset, /obj/effect/turf_decal/delivery, @@ -58671,11 +59415,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison) -"uSm" = ( -/obj/item/kirbyplants/random, +"uSw" = ( +/obj/structure/cable, /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 4 }, +/obj/effect/turf_decal/tile/brown/opposingcorners, /turf/open/floor/iron, /area/station/cargo/storage) "uSz" = ( @@ -58687,17 +59432,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"uSL" = ( -/obj/machinery/camera/motion/directional/south{ - c_tag = "Vault"; - network = list("vault") - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "uSM" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ dir = 1 @@ -58732,10 +59466,6 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) -"uTI" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/cargo/lobby) "uTN" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -58894,6 +59624,12 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) +"uWa" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "uWk" = ( /obj/structure/sign/warning/secure_area, /turf/closed/wall/r_wall, @@ -59038,14 +59774,6 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/station/service/hydroponics) -"uXZ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "uYi" = ( /turf/open/floor/plating/airless, /area/station/solars/starboard/aft) @@ -59518,17 +60246,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/evidence) -"vhU" = ( -/obj/machinery/mineral/stacking_unit_console{ - pixel_x = 32 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "via" = ( /obj/machinery/door/airlock/medical{ name = "Medical Cold Room" @@ -59621,6 +60338,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/library) +"vjz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate_abandoned, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "vjB" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -59747,6 +60470,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"vkE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "vkO" = ( /obj/structure/table, /obj/item/clothing/gloves/latex, @@ -59757,12 +60489,6 @@ }, /turf/open/floor/iron/white, /area/station/security/medical) -"vkR" = ( -/obj/machinery/modular_computer/preset/id{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "vlh" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/rnd_secure_all, @@ -59782,6 +60508,13 @@ luminosity = 2 }, /area/station/science/ordnance/bomb) +"vlB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/cargo/sorting) "vlH" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -59826,29 +60559,6 @@ /obj/machinery/status_display/ai/directional/west, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"vmm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/reagent_containers/cup/glass/waterbottle/large{ - pixel_x = 5; - pixel_y = 20 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/item/plate{ - pixel_x = -9 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7 - }, -/obj/effect/spawner/random/food_or_drink/donkpockets{ - pixel_x = -9; - pixel_y = 3 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "vmp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59870,6 +60580,12 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) +"vmU" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/water, +/area/station/service/hydroponics/garden) "vmX" = ( /obj/machinery/light/directional/west, /obj/structure/disposalpipe/segment, @@ -59976,15 +60692,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/engineering/main) -"voS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "QM #1" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "vpg" = ( /obj/machinery/door/poddoor/preopen{ id = "bridge blast"; @@ -60044,14 +60751,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) -"vpO" = ( -/obj/structure/window/spawner/directional/south, -/mob/living/basic/cow{ - name = "Betsy"; - real_name = "Betsy" - }, -/turf/open/floor/grass, -/area/station/service/hydroponics/garden) "vpP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60068,13 +60767,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) -"vpX" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "vqj" = ( /obj/machinery/computer/atmos_alert{ dir = 1 @@ -60174,6 +60866,10 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/checkpoint/customs) +"vsg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "vsr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60477,6 +61173,19 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) +"vxn" = ( +/obj/structure/cable, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) +"vxx" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "vxB" = ( /obj/structure/bed/medical/emergency, /obj/machinery/camera/directional/west{ @@ -60585,15 +61294,22 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"vzs" = ( -/obj/machinery/holopad, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/event_spawn, +"vzp" = ( +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 8 + }, +/obj/machinery/door/airlock/mining{ + name = "Bitrunning Den" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half, +/area/station/cargo/bitrunning/den) "vzt" = ( /obj/structure/table/reinforced, /obj/machinery/airalarm/directional/north, @@ -60649,14 +61365,6 @@ /mob/living/carbon/human/species/monkey, /turf/open/floor/grass, /area/station/medical/virology) -"vzR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "vzS" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -60886,15 +61594,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"vEk" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "vEl" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/air_input{ dir = 1 @@ -60981,6 +61680,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"vEU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Vault Storage" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/vault, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/construction/storage_wing) "vEV" = ( /obj/machinery/space_heater, /obj/effect/decal/cleanable/cobweb, @@ -61046,6 +61760,12 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) +"vFL" = ( +/obj/effect/turf_decal/trimline/brown/filled/shrink_cw{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "vGl" = ( /obj/structure/table/reinforced, /obj/item/flashlight/lamp, @@ -61118,20 +61838,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/iron, /area/station/engineering/main) -"vHG" = ( -/obj/structure/table/wood, -/obj/machinery/keycard_auth/directional/south{ - pixel_x = -6 - }, -/obj/machinery/button/door/directional/south{ - id = "qmprivacy"; - name = "Privacy Shutters Control"; - pixel_x = 8; - pixel_y = -26; - req_access = list("qm") - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "vHM" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61145,6 +61851,12 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"vHZ" = ( +/obj/structure/sign/warning/vacuum/external/directional/east, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "vIa" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -61169,16 +61881,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/office) -"vIt" = ( -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk, -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/west, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/cargo/sorting) "vIz" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 8 @@ -61315,6 +62017,16 @@ }, /turf/open/floor/carpet, /area/station/command/bridge) +"vKP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/security/glass{ + name = "Security Post - Cargo" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "vKT" = ( /obj/structure/girder, /obj/effect/spawner/random/structure/grille, @@ -61357,6 +62069,16 @@ dir = 8 }, /area/station/medical/morgue) +"vLq" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "vLA" = ( /obj/structure/disposalpipe/junction/flip{ dir = 4 @@ -61389,12 +62111,6 @@ /obj/machinery/portable_atmospherics/canister/water_vapor, /turf/open/floor/iron, /area/station/service/janitor) -"vMd" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "vMw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61473,6 +62189,15 @@ }, /turf/open/space, /area/space/nearstation) +"vNZ" = ( +/obj/structure/sign/poster/contraband/random/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "vOh" = ( /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating/airless, @@ -61506,10 +62231,28 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"vOR" = ( +/obj/effect/mapping_helpers/mail_sorting/supply/cargo_bay, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "vOZ" = ( /obj/machinery/duct, /turf/closed/wall, /area/station/commons/fitness/recreation) +"vPd" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/modular_computer/preset/id{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "vPf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ @@ -61721,6 +62464,16 @@ /obj/structure/disposalpipe/junction/flip, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"vRv" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "vRN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -61875,14 +62628,6 @@ /obj/item/stack/cable_coil/five, /turf/open/floor/iron/dark, /area/station/security/mechbay) -"vUx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "vUC" = ( /obj/structure/bed/medical/anchored{ dir = 4 @@ -62122,6 +62867,15 @@ /obj/structure/sign/poster/random/directional/west, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"vYw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1 + }, +/obj/effect/mapping_helpers/mail_sorting/supply/disposals, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "vYD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -62498,15 +63252,6 @@ /obj/item/storage/box, /turf/open/floor/plating, /area/station/maintenance/port) -"wew" = ( -/obj/machinery/modular_computer/preset/cargochat/cargo{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wez" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/iron/dark, @@ -62530,6 +63275,14 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/service/hydroponics/garden) +"weV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron, +/area/station/cargo/sorting) "wfm" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -62545,6 +63298,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"wfp" = ( +/obj/structure/sign/poster/traitor/random, +/turf/closed/wall, +/area/station/cargo/warehouse) "wfu" = ( /obj/structure/chair/office{ dir = 8 @@ -62588,16 +63345,6 @@ /obj/structure/table/glass, /turf/open/floor/iron/dark, /area/station/command/bridge) -"wfU" = ( -/obj/machinery/computer/records/security{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "wfZ" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62654,6 +63401,22 @@ }, /turf/closed/wall, /area/station/maintenance/port/fore) +"wgG" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/cargo/storage) +"wgI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "wgJ" = ( /obj/structure/sign/map/right, /turf/closed/wall, @@ -62762,6 +63525,13 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"wiW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "wjn" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62803,6 +63573,14 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/wood, /area/station/service/library) +"wkm" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/lobby) "wkv" = ( /obj/structure/railing{ dir = 8 @@ -63066,6 +63844,11 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"wpu" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/storage) "wpw" = ( /turf/open/floor/iron, /area/station/hallway/secondary/entry) @@ -63139,19 +63922,6 @@ "wrn" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"wrG" = ( -/obj/structure/rack, -/obj/item/circuitboard/machine/exoscanner{ - pixel_y = 3 - }, -/obj/item/circuitboard/machine/exoscanner, -/obj/item/circuitboard/machine/exoscanner{ - pixel_y = -3 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "wrJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -63342,13 +64112,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) -"wtQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "wtX" = ( /obj/structure/table/wood, /obj/item/folder/yellow, @@ -63445,15 +64208,12 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) -"wwe" = ( -/obj/structure/chair/office{ - dir = 4 +"wwa" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 }, -/obj/effect/landmark/start/cargo_technician, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, -/area/station/cargo/sorting) +/area/station/cargo/lobby) "wwj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -63478,6 +64238,19 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"wwT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "wwW" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 1 @@ -63490,24 +64263,20 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"wwZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/filingcabinet/filingcabinet, +/turf/open/floor/iron, +/area/station/cargo/sorting) "wxe" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"wxg" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "wxh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -63594,6 +64363,27 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) +"wyB" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/machinery/button/door/directional/west{ + id = "qmroom"; + name = "Privacy Blast Doors Control" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "wyC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63830,11 +64620,6 @@ }, /turf/open/floor/engine, /area/station/engineering/atmospherics_engine) -"wCT" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wDh" = ( /obj/machinery/vending/wardrobe/chef_wardrobe, /obj/effect/turf_decal/trimline/brown/warning{ @@ -63953,6 +64738,11 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/hos) +"wFs" = ( +/obj/structure/sign/warning/vacuum/external/directional/north, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "wFy" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -64230,17 +65020,6 @@ /obj/item/pillow/random, /turf/open/floor/carpet, /area/station/commons/dorms) -"wND" = ( -/obj/effect/turf_decal/arrows/red{ - dir = 4 - }, -/obj/effect/spawner/random/maintenance, -/obj/structure/cable, -/obj/effect/turf_decal/bot_white, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/storage) "wNH" = ( /obj/effect/turf_decal/bot_white/left, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -64261,16 +65040,23 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"wOf" = ( -/obj/effect/turf_decal/stripes/line{ +"wNZ" = ( +/obj/structure/closet/crate, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/item/stock_parts/cell/high, +/obj/machinery/light_switch/directional/north, +/obj/effect/spawner/random/engineering/flashlight, +/obj/effect/spawner/random/engineering/flashlight, +/obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 }, /obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "wOl" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners{ dir = 1 @@ -64343,13 +65129,20 @@ /obj/effect/mapping_helpers/airlock/access/all/science/robotics, /turf/open/floor/plating, /area/station/science/robotics/lab) -"wOX" = ( -/obj/machinery/vending/wardrobe/cargo_wardrobe, -/obj/effect/turf_decal/tile/brown/half/contrasted{ +"wPj" = ( +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/turf/open/floor/iron, -/area/station/cargo/storage) +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/obj/machinery/light/small/directional/east, +/obj/structure/bed, +/obj/item/bedsheet/qm, +/obj/effect/landmark/start/quartermaster, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "wPo" = ( /obj/item/radio/intercom/directional/west{ freerange = 1; @@ -64503,23 +65296,6 @@ /obj/machinery/door/poddoor/incinerator_atmos_aux, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"wRj" = ( -/obj/structure/table, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/clothing/gloves/cargo_gauntlet{ - pixel_y = -3 - }, -/obj/item/clothing/gloves/cargo_gauntlet, -/obj/item/clothing/gloves/cargo_gauntlet{ - pixel_y = 3 - }, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "wRm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -64549,6 +65325,11 @@ /obj/structure/table, /turf/open/floor/iron/white, /area/station/science/robotics/lab) +"wRF" = ( +/obj/structure/window/spawner/directional/west, +/obj/structure/flora/rock/pile, +/turf/open/floor/grass, +/area/station/service/hydroponics/garden) "wRL" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -64624,17 +65405,10 @@ /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron, /area/station/service/hydroponics) -"wSP" = ( -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 4 - }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/light/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, +"wTb" = ( +/obj/structure/cable, /turf/open/floor/iron, -/area/station/cargo/storage) +/area/station/cargo/lobby) "wTp" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/left/directional/north{ @@ -64658,11 +65432,6 @@ /obj/structure/reagent_dispensers/fueltank/large, /turf/open/floor/iron, /area/station/engineering/atmos) -"wTu" = ( -/obj/structure/cable, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "wTF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64687,16 +65456,6 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"wUC" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/rnd/production/techfab/department/cargo, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "wUG" = ( /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/trimline/blue/filled/warning, @@ -64943,14 +65702,6 @@ "wYB" = ( /turf/closed/wall, /area/station/hallway/secondary/service) -"wZb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/light/floor, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "wZe" = ( /obj/machinery/door/airlock/public/glass{ name = "Chapel Office" @@ -65019,15 +65770,6 @@ }, /turf/open/floor/iron, /area/station/security/warden) -"xac" = ( -/obj/machinery/firealarm/directional/west, -/obj/item/banner/cargo/mundane, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/turf/open/floor/iron, -/area/station/cargo/storage) "xaj" = ( /obj/structure/table/reinforced, /obj/item/storage/box/gloves{ @@ -65042,14 +65784,6 @@ dir = 4 }, /area/station/medical/chem_storage) -"xap" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/depsec/supply, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "xar" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -65107,14 +65841,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"xbS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/cargo/sorting) "xbT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65145,6 +65871,12 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"xcJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "xcO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65227,6 +65959,10 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"xep" = ( +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/iron, +/area/station/cargo/sorting) "xew" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -65402,6 +66138,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/satellite) +"xgF" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "xgG" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/rack, @@ -65608,14 +66353,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"xkX" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "xkY" = ( /obj/structure/table, /obj/item/instrument/harmonica, @@ -65637,13 +66374,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) -"xlt" = ( -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/cargo/storage) "xlv" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/computer/mech_bay_power_console{ @@ -65700,12 +66430,28 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/grimy, /area/station/tcommsat/computer) +"xmo" = ( +/obj/effect/decal/cleanable/generic, +/obj/vehicle/sealed/mecha/ripley/cargo, +/turf/open/floor/iron/recharge_floor, +/area/station/cargo/warehouse) "xmD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/medical/memeorgans, /obj/structure/closet/crate/freezer, /turf/open/floor/iron/white, /area/station/medical/abandoned) +"xmM" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "xmT" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ @@ -65843,10 +66589,6 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) -"xpX" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/cargo/storage) "xpY" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/incinerator_input{ dir = 1 @@ -66009,13 +66751,6 @@ }, /turf/open/floor/iron, /area/station/service/kitchen) -"xte" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "xtp" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -66149,10 +66884,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"xvv" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/cargo/storage) "xvI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -66191,6 +66922,15 @@ "xww" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage/tech) +"xwB" = ( +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/water, +/area/station/service/hydroponics/garden) "xwD" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner, /turf/open/floor/iron/white, @@ -66350,6 +67090,13 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/engineering/main) +"xyz" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "xyA" = ( /obj/structure/table, /obj/item/stack/ducts/fifty, @@ -66367,6 +67114,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"xyI" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/sign/clock/directional/south, +/turf/open/water, +/area/station/service/hydroponics/garden) "xyM" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -66499,15 +67256,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"xAZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "xBw" = ( /obj/machinery/door/airlock/engineering{ name = "Starboard Quarter Solar Access" @@ -66576,13 +67324,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"xCt" = ( -/obj/structure/cable, -/obj/effect/turf_decal/bot_white, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/storage) "xCx" = ( /obj/item/stack/package_wrap, /obj/item/stack/package_wrap, @@ -66698,14 +67439,6 @@ }, /turf/open/floor/engine, /area/station/science/cytology) -"xDQ" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/mob/living/basic/sloth/citrus, -/turf/open/floor/iron, -/area/station/cargo/storage) "xEe" = ( /obj/item/storage/box/syringes, /obj/item/storage/box/beakers{ @@ -66836,13 +67569,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"xGm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "xGr" = ( /obj/structure/table/reinforced, /obj/item/tank/internals/emergency_oxygen/engi, @@ -66941,11 +67667,6 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"xIZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "xJa" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -66982,6 +67703,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"xJJ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/cargo_technician, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) "xJK" = ( /obj/structure/table, /obj/item/stack/sheet/plasteel/fifty, @@ -67004,6 +67733,19 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) +"xKg" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "packageExternal" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/window/spawner/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/start/hangover, +/turf/open/floor/plating, +/area/station/cargo/sorting) "xKk" = ( /obj/machinery/photocopier, /turf/open/floor/iron/white, @@ -67012,6 +67754,23 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"xKE" = ( +/obj/machinery/button/door/directional/south{ + id = "warehouse"; + name = "Warehouse Shutters Control" + }, +/obj/effect/turf_decal/trimline/red/filled/warning/corner{ + dir = 8 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Cargo Bay - Aft"; + pixel_x = 14 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "xKK" = ( /turf/closed/wall, /area/station/science/research) @@ -67161,15 +67920,6 @@ "xNU" = ( /turf/closed/wall, /area/station/service/lawoffice) -"xOj" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "packageExternal" - }, -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/east, -/turf/open/floor/plating, -/area/station/cargo/sorting) "xOw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -67393,6 +68143,11 @@ "xTw" = ( /turf/closed/wall/r_wall, /area/station/medical/medbay/central) +"xTJ" = ( +/obj/structure/cable, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/storage) "xTO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67459,6 +68214,17 @@ }, /turf/closed/wall/r_wall, /area/station/hallway/primary/fore) +"xUE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/siding/wideplating_new, +/obj/structure/railing, +/obj/effect/turf_decal/tile/green/half/contrasted, +/turf/open/floor/iron, +/area/station/service/hydroponics/garden) "xUH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -67485,15 +68251,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/main) -"xVc" = ( -/obj/structure/disposalpipe/segment{ +"xVp" = ( +/obj/machinery/firealarm/directional/north, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/sign/poster/contraband/random/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/turf/open/floor/iron, +/area/station/cargo/storage) "xVq" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 8 @@ -67574,13 +68339,6 @@ /obj/machinery/drone_dispenser, /turf/open/floor/plating, /area/station/maintenance/department/science/central) -"xWV" = ( -/obj/effect/spawner/random/vending/colavend, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "xWY" = ( /obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/tile/bar, @@ -67598,15 +68356,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"xXf" = ( -/obj/machinery/door/airlock/mining{ - name = "Deliveries" - }, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/iron, -/area/station/cargo/sorting) "xXh" = ( /obj/machinery/photocopier{ pixel_y = 3 @@ -67695,6 +68444,15 @@ }, /turf/closed/wall, /area/station/service/theater) +"xYk" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/end{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "xYq" = ( /obj/structure/rack, /obj/item/stack/sheet/cardboard, @@ -67791,12 +68549,6 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"xZy" = ( -/obj/structure/sign/warning/vacuum/external/directional/east, -/obj/structure/cable, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "xZB" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -67867,17 +68619,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/theater) -"ybi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +"yba" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/stripes/corner, +/obj/item/reagent_containers/cup/soda_cans, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "ybl" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/effect/turf_decal/delivery, @@ -68031,6 +68782,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"ydw" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "ydG" = ( /obj/effect/turf_decal/arrows/red{ dir = 4; @@ -68207,6 +68963,16 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/carpet, /area/station/command/corporate_showroom) +"ygL" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "ygR" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 4 @@ -68222,6 +68988,13 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"yhg" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/light_switch/directional/south, +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "yhm" = ( /obj/machinery/airalarm/directional/west, /obj/structure/disposaloutlet{ @@ -68313,11 +69086,6 @@ /obj/structure/sign/clock/directional/west, /turf/open/floor/iron/dark, /area/station/medical/office) -"yis" = ( -/obj/machinery/mech_bay_recharge_port, -/obj/structure/sign/poster/official/safety_report/directional/south, -/turf/open/floor/plating, -/area/station/cargo/warehouse) "yiJ" = ( /obj/structure/chair/sofa/right/brown, /obj/item/toy/plush/moth{ @@ -68325,14 +69093,6 @@ }, /turf/open/floor/carpet, /area/station/medical/psychology) -"yiN" = ( -/obj/effect/spawner/random/maintenance, -/obj/structure/cable, -/obj/effect/turf_decal/bot_white, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/storage) "yjc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68358,6 +69118,22 @@ /obj/effect/spawner/random/bureaucracy/stamp, /turf/open/floor/wood, /area/station/commons/vacant_room/office) +"yjK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"ykm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "ykn" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -68465,6 +69241,14 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central) +"ylR" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/structure/fake_stairs/directional/north, +/turf/open/floor/iron, +/area/station/cargo/storage) "ylU" = ( /obj/structure/filingcabinet/employment, /obj/machinery/airalarm/directional/east, @@ -81934,7 +82718,7 @@ lMJ lMJ lMJ jXu -hSP +wFs mXz oFR ycr @@ -82191,8 +82975,8 @@ aaa lMJ aaa nmg -nwi -wOf +slw +jhM jXu jXu jXu @@ -82448,9 +83232,9 @@ aaa aox aox jXu -jXu xtr jXu +jXu lMJ jXu jXu @@ -82703,10 +83487,9 @@ aaa aaa aaa aaa -aaa lMJ qGV -bEh +gGS tvR aaa aaa @@ -82731,6 +83514,7 @@ aaa aaa aaa aaa +aaa fcq nJG fcq @@ -82789,8 +83573,8 @@ xjH pIU dno uKy -fMC -jHf +oPY +iOt xjH nzQ vol @@ -82960,7 +83744,6 @@ aaa aaa aaa aaa -aaa lMJ tmz xgB @@ -82988,6 +83771,7 @@ aaa aaa aaa aaa +aaa fcq fxQ fcq @@ -83217,7 +84001,6 @@ aaa aaa aaa aaa -aaa lMJ tmz xgB @@ -83245,6 +84028,7 @@ aaa aaa aaa aaa +aaa fcq uEw fcq @@ -83474,7 +84258,6 @@ aaa aaa aaa aaa -aaa lMJ tmz xgB @@ -83502,6 +84285,7 @@ aaa aaa aaa aaa +aaa kzI fxQ fcq @@ -83567,7 +84351,7 @@ pWX eYE hcR gqV -jwd +syT vUH rUE suP @@ -83731,7 +84515,6 @@ aaa aaa aaa aaa -aaa lMJ tmz xgB @@ -83759,6 +84542,7 @@ aaa aaa aaa aaa +aaa kzI nsK fcq @@ -83988,7 +84772,6 @@ aaa aaa aaa aaa -aaa lMJ tmz xgB @@ -84016,6 +84799,7 @@ aaa aaa aaa aaa +aaa kzI fxQ fcq @@ -84245,10 +85029,9 @@ aaa aaa aaa aaa -aaa lMJ rqa -wZb +fmb iQd aaa aaa @@ -84273,6 +85056,7 @@ aaa aaa aaa aaa +aaa fcq oMY fcq @@ -84500,12 +85284,11 @@ aaa aaa aaa aaa -aaa aox aox jXu jXu -cQc +awi jXu lMJ lMJ @@ -84523,13 +85306,14 @@ aaa aaa aaa aaa +aaa pdX aaa aaa aaa aaa aaa -aaa +fcq fcq pck lku @@ -84754,7 +85538,6 @@ aaa aaa aaa aaa -aaa mWd aaa aaa @@ -84762,7 +85545,7 @@ lMJ lMJ nmg vEV -jPp +swH jXu paD paD @@ -84775,7 +85558,8 @@ pnI lMJ lMJ lMJ -lMJ +aox +kJC hxo aSZ lXG @@ -84783,15 +85567,15 @@ hxo lXG deU hxo -lMJ -lMJ -lMJ +mIW +eeD lMJ fcq -fxQ +sKw +sKw wEz aaq -hgH +pXg wUt fcq jPE @@ -85009,7 +85793,6 @@ xuK xuK lMJ lMJ -lMJ jfG kmW jfG @@ -85019,11 +85802,11 @@ jfG jfG jXu kXA -ufv +aAr jXu qRU -aQP -pFU +gkQ +aaO hKg hKg fQW @@ -85033,24 +85816,25 @@ pnI hKg aaa aaa +aaa hxo bnA -oDp +kmB oDJ -xvv +maa fyz hxo aaa aaa cbz cbz -fcq -lnv -fcq -fcq -cJQ -fcq -fcq +iJv +vQs +vQs +wfp +eoi +vQs +vQs iSk nzD uxa @@ -85266,21 +86050,20 @@ aYN aYN aaa aaa -aaa jfG lVe dqo eXy wCf wVa -sFz +oDk jXu jXu -hWS +ows jXu pJp -qoq -rKe +bzc +aOn bZz qvY kRe @@ -85291,6 +86074,7 @@ hKg hxo hxo hxo +hxo uor waB cbz @@ -85299,15 +86083,15 @@ dZB hxo hxo hxo -cbz -wOX -xlt -jLb -tTa -kQP -fSw -gip -kQP +adM +aqz +dje +vQs +pzN +dxF +dKY +ewG +wfp dHc dHc bZY @@ -85523,7 +86307,6 @@ xuK xuK aaa aaa -aaa qvJ qvJ jfG @@ -85531,13 +86314,13 @@ jfG jfG gYE lBm -qKy +jkL ybN -dOe +lHG jXu qrL -sgJ -rQK +qpa +lgP bZz pPh aFd @@ -85548,25 +86331,26 @@ hKg uvw yeq yeq -giz -xpX -sJg -xpX -jYB +ond +dgn +auv +hRg +tPz +fsd vsO vsO uAu -svP -rbL -mmR -mmR -kQP -kQP -apZ -lnG -qIK -ikJ -kKr +jNt +aCK +tQl +vQs +pVB +sKh +jzc +dMa +hOF +vQs +aVx hyW pTf iOc @@ -85780,20 +86564,19 @@ aaa aaa aaa aaa -aaa qvJ nxi bWw -hTn -tVr +msY +lmq iPE vfv -cTQ -xte -tzy +goc +yjK +tiU jXu iGB -dup +ojm paD paD jpG @@ -85802,28 +86585,29 @@ nVG qOZ hKg hKg -goG +lLL +vFL +sKd +rmo +cCT +rrs aok -luc +qpp +oWV +dKs +rmo +rmo +npL aok -aok -aok -aok -aok -iUw -aok -aok -aok -eLb -cbz -kQP -kQP -mxO -qkD -erM -qIK -xWV -kKr +dzV +vQs +knH +vjz +ipI +utN +rwu +vQs +sff hyW xOw iOc @@ -86037,49 +86821,49 @@ aaa aaa aaa aaa -aaa qvJ nIj gYC -xGm +vxx isO gYE uEC wgw twr -bSm +rcf jXu bZz -iXq +vzp paD -ouc +wNZ dSG -cLj -kvP -cLj +vsg +pjz +bqL mUz -pqJ -rgN -mmR -mmR -mmR -hyd -ejo -jRM -uKm -hyd -ejo -jRM -uKm -thQ -xac -qIK -sRD -nre -uXZ -vHG -kQP -kQP +jAF +ylR +sKp +lxG +sKp +sKp +aok +fBh +aok +tui +aok +oCI +aok +tui +aok +mOP +uHf +nZo +reU +jUp +een +npK +vQs tiD hyW xOw @@ -86294,50 +87078,50 @@ aaa aaa aaa aaa -aaa qvJ kVR jCM -teg +jVU wvR pQu vEH jXu vVp -plJ -pTT -sDP +vYw +lUu +kuo jBl -jBl -nNk -tzK -vzs -hFj +nAz +aXp +xyz +eCd +bLf poj -shx -uKZ -fiC +kQE +bFx +gcM +dAk dAk rhn +ugl iqt -xCt -tRt -xCt +mJJ iqt -yiN +xJJ iqt -xCt -bte +nUb iqt -utp -sXz -qTx -qTx -fHX -nDS -bPa -kQP -kQP +eGF +iqt +ndu +him +rqt +fQE +uWa +dnw +yba +wfp +vQs hyW xOw xbd @@ -86551,17 +87335,16 @@ aaa aaa aaa aaa -aaa qvJ adD eks -fpH -vhU -eNU -aQE +cfq +oSS +pYU +ajF jXu -tiK -qvl +kvM +isq jXu beo sLU @@ -86574,28 +87357,29 @@ qTf oor oor hDX -hDX -uSm -tmm -cYg -mmR -jRM -mNZ -hyd -aok -jRM +fFp +rNU +juL +eic bgx +iTM +aok +ldk +aok +jir +aok +mZe mmR -wRj -qIK -cjJ -cjJ -cjJ -cjJ -cLc -vkR -kQP -jmN +mOP +uHf +qob +apa +pGS +fIs +hzR +xmo +vQs +jth xOw mux pOa @@ -86806,23 +87590,22 @@ raz aaa aaa aaa -aaa tOm pma pma pma hZQ -lbZ +tKQ +lFB jXu jXu jXu jXu -jXu -bSm +kQR +jXu jXu jXu jXu -hKg hzb cLj kRe @@ -86830,28 +87613,29 @@ cBZ wyP oor jqr -wfU -hDX -hDX -eLb -wND +nkO +fFp +fFp mmR -dka +uSw +iqt +vxn aok -lUI -pvP -dka -bgx +sNP +aok +eiu +aok +bxN mmR -nyk -qIK -hKq -iNk -iLV -mQR -lud -eKk -kQP +xKE +vQs +uzt +aUq +gSe +kYE +hzR +mdb +vQs hyW qzC kOQ @@ -87061,55 +87845,55 @@ iOr aaa raz aaa -aaa tOm tOm tOm ntM pgJ -fRZ +yhg hZQ -ybi +aay twr gQg pCk twr -sHu -xkX -pWY -twr +xgB +lKg +hdd +tQD fhn -hKg +jXu jBp -uFk +rye qHt dxo hlE -jXu +oor tBU -kOX -sIb +pES +dMd hDX -cZu +aok +pdm bgx -mmR aok aok -aok -aok -aok -bgx -mmR -mgb -kQP -kQP -kQP -qIK -qIK -kQP -kQP -kQP -jFi +nYr +tQW +tQW +tQW +uJD +ndw +ekC +pNP +pNP +rvS +vQs +vQs +vQs +vQs +vQs +xmM pqc rkM pOa @@ -87318,55 +88102,55 @@ iOr aaa raz raz -raz -grI -hsp -iJm -hsp +sOI +eZO +mQx +eZO aFZ ktG -mIg -qMD -vMd +ufx +nEx +joC fUr fUr fUr fUr -fUr -aps -wTu -fMr -hKg +aOh +hhi +bnT +fiN +jXu pVV -cgk +jZy iId tkf wZo -jXu -hvo -cHN -mXX oor -wSP +hvo +mAR +ngX +oor +xVp +jMv hLL -hod dfk dfk -xDQ -tmm -aok -bgx -mmR -pyZ -pOb -xOj -sVp -sVp -sVp -sVp -bLC -eVh -hKw +tsb +rHI +gSE +bqE +lFS +kZl +emr +guv +iev +fiU +pBm +xKg +pCB +aUI +bzH +eNP xOw wAk pOa @@ -87575,55 +88359,55 @@ iOr iOr aaa aaa -aaa tOm tOm tOm -xZy -btB -qwM +vHZ +daD +nDC srk qGP sHu -gib +rGU sHu -rMp +aGl cVL jXu -uur -xgB +eAu +mlW twr -hKg -hKg -jJu -hKg -hKg -hKg jXu +hKg +qyx +hKg +hKg +hKg +oor jmR -xap -oUx -knT -ivX -bgx -edA -fkC -dBv -cdY -wUC -dfk -hLL -hod -dfk +qaF +aFG +vKP +ouW +tQy +tQy +rMV +nus +aNE +qpZ +tlm +wwT +lqu +fco dfk +jSo edN -cSb -hYx +cbd yhL +uAD hYx -vIt +eAB iev -mkb +aRU sly nxF sVY @@ -87830,8 +88614,7 @@ dTQ rOP jGO iOr -aUn -aUn +mxQ rrt rrt rrt @@ -87842,42 +88625,43 @@ pma hZQ jXu jXu -nzg +pBq jXu jXu jXu jXu -btP +vOR +lpS lpS lpS ykL lpS lpS -lpS -kSp +dtL lls jXu jXu jXu jXu -jXu -vQs -qgr -qFv -vQs -vQs -vQs -vQs -jLf +cbz +psk +qaD +fgt +xgF +xgF +aIy +tnU +pRR +ykm iqt mmR -kaf -auO -xXf -gOb -jld -uxf -qCa +xTJ +wgG +bzH +hho +nXV +nXV +aEJ bzH bzH bBy @@ -88088,8 +88872,7 @@ jjM ilg cmB aaa -mji -aaa +aUn aaa aaa aaa @@ -88099,41 +88882,42 @@ tdg hkj sQp cLN -lfY +eSn ujT dYi iDG jXu -bSm -sHu +rcf +knQ bPM sHu mkz jXu -atS +bPM rNP mgv -mWE +fpG lpS lpS bkF -jXu -uFZ -hen -vzR -ilY -cSq -yis -vQs -wdM -sai -mJo -bzH -bzH -bzH -ocn -aOg -piB +cbz +qAv +isG +nKq +lpB +opT +mpq +miV +pRR +fHw +jTg +oXM +wpu +dEQ +pqm +vRv +brB +dDY hvB sqt iev @@ -88351,18 +89135,17 @@ aaa aaa aaa aaa -aaa tdg hkj hkj kuW -vUx -dxl +lUr +iEX mUF obF jXu -oyO -jXu +rcf +cKP jXu jXu jXu @@ -88373,24 +89156,25 @@ jXu jXu jXu kAI -vEk -jXu -vmm -hen -vzR -jDb -kod -lTZ -vQs -aUj -rVK -baW +aoa +rrM +luG +cVI +mEz +pEy +pEy +mEz +kQP +wdM +mJF +jre +fAv +bRy bzH -mNx -gOb -wCT -qMi -ioz +bzH +lCP +afX +gNx hOh lAi bzH @@ -88608,7 +89392,6 @@ sjP sjP lMJ lMJ -lMJ tdg hkj xQO @@ -88618,8 +89401,8 @@ qST xMx qrF jXu -wfn -jXu +qaI +cKP aaa aaa aaf @@ -88630,24 +89413,25 @@ aaa aaa jXu twr -gkS -jXu -lsu -nvg -vzR -dKY -hGv -mNQ -vQs -aUk -qxJ -aXq -ldC -qMA -piB -epv -jgQ -djG +vLq +oNe +kQP +oLs +kQP +mRz +nkb +lWU +kQP +qNy +hGa +fsO +wwa +fuQ +bzH +bwk +jIl +kDb +prG jHW vjU bzH @@ -88865,18 +89649,17 @@ dMH sjP aaa aaa -aaa tdg tdg tdg fru -wrG +nrY uzb phP rgL jXu -tfR -jXu +hby +cKP aaf rlU rlU @@ -88887,24 +89670,25 @@ rlU aaf jXu sxn -mgv -cUD -cfv -jrx -pEA -pQI -puD -vQs -vQs -pQD +mQM +niJ +moh +fbS +wyB +iDA +uom +itx +kpa +lyW +rVn qxJ -aXq -agQ -fWU -piB -uid -orh -gBN +xYk +gCV +jdj +qvj +wiW +weV +kDb ubn hld iev @@ -89122,7 +89906,6 @@ egg sjP aaa aaa -aaa lMJ aaa aaa @@ -89132,8 +89915,8 @@ jXu jXu jXu jXu -ybi -jXu +wgI +cKP aaa rlU dfl @@ -89144,24 +89927,25 @@ rlU aaa jXu jXu -lJR -jXu -wtQ -nBI -fDo -xIZ -bNU -vQs -dhy +ygL +kQP +kJS +oVQ +uAG +uED +uAG +sea +kpa +hdH aUm jvv -uvH -lwn -ioz -ioz -mwN -lIM -gBN +bPT +coG +dQe +aWy +tGx +wwZ +tDS bLj rnh iev @@ -89379,7 +90163,6 @@ dSB sjP sjP aaa -aaa lMJ aaa aaa @@ -89389,36 +90172,37 @@ sOP twr fnJ jXu -xVc -fsQ +vNZ +dsx aaa rlU qrg cpi cpi -fdI +ucv qpD -aEH -aEH +knh +txm uqX -uwx -vQs -stw -mxh -gUX -srl -oQx -uAp -dhy -rVn +gCH +kQP +aFc +oVQ +uAG +uAG +uAG +vPd +kpa +oCM +wTb fhB -jdn +pAt +ehT aqG -hlb -piB -bnv -cOB -gBN +nyQ +wiW +kQg +pvx oYz bzH bzH @@ -89639,46 +90423,46 @@ sjP sjP sjP aaa -aaa jXu uUu dEH pOi bMu jXu -loQ -fsQ +fby +dsx aaa rlU trx uWn -uDw -ddr -iCz -pDX -qyo +nuJ +lrW +myD +puC +vEU aTU -jSm -vQs -pVi -kod -dXp -szu -voS -vQs -cyR -rVn -qxJ -mgJ -aqG -iyv -bGt -uRu -piB -gBN -haq -nht -aqG +ifu +kQP +mRC +ogW +dyC +igk +wPj +khb +kQP +sDz +shm +nUJ +rpd +ddo +bzH +iUM +hOP +pkT +iXZ +xep +tCf +bzH nQw tEr iOc @@ -89896,46 +90680,46 @@ gEl tMJ sjP aaa -aaa nmg hwo -hcx +ydw knQ -mkd -udC -mZy -fsQ +czz +nyl +cUr +dsx aaa rlU -cTU +upf wHW wHW -uSL -rlU -aEH -aEH +iBb +eoe +knh +txm lpt -uwx -vQs -kdA -kdA -vQs -vQs -vQs -vQs -clA -uTI -iRR -srK +xcJ +kQP +kQP +kpa +oOF +kQP +kQP +kQP +kQP +tGD +plB +wkm +hrv +bXm bzH bzH -bzH -raC -wwe -xbS -suI -nzU -fcw +rVE +lch +iwI +rUd +mdD +eEL sXr ybn fLp @@ -90153,45 +90937,45 @@ fpj nxU sjP aaa -aaa jXu uUu wQj jXu jXu jXu -oyO -fsQ +dQh +jXu aaa rlU vis -mCi +gta ixT oXK rlU aaa aEH aHt -uwx -aIE -aMA -aMA -anW -fCO -hIE -suE -sUm +gCH +fgm aHt -uwx -vpX -sIQ -fwZ +aHt +aHt +dlD +aHt +tpG +suE +dOa +mCc +bNO +grr +jjE +tDo bzH -nZQ -wew -gBN -udI -eYL +pXz +rRv +qEV +qTL +cnG aqG oKy xOw @@ -90410,14 +91194,13 @@ wZz wZz sjP lMJ -lMJ jXu jXu jXu jXu -qnX -nTP -uHp +sHu +tuF +kGK jXu aaf rlU @@ -90429,8 +91212,9 @@ rlU lMJ aEH rhW -grR -xAZ +aul +vkE +fkv wcs hMn ygR @@ -90441,12 +91225,12 @@ lgg kWP lgg uLE -kPX +dSf moQ bzH aqG aqG -tjN +vlB aqG aqG aqG @@ -90675,7 +91459,6 @@ knQ siY jXu jXu -jXu aaa aaa aaa @@ -90685,6 +91468,7 @@ aaa aaa aaa guX +guX xUK guX cFp @@ -90703,7 +91487,7 @@ wRP bBa gji gji -wxg +ahl gji hDj hDj @@ -99167,7 +99951,7 @@ xNo woV bkZ xNU -iJd +jTE nVy tGI daC @@ -99424,8 +100208,8 @@ jAP fEn xXC xNU -iUb -exr +sHk +ooY lWg byw glv @@ -104828,7 +105612,7 @@ jBY aKk lXl nzS -myA +gpk qXB kbo tbd @@ -105596,10 +106380,10 @@ lqQ fzr iCJ qgy -fPj -rkf -rkf -pIo +ldg +bYN +bYN +krt qXB psZ qXB @@ -105850,13 +106634,13 @@ lnc fDC qdy lqQ -iLj +wRF jzC -gqw -jbN -kTa -hlG -kxD +oCO +xUE +jYu +vmU +xyI qXB kbo qXB @@ -106107,13 +106891,13 @@ lnc cUP mil lqQ -pVW -ksN -vpO -fdi -eiZ -kIk -oXH +lbH +mie +pRM +ivb +otG +ftQ +xwB qXB psZ qXB diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index 97e446a974c..b526c833254 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -246,9 +246,6 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"bU" = ( -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "bW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -346,6 +343,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/mine/maintenance/service) +"ct" = ( +/obj/structure/railing/wooden_fence{ + dir = 6 + }, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "cw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -589,6 +592,16 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/mine/eva) +"dL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/toilet{ + dir = 4 + }, +/obj/effect/mob_spawn/corpse/human/skeleton, +/obj/item/clothing/under/rank/cargo/miner/lavaland, +/obj/item/storage/backpack/duffelbag/explorer, +/turf/open/floor/plating, +/area/mine/living_quarters) "dP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -642,6 +655,15 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"ey" = ( +/obj/structure/lattice/catwalk/mining, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/item/toy/plush/shark{ + desc = "A plushie depicting a somewhat cartoonish shark. The tag calls it a 'hákarl', noting that it was made by an obscure furniture manufacturer in old Scandinavia. This one seems to have some cable wiring sticking out of its mouth." + }, +/turf/open/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) "ez" = ( /obj/structure/chair/comfy/teal{ dir = 4 @@ -904,12 +926,6 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/mine/maintenance/living/north) -"ga" = ( -/obj/structure/railing/wooden_fence{ - dir = 10 - }, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "gd" = ( /obj/structure/marker_beacon/yellow, /obj/effect/turf_decal/sand/plating/volcanic, @@ -1308,6 +1324,9 @@ /obj/structure/stone_tile, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"hM" = ( +/turf/closed/wall/mineral/wood/nonmetal, +/area/lavaland/surface) "hR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1406,6 +1425,10 @@ /obj/item/clothing/glasses/meson, /turf/open/floor/iron/dark, /area/mine/storage/public) +"il" = ( +/obj/item/flashlight/lantern/on, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "io" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1678,6 +1701,12 @@ dir = 8 }, /area/mine/production) +"jX" = ( +/obj/structure/railing/wooden_fence{ + dir = 1 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "ka" = ( /obj/structure/table, /obj/machinery/newscaster/directional/north, @@ -1911,12 +1940,6 @@ dir = 1 }, /area/mine/eva) -"lj" = ( -/obj/structure/railing/wooden_fence{ - dir = 8 - }, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "lo" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -1945,6 +1968,12 @@ }, /turf/open/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) +"lt" = ( +/obj/structure/railing/wooden_fence{ + dir = 5 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "lv" = ( /obj/structure/stone_tile/block/cracked{ dir = 8 @@ -2037,6 +2066,18 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, /area/mine/laborcamp/security) +"lM" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/door/airlock/external/glass{ + name = "Mining Shuttle Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/turf/open/floor/iron/dark/textured_large, +/area/mine/production) "lN" = ( /obj/machinery/door/airlock/maintenance{ name = "Mining Station Maintenance" @@ -2159,6 +2200,17 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"mk" = ( +/obj/structure/table/wood, +/obj/item/raptor_dex{ + pixel_y = 13 + }, +/obj/item/raptor_dex{ + pixel_y = 7 + }, +/obj/item/raptor_dex, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "ml" = ( /obj/structure/stone_tile/block/cracked{ dir = 8 @@ -2766,10 +2818,6 @@ /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/plating, /area/mine/laborcamp) -"oZ" = ( -/obj/structure/ore_container/food_trough/raptor_trough, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "pa" = ( /obj/structure/stone_tile{ dir = 1 @@ -2840,7 +2888,7 @@ /area/mine/laborcamp/production) "ps" = ( /obj/structure/cable, -/obj/machinery/power/smes/full, +/obj/machinery/power/smes/super/full, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/maintenance/service) @@ -2897,10 +2945,6 @@ }, /turf/open/floor/plating, /area/mine/laborcamp) -"pG" = ( -/obj/effect/spawner/random/lavaland_mob/raptor, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "pH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2969,12 +3013,6 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"pW" = ( -/obj/structure/railing/wooden_fence{ - dir = 4 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "pZ" = ( /obj/structure/stone_tile/block{ dir = 4 @@ -3023,6 +3061,12 @@ dir = 4 }, /area/mine/laborcamp/quarters) +"qi" = ( +/obj/structure/railing/wooden_fence{ + dir = 4 + }, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "qo" = ( /obj/machinery/door/airlock/glass{ name = "Equipment Storage" @@ -3261,6 +3305,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/maintenance/service) +"sa" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lantern/on, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "se" = ( /turf/open/floor/iron/dark/textured_large, /area/mine/eva) @@ -3357,6 +3406,10 @@ "sO" = ( /turf/open/floor/plating, /area/mine/maintenance/service) +"sQ" = ( +/obj/structure/ore_container/food_trough/raptor_trough, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "sR" = ( /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, @@ -3453,17 +3506,6 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"to" = ( -/obj/structure/table/wood, -/obj/item/raptor_dex{ - pixel_y = 13 - }, -/obj/item/raptor_dex{ - pixel_y = 7 - }, -/obj/item/raptor_dex, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "tr" = ( /obj/structure/closet/secure_closet/brig, /obj/effect/decal/cleanable/dirt, @@ -3563,10 +3605,6 @@ dir = 8 }, /area/mine/laborcamp) -"ug" = ( -/obj/item/flashlight/lantern/on, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "ui" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3623,6 +3661,10 @@ }, /turf/open/floor/iron/white/smooth_edge, /area/mine/cafeteria) +"uw" = ( +/obj/effect/spawner/random/lavaland_mob/raptor, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "ux" = ( /obj/machinery/door/airlock{ id_tag = "miningdorm1"; @@ -3791,12 +3833,6 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/mine/medical) -"vw" = ( -/obj/structure/railing/wooden_fence{ - dir = 9 - }, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "vA" = ( /obj/machinery/light/small/directional/west, /obj/structure/rack, @@ -4311,11 +4347,6 @@ }, /turf/open/floor/iron, /area/mine/living_quarters) -"yK" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lantern/on, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "yN" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -4377,6 +4408,10 @@ /obj/structure/rack, /turf/open/floor/plating, /area/mine/maintenance/service) +"ze" = ( +/obj/effect/spawner/random/lavaland_mob/raptor, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "zf" = ( /obj/machinery/door/airlock{ name = "Restroom" @@ -4412,12 +4447,6 @@ }, /turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) -"zl" = ( -/obj/structure/railing/wooden_fence{ - dir = 1 - }, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "zq" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -4439,6 +4468,10 @@ /obj/item/cigbutt, /turf/open/floor/iron/smooth, /area/mine/laborcamp) +"zs" = ( +/obj/structure/railing/wooden_fence, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "zw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4480,18 +4513,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, /area/mine/cafeteria) -"zI" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/door/airlock/external/glass{ - name = "Mining Shuttle Airlock" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/turf/open/floor/iron/dark/textured_large, -/area/mine/production) "zJ" = ( /obj/machinery/mineral/processing_unit_console, /turf/closed/wall, @@ -4569,12 +4590,6 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"Ak" = ( -/obj/structure/railing/wooden_fence{ - dir = 1 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "Am" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -4630,21 +4645,6 @@ "AJ" = ( /turf/closed/wall, /area/mine/maintenance/service/disposals) -"AK" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/unres, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/mid_joiner{ - dir = 1 - }, -/obj/machinery/door/airlock/external/glass{ - name = "Mining Shuttle Airlock" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/turf/open/floor/iron/dark/textured_large, -/area/mine/production) "AL" = ( /obj/structure/chair/comfy/brown, /obj/machinery/camera/autoname/directional/north{ @@ -4776,12 +4776,6 @@ /obj/structure/sign/poster/official/report_crimes/directional/west, /turf/open/floor/iron/smooth, /area/mine/laborcamp) -"BY" = ( -/obj/structure/railing/wooden_fence{ - dir = 6 - }, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "Ce" = ( /turf/open/floor/plating, /area/mine/maintenance/public/south) @@ -4813,6 +4807,12 @@ }, /turf/open/floor/iron/checker, /area/mine/cafeteria) +"Cv" = ( +/obj/structure/railing/wooden_fence{ + dir = 5 + }, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "Cz" = ( /obj/machinery/door/airlock/medical/glass{ name = "Infirmary" @@ -4881,12 +4881,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark/textured_large, /area/mine/production) -"CN" = ( -/obj/structure/railing/wooden_fence{ - dir = 9 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "CO" = ( /turf/open/floor/iron/textured_large, /area/mine/lounge) @@ -4993,6 +4987,12 @@ "Dz" = ( /turf/closed/wall, /area/mine/medical) +"DB" = ( +/obj/structure/railing/wooden_fence{ + dir = 8 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "DF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5057,7 +5057,7 @@ /turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) "Ee" = ( -/obj/machinery/power/smes/full, +/obj/machinery/power/smes/super/full, /obj/structure/cable, /turf/open/floor/plating, /area/mine/maintenance/labor) @@ -5066,10 +5066,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/mine/maintenance/living/north) -"Ei" = ( -/obj/structure/railing/wooden_fence, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "Eo" = ( /obj/machinery/conveyor{ id = "mining_disposals" @@ -5128,12 +5124,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/laborcamp/quarters) -"EC" = ( -/obj/structure/railing/wooden_fence{ - dir = 8 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "EE" = ( /obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5284,10 +5274,6 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"FG" = ( -/obj/effect/spawner/random/lavaland_mob/raptor, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "FH" = ( /turf/closed/wall, /area/lavaland/surface/outdoors) @@ -5396,12 +5382,6 @@ }, /turf/open/floor/iron/edge, /area/mine/lounge) -"GC" = ( -/obj/structure/railing/wooden_fence{ - dir = 4 - }, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "GD" = ( /obj/machinery/computer/shuttle/labor/one_way, /turf/open/floor/iron/smooth, @@ -5417,6 +5397,12 @@ dir = 8 }, /area/mine/production) +"GG" = ( +/obj/structure/railing/wooden_fence{ + dir = 9 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "GH" = ( /obj/machinery/door/airlock/glass{ name = "Arrival Lounge" @@ -5488,17 +5474,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/mine/maintenance/public/north) -"Hh" = ( -/obj/structure/table/wood, -/obj/item/soap/deluxe{ - pixel_y = 11 - }, -/obj/item/soap/deluxe{ - pixel_y = 6 - }, -/obj/item/soap/deluxe, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "Hp" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -5522,16 +5497,6 @@ dir = 1 }, /area/mine/lounge) -"Hz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/toilet/secret{ - dir = 4 - }, -/obj/effect/mob_spawn/corpse/human/skeleton, -/obj/item/clothing/under/rank/cargo/miner/lavaland, -/obj/item/storage/backpack/duffelbag/explorer, -/turf/open/floor/plating, -/area/mine/living_quarters) "HA" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/camera/autoname/directional/west{ @@ -6187,9 +6152,6 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"La" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/lavaland/surface) "Le" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -6664,6 +6626,12 @@ /obj/machinery/computer/order_console/mining, /turf/open/floor/iron/dark, /area/mine/production) +"NK" = ( +/obj/structure/railing/wooden_fence{ + dir = 1 + }, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "NL" = ( /obj/structure/railing, /obj/structure/lattice/catwalk/mining, @@ -6682,6 +6650,9 @@ dir = 1 }, /area/mine/laborcamp/production) +"NS" = ( +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "NT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6797,12 +6768,6 @@ dir = 4 }, /area/mine/laborcamp/security) -"OF" = ( -/obj/structure/railing/wooden_fence{ - dir = 5 - }, -/turf/open/misc/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) "OH" = ( /obj/item/storage/fancy/cigarettes/cigpack_robust{ pixel_x = -8; @@ -6849,6 +6814,17 @@ /obj/structure/cable, /turf/open/floor/iron/white/textured_large, /area/mine/cafeteria) +"OW" = ( +/obj/structure/table/wood, +/obj/item/soap/deluxe{ + pixel_y = 11 + }, +/obj/item/soap/deluxe{ + pixel_y = 6 + }, +/obj/item/soap/deluxe, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "OZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7303,6 +7279,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/mine/laborcamp/quarters) +"RW" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/unres, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/mid_joiner{ + dir = 1 + }, +/obj/machinery/door/airlock/external/glass{ + name = "Mining Shuttle Airlock" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/turf/open/floor/iron/dark/textured_large, +/area/mine/production) "RY" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -7525,6 +7516,12 @@ dir = 4 }, /area/mine/production) +"Tt" = ( +/obj/structure/railing/wooden_fence{ + dir = 10 + }, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "Tu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7715,6 +7712,12 @@ }, /turf/open/floor/iron/freezer, /area/mine/living_quarters) +"UI" = ( +/obj/structure/railing/wooden_fence{ + dir = 4 + }, +/turf/open/misc/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "UK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wideplating_new{ @@ -7792,6 +7795,12 @@ }, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"Vd" = ( +/obj/structure/railing/wooden_fence{ + dir = 9 + }, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "Ve" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured_large, @@ -7935,6 +7944,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/maintenance/labor) +"VP" = ( +/obj/structure/railing/wooden_fence{ + dir = 8 + }, +/turf/open/misc/hay/lavaland, +/area/lavaland/surface) "VS" = ( /obj/machinery/hydroponics/constructable, /obj/effect/decal/cleanable/dirt, @@ -8544,12 +8559,6 @@ dir = 8 }, /area/mine/lounge) -"ZF" = ( -/obj/structure/railing/wooden_fence{ - dir = 5 - }, -/turf/open/misc/hay/lavaland, -/area/lavaland/surface) "ZH" = ( /obj/structure/closet/secure_closet/labor_camp_security, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -29901,7 +29910,7 @@ Xw aj aj aj -cU +ey aj aj aj @@ -42230,7 +42239,7 @@ iu yH KW iu -Hz +dL iu pU pU @@ -47113,11 +47122,11 @@ GL Jl rv TJ -AK +RW cc XM CM -zI +lM Ec BP BP @@ -49442,18 +49451,18 @@ aj aj aj aj -CN -EC -EC -La -La -La -La -La -La -La -La -La +GG +DB +DB +hM +hM +hM +hM +hM +hM +hM +hM +hM "} (160,1,1) = {" aa @@ -49699,18 +49708,18 @@ aj aj aj pU -Ak +jX pU pU -zl -oZ -bU -Ei -bU -bU -oZ -bU -La +NK +sQ +NS +zs +NS +NS +sQ +NS +hM "} (161,1,1) = {" aa @@ -49956,18 +49965,18 @@ aj aj aj pU -Ak +jX pU pU -zl -ug -bU -Ei -bU -bU -ug -bU -La +NK +il +NS +zs +NS +NS +il +NS +hM "} (162,1,1) = {" aa @@ -50213,18 +50222,18 @@ aj aj aj pU -Ak +jX pU pU -zl -bU -bU -Ei -bU -bU -bU -bU -La +NK +NS +NS +zs +NS +NS +NS +NS +hM "} (163,1,1) = {" aa @@ -50470,18 +50479,18 @@ aj pU pU pU -Ak +jX pU pU -ZF -GC -bU -BY -bU -bU -GC -GC -La +Cv +qi +NS +ct +NS +NS +qi +qi +hM "} (164,1,1) = {" aa @@ -50728,17 +50737,17 @@ pU pU pU pU -pG +ze pU -bU -bU -bU -bU -bU -FG -bU -bU -La +NS +NS +NS +NS +NS +uw +NS +NS +hM "} (165,1,1) = {" aa @@ -50987,15 +50996,15 @@ pU pU pU pU -bU -to -yK -bU -bU -bU -Hh -yK -La +NS +mk +sa +NS +NS +NS +OW +sa +hM "} (166,1,1) = {" aa @@ -51244,15 +51253,15 @@ pU pU pU pU -bU -bU -FG -bU -bU -bU -bU -bU -La +NS +NS +uw +NS +NS +NS +NS +NS +hM "} (167,1,1) = {" aa @@ -51498,18 +51507,18 @@ pU pU pU pU -Ak +jX pU pU -vw -lj -bU -ga -bU -bU -lj -lj -La +Vd +VP +NS +Tt +NS +NS +VP +VP +hM "} (168,1,1) = {" aa @@ -51755,18 +51764,18 @@ pU pU pU pU -Ak +jX pU pU -zl -bU -bU -Ei -bU -bU -bU -bU -La +NK +NS +NS +zs +NS +NS +NS +NS +hM "} (169,1,1) = {" aa @@ -52012,18 +52021,18 @@ pU pU pU pU -Ak +jX pU pU -zl -ug -bU -Ei -bU -bU -ug -bU -La +NK +il +NS +zs +NS +NS +il +NS +hM "} (170,1,1) = {" aa @@ -52269,18 +52278,18 @@ pU pU pU pU -Ak +jX pU pU -zl -oZ -bU -Ei -bU -bU -oZ -bU -La +NK +sQ +NS +zs +NS +NS +sQ +NS +hM "} (171,1,1) = {" aa @@ -52526,18 +52535,18 @@ pU pU pU pU -OF -pW -pW -La -La -La -La -La -La -La -La -La +lt +UI +UI +hM +hM +hM +hM +hM +hM +hM +hM +hM "} (172,1,1) = {" aa diff --git a/_maps/map_files/NSVBlueshift/Blueshift.dmm b/_maps/map_files/NSVBlueshift/Blueshift.dmm index 0fbe791f3ee..9eddb13259a 100644 --- a/_maps/map_files/NSVBlueshift/Blueshift.dmm +++ b/_maps/map_files/NSVBlueshift/Blueshift.dmm @@ -8075,16 +8075,6 @@ }, /turf/open/floor/grass, /area/station/security/prison/garden) -"bCR" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/table, -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "bDe" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/cable, @@ -12765,6 +12755,10 @@ }, /turf/open/floor/plating, /area/station/security/prison/safe) +"cuX" = ( +/obj/structure/aquarium/lawyer, +/turf/open/floor/carpet, +/area/station/service/lawoffice) "cva" = ( /obj/structure/grille, /obj/structure/window/spawner/directional/east, @@ -16360,6 +16354,10 @@ /obj/item/clothing/shoes/sports, /turf/open/floor/iron/dark, /area/station/common/locker_room_shower) +"dcK" = ( +/obj/structure/musician/piano, +/turf/open/floor/wood, +/area/station/service/bar/atrium) "dcL" = ( /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, @@ -17305,13 +17303,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating/airless, /area/space/nearstation) -"dlU" = ( -/obj/structure/cable, -/obj/machinery/power/smes/super/full{ - name = "ai power storage unit" - }, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) "dlY" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 1 @@ -25226,10 +25217,6 @@ }, /turf/open/floor/engine, /area/station/science/explab) -"eNd" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/carpet, -/area/station/service/lawoffice) "eNi" = ( /obj/effect/turf_decal/bot, /obj/structure/rack, @@ -26403,17 +26390,6 @@ dir = 8 }, /area/station/security/prison/workout) -"eXN" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, -/obj/effect/turf_decal/tile/red, -/obj/structure/reagent_dispensers/wall/peppertank/directional/west, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/security/brig) "eYl" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -32230,13 +32206,6 @@ /obj/machinery/duct, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"geL" = ( -/obj/effect/turf_decal/stripes/box, -/obj/machinery/camera/directional/west{ - c_tag = "Security - Mechbay" - }, -/turf/open/floor/iron/recharge_floor, -/area/station/security/mechbay) "geQ" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -34564,6 +34533,18 @@ dir = 9 }, /area/station/commons/fitness) +"gBL" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/tile/red, +/obj/structure/reagent_dispensers/wall/peppertank/directional/west, +/obj/machinery/light/directional/west, +/obj/machinery/recharger, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/security/brig) "gBM" = ( /obj/effect/turf_decal/delivery, /obj/machinery/space_heater, @@ -37755,17 +37736,6 @@ dir = 4 }, /area/station/hallway/primary/port) -"hka" = ( -/obj/structure/table/reinforced, -/obj/item/poster/random_official{ - pixel_y = 5 - }, -/obj/item/poster/random_official, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/security/office) "hkb" = ( /obj/machinery/door/airlock/security/glass{ name = "Firing Range" @@ -37935,6 +37905,22 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"hlQ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/power/smes/super/full{ + name = "ai power storage unit" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "hlR" = ( /obj/structure/chair/sofa/bench/right{ dir = 4; @@ -38107,10 +38093,6 @@ "hnC" = ( /turf/open/floor/plating, /area/station/maintenance/department/science/upper) -"hnD" = ( -/obj/structure/musician/piano, -/turf/open/floor/wood, -/area/station/service/bar/atrium) "hnI" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes{ @@ -42024,13 +42006,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"ibo" = ( -/obj/structure/table/reinforced, -/obj/item/folder/red, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/security/office) "ibr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47496,11 +47471,6 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/service/bar) -"jeX" = ( -/obj/machinery/light/directional/south, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/library/private) "jfa" = ( /obj/effect/spawner/random/trash/graffiti, /turf/closed/wall, @@ -49870,6 +49840,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/checker, /area/station/hallway/secondary/service) +"jBJ" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/table, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/turf/open/floor/iron, +/area/station/service/bar) "jBN" = ( /obj/structure/table_frame, /obj/effect/spawner/random/trash/mess, @@ -52702,6 +52682,14 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/eva) +"kbH" = ( +/obj/effect/turf_decal/stripes/box, +/obj/machinery/camera/directional/west{ + c_tag = "Security - Mechbay" + }, +/obj/vehicle/sealed/mecha/ripley/paddy/preset, +/turf/open/floor/iron/recharge_floor, +/area/station/security/mechbay) "kbK" = ( /obj/structure/closet/cardboard, /obj/effect/spawner/random/maintenance, @@ -59151,24 +59139,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"loc" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/newscaster/directional/south, -/obj/item/folder, -/turf/open/floor/iron/dark, -/area/station/service/library/private) "lor" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -63063,6 +63033,18 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/plating, /area/station/engineering/atmos) +"maE" = ( +/obj/structure/table/reinforced, +/obj/item/poster/random_official{ + pixel_y = 5 + }, +/obj/item/poster/random_official, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/recharger, +/turf/open/floor/iron/dark, +/area/station/security/office) "maF" = ( /obj/machinery/photocopier, /obj/effect/turf_decal/stripes, @@ -67299,6 +67281,24 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore/upper) +"mSt" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/newscaster/directional/south, +/obj/item/folder, +/turf/open/floor/iron/dark, +/area/station/service/library/private) "mSx" = ( /obj/effect/turf_decal/tile/red/half, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -79167,15 +79167,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/security/courtroom) -"pgm" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Security Maintenance" - }, -/obj/effect/mapping_helpers/airlock/welded, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/plating, -/area/station/maintenance/department/security/lower) "pgs" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/rack, @@ -82739,21 +82730,6 @@ /obj/machinery/shower/directional/south, /turf/open/floor/iron/freezer, /area/station/commons/dorms/vacantroom) -"pQX" = ( -/obj/item/radio/intercom/directional/south, -/obj/structure/secure_safe/caps_spare{ - pixel_x = 5; - pixel_y = -37 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/window/brigdoor/right/directional/east{ - name = "Command Chair"; - req_access = list("command") - }, -/turf/open/floor/iron, -/area/station/command/bridge) "pQZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -86414,10 +86390,6 @@ /obj/machinery/digital_clock/directional/west, /turf/open/floor/iron/white, /area/station/science/lab) -"qyJ" = ( -/obj/structure/musician/piano, -/turf/open/floor/wood, -/area/station/service/theater) "qyM" = ( /obj/effect/turf_decal/bot, /obj/effect/spawner/random/structure/crate, @@ -91491,22 +91463,6 @@ dir = 8 }, /area/station/hallway/primary/port) -"rvH" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/power/smes/super/full{ - name = "ai power storage unit" - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "rvL" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -94057,6 +94013,13 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/dark, /area/station/service/chapel) +"rXc" = ( +/obj/structure/cable, +/obj/machinery/power/smes/super/full{ + name = "ai power storage unit" + }, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) "rXe" = ( /obj/structure/bed/medical/emergency, /obj/machinery/iv_drip, @@ -102034,28 +101997,6 @@ }, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) -"txk" = ( -/obj/structure/table/reinforced, -/obj/item/implanter{ - pixel_x = 5; - pixel_y = 12 - }, -/obj/item/storage/box/evidence{ - pixel_x = -5; - pixel_y = 12 - }, -/obj/item/toy/crayon/white{ - pixel_x = -5; - pixel_y = -4 - }, -/obj/item/toy/crayon/white{ - pixel_y = -4 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/security/office) "txl" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/simple/violet/visible/layer2, @@ -105137,6 +105078,14 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos/hfr_room) +"ubQ" = ( +/obj/structure/table/reinforced, +/obj/item/restraints/handcuffs, +/obj/item/assembly/flash/handheld, +/obj/structure/disposalpipe/segment, +/obj/machinery/recharger, +/turf/open/floor/iron/dark, +/area/station/security/office) "ubU" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ dir = 6 @@ -112681,6 +112630,10 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/wood/parquet, /area/station/common/gaskiosk) +"vxv" = ( +/obj/structure/musician/piano, +/turf/open/floor/wood, +/area/station/service/theater) "vxA" = ( /obj/effect/turf_decal/caution/stand_clear/blue, /obj/effect/turf_decal/bot_blue, @@ -112714,13 +112667,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"vxH" = ( -/obj/structure/table/reinforced, -/obj/item/restraints/handcuffs, -/obj/item/assembly/flash/handheld, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/station/security/office) "vxL" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 @@ -116105,6 +116051,22 @@ }, /turf/open/floor/carpet, /area/station/hallway/primary/port) +"wei" = ( +/obj/item/radio/intercom/directional/south, +/obj/structure/secure_safe/caps_spare{ + pixel_x = 5; + pixel_y = -37; + density = 0 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/window/brigdoor/right/directional/east{ + name = "Command Chair"; + req_access = list("command") + }, +/turf/open/floor/iron, +/area/station/command/bridge) "wel" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer4, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, @@ -117220,6 +117182,14 @@ }, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/nt_rep) +"wnS" = ( +/obj/structure/table/reinforced, +/obj/item/folder/red, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/recharger, +/turf/open/floor/iron/dark, +/area/station/security/office) "wnU" = ( /obj/effect/spawner/random/trash/mess, /obj/structure/cable, @@ -119079,6 +119049,11 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/upper) +"wFg" = ( +/obj/machinery/light/directional/south, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/library/private) "wFh" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/stripes/corner{ @@ -124095,6 +124070,29 @@ }, /turf/open/floor/plating, /area/station/commons/dorms/room2) +"xFa" = ( +/obj/structure/table/reinforced, +/obj/item/implanter{ + pixel_x = 5; + pixel_y = 12 + }, +/obj/item/storage/box/evidence{ + pixel_x = -5; + pixel_y = 12 + }, +/obj/item/toy/crayon/white{ + pixel_x = -5; + pixel_y = -4 + }, +/obj/item/toy/crayon/white{ + pixel_y = -4 + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/recharger, +/turf/open/floor/iron/dark, +/area/station/security/office) "xFd" = ( /obj/structure/railing, /obj/structure/chair/plastic{ @@ -125366,6 +125364,15 @@ name = "Ultra Reinforced Glass Floor" }, /area/station/ai_monitored/turret_protected/aisat_interior) +"xSV" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Security Maintenance" + }, +/obj/effect/mapping_helpers/airlock/welded, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/plating, +/area/station/maintenance/department/security/lower) "xSZ" = ( /obj/structure/table/wood, /obj/item/storage/briefcase, @@ -148364,7 +148371,7 @@ mjE mjE mjE mjE -pgm +xSV mjE ltN cDn @@ -152499,7 +152506,7 @@ plI nWK tNz mBw -geL +kbH jEw rZq tUd @@ -153838,7 +153845,7 @@ oHU qlY sJE jzJ -loc +mSt qlY tbS oMk @@ -154095,7 +154102,7 @@ kWy qlY qfV jbI -jeX +wFg qlY snu gbw @@ -154600,7 +154607,7 @@ uNw pAI qUR nRk -eNd +cuX uuF atZ sMu @@ -158143,7 +158150,7 @@ ceT pwH ugJ nWI -txk +xFa rXr cWr nOi @@ -158400,7 +158407,7 @@ mbm lNG pty qIA -hka +maE rXr bry nOi @@ -158657,7 +158664,7 @@ mUe oXP iia onB -vxH +ubQ qQZ hng hVN @@ -158670,7 +158677,7 @@ bmV blx sum nqK -eXN +gBL mHF tDN vdZ @@ -158911,7 +158918,7 @@ xFU vjw hmi rvO -ibo +wnS kgh hjh bpv @@ -161034,7 +161041,7 @@ jZJ nge rZM wna -bCR +jBJ kGp mQS nYP @@ -161049,7 +161056,7 @@ qJJ cUu jMU pgb -hnD +dcK oAu vET hPM @@ -219375,7 +219382,7 @@ jCN ooa uUk pey -qyJ +vxv sTk qjg aZe @@ -224616,7 +224623,7 @@ pIo uMb fdi aka -dlU +rXc mkC gHe dFU @@ -224974,7 +224981,7 @@ jmZ dep nLV gmt -pQX +wei jiu jiu gBh @@ -225628,7 +225635,7 @@ mpb mpb gLc fge -rvH +hlQ ybB yap fge diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index 1b3a5210ef0..d227e296cd2 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -91,14 +91,6 @@ /turf/open/floor/iron/smooth, /area/station/cargo/sorting) "aaU" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 8 - }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "aaV" = ( @@ -360,15 +352,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/service/bar) -"ael" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "aeu" = ( /obj/machinery/power/terminal{ dir = 1 @@ -992,7 +975,12 @@ /turf/open/floor/plating, /area/station/construction/mining/aux_base) "amM" = ( -/obj/machinery/light/floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/siding/blue, +/obj/machinery/medical_kiosk, +/obj/effect/turf_decal/delivery, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "anb" = ( @@ -1428,10 +1416,18 @@ /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port) "ask" = ( -/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/turf/open/floor/plating, -/area/station/medical/medbay/lobby) +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Treatment Center"; + name = "medbay camera"; + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "asl" = ( /obj/machinery/door/window/left/directional/west{ name = "Cargo Conveyor Access"; @@ -2449,17 +2445,17 @@ /area/station/command/meeting_room) "aGr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/railing{ - dir = 1 +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health{ + pixel_y = 3 }, -/obj/structure/chair/sofa/bench/solo, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 +/obj/item/clothing/glasses/hud/health{ + pixel_y = 6 }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "aGw" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -2578,11 +2574,9 @@ /turf/open/floor/plating, /area/station/security/prison/work) "aHK" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/table/glass, -/obj/item/bonesetter, -/obj/item/stack/medical/bone_gel, -/turf/open/floor/iron/white/textured, +/obj/machinery/light/directional/east, +/obj/structure/closet/secure_closet/medical2, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "aHM" = ( /obj/effect/turf_decal/bot, @@ -3261,11 +3255,11 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload_foyer) "aRz" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) @@ -3423,18 +3417,11 @@ /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) "aTc" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, +/obj/effect/turf_decal/siding/white, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/turf/open/floor/iron/dark/textured, +/area/station/medical/paramedic) "aTh" = ( /obj/structure/chair/office{ dir = 8 @@ -3947,6 +3934,7 @@ "aYB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /obj/machinery/light/small/directional/north, +/obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/textured, /area/station/medical/cryo) "aYJ" = ( @@ -4068,6 +4056,9 @@ }, /turf/open/space/openspace, /area/space/nearstation) +"aZW" = ( +/turf/closed/wall, +/area/station/medical/treatment_center) "aZX" = ( /obj/machinery/light/directional/north, /turf/open/floor/iron/dark/side{ @@ -4374,18 +4365,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/toilet) -"bez" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "beB" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ @@ -5125,10 +5104,8 @@ /turf/open/floor/wood/tile, /area/station/service/library) "blH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, /obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/blue, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "blI" = ( @@ -5301,12 +5278,11 @@ /turf/open/floor/iron, /area/station/hallway/floor1/aft) "bnC" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/effect/turf_decal/tile/blue/full, -/obj/structure/table/glass, -/obj/item/storage/belt/medical, -/obj/item/clothing/glasses/hud/health, -/turf/open/floor/iron/white/textured, +/obj/structure/bed/medical/anchored{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "bnI" = ( /obj/structure/table/reinforced, @@ -5934,16 +5910,12 @@ /turf/open/floor/iron/dark, /area/station/engineering/atmos/pumproom) "buR" = ( -/obj/structure/railing, -/obj/structure/chair/sofa/bench/solo{ +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/chair{ dir = 1 }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "bvc" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -6120,10 +6092,10 @@ /turf/open/floor/pod/dark, /area/station/maintenance/floor4/starboard) "bwE" = ( +/obj/structure/sign/poster/official/random/directional/east, /obj/machinery/cryo_cell{ dir = 8 }, -/obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron/dark/textured, /area/station/medical/cryo) "bwF" = ( @@ -6528,11 +6500,32 @@ /turf/open/floor/iron, /area/station/cargo/miningdock) "bCd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/reagent_containers/chem_pack{ + pixel_x = -4; + pixel_y = 2 }, -/turf/open/floor/iron/white, +/obj/item/reagent_containers/chem_pack{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/reagent_containers/chem_pack{ + pixel_y = 3 + }, +/obj/item/clothing/neck/stethoscope{ + pixel_y = 4 + }, +/obj/item/reagent_containers/cup/bottle{ + pixel_x = -2 + }, +/obj/item/reagent_containers/cup/bottle{ + pixel_x = 2 + }, +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" + }, +/turf/open/floor/iron/white/textured, /area/station/medical/treatment_center) "bCk" = ( /obj/structure/rack, @@ -7252,14 +7245,6 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/smooth, /area/station/construction) -"bND" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "bNL" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -8022,11 +8007,10 @@ /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) "bYb" = ( -/obj/effect/turf_decal/tile/blue/full, /obj/structure/table/glass, -/obj/item/storage/box/hug/medical, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/white/textured, +/obj/item/stack/medical/gauze, +/obj/machinery/defibrillator_mount/directional/east, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "bYg" = ( /obj/effect/turf_decal/trimline/blue, @@ -8875,7 +8859,8 @@ }, /area/station/command/teleporter) "cix" = ( -/obj/machinery/restaurant_portal/restaurant, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/service/kitchen/diner) "ciz" = ( @@ -9365,12 +9350,8 @@ /turf/open/floor/wood, /area/station/command/heads_quarters/ce) "coZ" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/defibrillator_mount/directional/south, -/obj/structure/bed/medical{ - dir = 8 - }, -/turf/open/floor/iron/white/textured, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "cpa" = ( /obj/structure/table/wood, @@ -9670,12 +9651,19 @@ /turf/open/floor/wood, /area/station/service/bar) "csR" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 +/obj/effect/turf_decal/siding/blue{ + dir = 4; + pixel_x = -15 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Treatment Center"; + name = "medbay camera"; + network = list("ss13","medbay"); + dir = 2 }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "csT" = ( @@ -10009,18 +9997,15 @@ /turf/open/floor/catwalk_floor, /area/station/maintenance/floor2/starboard/fore) "cwz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 9 }, /obj/machinery/duct, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, /turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/area/station/medical/treatment_center) "cwD" = ( /obj/machinery/newscaster/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12100,22 +12085,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/exit/escape_pod) -"cZm" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/door/airlock/medical/glass{ - name = "Treatment Center" - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "cZA" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 6 @@ -12142,14 +12111,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) -"cZI" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/obj/structure/sink/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "cZK" = ( /obj/structure/chair/sofa/bench/left{ dir = 1 @@ -12583,9 +12544,16 @@ /turf/open/floor/catwalk_floor, /area/station/maintenance/floor3/starboard) "dfB" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/window/preopen{ + dir = 1; + name = "Medbay Lockdown Shutters"; + id = "med_lockdown" + }, +/turf/open/floor/plating, /area/station/medical/medbay/lobby) "dfP" = ( /obj/structure/chair{ @@ -12620,13 +12588,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/floor2/starboard/aft) -"dgm" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "dgp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -13802,21 +13763,13 @@ /turf/open/misc/dirt/jungle, /area/station/science/cytology) "dyG" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"dyP" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/table/glass, -/obj/item/reagent_containers/hypospray/medipen, -/obj/item/reagent_containers/hypospray/medipen, -/obj/item/reagent_containers/hypospray/medipen, -/obj/item/reagent_containers/hypospray/medipen, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/sign/departments/medbay/alt/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/hallway/floor2/aft) "dyQ" = ( /obj/structure/railing/corner{ dir = 8 @@ -13912,12 +13865,8 @@ /turf/open/floor/iron/grimy, /area/station/security/detectives_office) "dzM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/duct, -/turf/open/floor/iron/white, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, /area/station/medical/treatment_center) "dzQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -15406,11 +15355,13 @@ /obj/effect/turf_decal/siding/white{ dir = 4 }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, /obj/machinery/button/door/directional/south{ - id = "med_doors"; - name = "Medbay Door Control"; - normaldoorcontrol = 1; - req_access = list("medical") + name = "Medbay Lockdown Shutters"; + id = "med_lockdown" }, /turf/open/floor/iron/dark/textured, /area/station/medical/paramedic) @@ -15699,15 +15650,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"dWZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "dXc" = ( /obj/machinery/air_sensor/ordnance_burn_chamber, /turf/open/floor/engine/vacuum, @@ -15732,10 +15674,15 @@ /turf/open/floor/pod/light, /area/station/maintenance/floor1/port/fore) "dXy" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/structure/closet/secure_closet/medical1, -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron/white/textured, +/obj/structure/table/glass, +/obj/machinery/defibrillator_mount/directional/east, +/obj/item/storage/box/syringes{ + pixel_y = 6 + }, +/obj/item/stack/medical/mesh{ + layer = 3.01 + }, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "dXz" = ( /obj/effect/decal/cleanable/dirt, @@ -15815,9 +15762,16 @@ }, /area/station/hallway/secondary/exit/escape_pod) "dYM" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/belt/medical, +/obj/item/storage/belt/medical{ + pixel_y = 6 + }, +/obj/item/storage/belt/medical{ + pixel_y = 12 + }, +/turf/open/floor/iron/white/textured, /area/station/medical/treatment_center) "dYX" = ( /obj/structure/reagent_dispensers/fueltank, @@ -16041,14 +15995,6 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) -"ecK" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/iv_drip, -/obj/machinery/light/cold/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "ecN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16452,7 +16398,6 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 }, -/obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) "ehQ" = ( @@ -18066,21 +18011,17 @@ /turf/open/floor/iron/dark/corner, /area/station/service/lawoffice) "eEZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 8 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 }, +/obj/machinery/button/door/directional/west{ + id = "med_lockdown"; + name = "Medbay Lockdown Shutters"; + req_access = list("medical") + }, /turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/area/station/medical/treatment_center) "eFc" = ( /obj/effect/turf_decal/stripes{ dir = 1 @@ -19698,6 +19639,13 @@ "ffe" = ( /turf/closed/wall/r_wall, /area/station/security/holding_cell) +"ffh" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "ffi" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 4 @@ -20573,10 +20521,15 @@ /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port/fore) "fqn" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" }, -/obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "fqo" = ( @@ -20809,17 +20762,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/hallway/floor3/aft) -"ftD" = ( -/obj/structure/table/reinforced/rglass, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/door/firedoor, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/dark/textured, -/area/station/medical/medbay/lobby) "ftJ" = ( /obj/structure/chair{ dir = 4 @@ -21457,15 +21399,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/security/range) -"fDL" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "fDM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -21514,14 +21447,10 @@ /turf/open/floor/iron/white/textured, /area/station/medical/break_room) "fEj" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 4 - }, -/turf/open/floor/iron/white, +/turf/closed/wall, /area/station/medical/treatment_center) "fEn" = ( /obj/machinery/light/small/directional/south, @@ -23368,9 +23297,13 @@ /turf/open/floor/iron, /area/station/cargo/warehouse) "gcm" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/corner, -/turf/open/floor/iron/white, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/pai_card, +/obj/item/reagent_containers/spray/cleaner{ + layer = 3.01 + }, +/turf/open/floor/iron/white/textured, /area/station/medical/treatment_center) "gcs" = ( /obj/machinery/power/apc/auto_name/directional/south, @@ -23638,15 +23571,16 @@ /turf/open/floor/iron/checker, /area/station/service/bar/atrium) "ggp" = ( -/obj/structure/table/reinforced, -/obj/structure/barricade/wooden{ - name = "wooden barricade (KEEP OUT)" +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 }, -/obj/structure/window/reinforced/tinted/spawner/directional/south, -/obj/structure/window/reinforced/tinted/spawner/directional/north, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/station/medical/chemistry) +/obj/effect/turf_decal/siding/yellow{ + dir = 8; + pixel_x = 15 + }, +/obj/structure/chair, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "ggD" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 8 @@ -24408,12 +24342,6 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron, /area/station/science/robotics/lab) -"grm" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "grv" = ( /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark/side{ @@ -24698,12 +24626,13 @@ /turf/open/floor/catwalk_floor/iron_white, /area/station/medical/abandoned) "gvp" = ( -/obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/door/airlock/public/glass{ - name = "Medbay Lobby" + name = "Medbay" }, -/turf/open/floor/iron/dark/textured, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured, /area/station/medical/medbay/lobby) "gvx" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, @@ -24859,7 +24788,6 @@ /turf/open/floor/iron/dark, /area/station/maintenance/floor2/starboard/aft) "gxi" = ( -/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, /obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24924,10 +24852,13 @@ /turf/open/floor/pod/light, /area/station/maintenance/floor1/port/fore) "gxX" = ( -/obj/structure/flora/bush/flowers_br/style_random, -/obj/machinery/light/floor, -/turf/open/floor/grass, -/area/station/medical/medbay/lobby) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/chair, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "gyd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -25210,13 +25141,18 @@ }, /area/station/hallway/floor4/fore) "gBV" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Treatment Center"; + name = "medbay camera"; + network = list("ss13","medbay"); + dir = 2 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/area/station/medical/treatment_center) "gBX" = ( /obj/effect/turf_decal/trimline/blue/corner, /obj/structure/window/spawner/directional/east, @@ -25228,13 +25164,6 @@ dir = 8 }, /area/station/engineering/lobby) -"gBZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "gCv" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -25647,9 +25576,11 @@ /turf/open/floor/iron/dark, /area/station/hallway/floor4/aft) "gHO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "gHU" = ( @@ -26297,15 +26228,6 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/starboard) -"gQE" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/structure/table/glass, -/obj/item/storage/medkit/emergency, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "gQI" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -26388,12 +26310,6 @@ }, /turf/open/floor/pod/dark, /area/station/service/kitchen/abandoned) -"gRW" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "gSd" = ( /obj/effect/baseturf_helper/reinforced_plating/ceiling, /turf/open/floor/engine, @@ -26776,12 +26692,15 @@ /turf/open/floor/iron/dark, /area/station/security/lockers) "gYa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line{ +/obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, +/obj/effect/turf_decal/siding/blue{ + dir = 4; + pixel_x = -15 + }, +/obj/effect/landmark/start/assistant, +/obj/structure/chair, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "gYb" = ( @@ -28698,20 +28617,10 @@ /turf/open/floor/iron/white, /area/station/medical/virology) "hwV" = ( -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/medical/glass{ - id_tag = "med_doors"; - name = "Medbay" - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/obj/structure/cable, /obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white/textured, -/area/station/medical/medbay/lobby) +/area/station/medical/treatment_center) "hxl" = ( /obj/structure/toilet{ dir = 4 @@ -28882,14 +28791,6 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/glass/reinforced, /area/station/service/library) -"hzF" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/corner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "hzI" = ( /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/service) @@ -29047,9 +28948,10 @@ /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) "hBe" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "hBw" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron/textured_large, @@ -29477,18 +29379,22 @@ /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) "hHe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /obj/structure/table/reinforced/rglass, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/east{ - name = "Paramedic's Desk"; +/obj/machinery/door/window/right/directional/east{ + name = "First Aid Supplies"; req_access = list("medical") }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/stack/medical/suture, -/obj/item/stack/medical/mesh, +/obj/structure/desk_bell{ + pixel_y = 1; + pixel_x = -5 + }, +/obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/medical/medbay/lobby) "hHi" = ( @@ -30075,11 +29981,12 @@ /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port/fore) "hOX" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +/obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +/obj/effect/turf_decal/siding/yellow{ + dir = 8; + pixel_x = 15 }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) @@ -30296,16 +30203,6 @@ }, /turf/open/floor/wood, /area/station/commons/dorms/apartment2) -"hSs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "hSt" = ( /obj/machinery/status_display/ai/directional/north, /obj/effect/decal/cleanable/blood/old, @@ -30779,12 +30676,13 @@ /turf/open/floor/carpet/red, /area/station/service/theater) "hYk" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "hYm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/brown/filled/line, @@ -31448,11 +31346,18 @@ /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "ihL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/cable, /obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Hall" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/general, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "med_lockdown"; + name = "Medbay Lockdown Shutters" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "ihQ" = ( @@ -31550,12 +31455,13 @@ /turf/open/floor/pod/light, /area/station/maintenance/floor4/port/fore) "ijd" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/table/glass, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/turf/open/floor/iron/white/textured, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "ijs" = ( /obj/structure/closet/emcloset, @@ -31748,12 +31654,13 @@ /turf/open/floor/carpet/black, /area/station/hallway/secondary/service) "ilI" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/defibrillator_mount/directional/south, -/obj/structure/bed/medical{ - dir = 4 +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Treatment Center"; + name = "medbay camera"; + network = list("ss13","medbay"); + dir = 2 }, -/turf/open/floor/iron/white/textured, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "ilK" = ( /obj/structure/railing/corner{ @@ -31919,19 +31826,14 @@ /turf/open/floor/iron/dark, /area/station/hallway/floor1/aft) "iog" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 4 - }, /obj/structure/disposalpipe/segment, /obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "iom" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32879,6 +32781,16 @@ }, /turf/closed/wall, /area/station/maintenance/floor1/starboard/aft) +"iAQ" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "iAS" = ( /obj/structure/cable, /obj/machinery/power/smes/engineering, @@ -33132,11 +33044,12 @@ /turf/open/floor/pod/light, /area/station/maintenance/solars/port/aft) "iDr" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 +/obj/structure/table/glass, +/obj/machinery/defibrillator_mount/directional/east, +/obj/item/storage/medkit/emergency{ + pixel_y = 4 }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/light/small/directional/east, +/obj/item/stack/medical/suture, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "iDw" = ( @@ -34745,16 +34658,6 @@ dir = 1 }, /area/station/hallway/secondary/exit/escape_pod) -"iZO" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/door/airlock/medical{ - name = "Cryogenics" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/obj/machinery/door/firedoor, -/obj/machinery/duct, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "iZP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, @@ -37320,20 +37223,32 @@ /turf/open/floor/iron/dark, /area/station/hallway/floor1/aft) "jIi" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/blue/filled/line{ +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, +/obj/effect/turf_decal/siding/blue{ + dir = 4; + pixel_x = -15 + }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "jIs" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/item/storage/box/rxglasses{ + pixel_y = 5 }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "jIy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/structure/cable, @@ -37893,10 +37808,9 @@ /area/station/maintenance/floor2/starboard/aft) "jQb" = ( /obj/machinery/door/airlock/medical{ - name = "Ph-rm--y" + name = "Chemical Storage" }, /obj/effect/mapping_helpers/airlock/access/all/medical/chemistry, -/obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/iron/dark/textured_edge{ dir = 8 }, @@ -38132,11 +38046,12 @@ /turf/open/floor/pod/light, /area/station/maintenance/floor2/port) "jTK" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 }, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "jTM" = ( @@ -41646,6 +41561,9 @@ "kMv" = ( /obj/machinery/plumbing/receiver, /obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/railing{ + dir = 4 + }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) "kMC" = ( @@ -41702,11 +41620,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"kNy" = ( -/obj/item/storage/toolbox/maint_kit, -/obj/effect/spawner/random/junk_shell, -/turf/open/floor/pod/light, -/area/station/maintenance/floor4/port) "kNA" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -42037,12 +41950,10 @@ /turf/open/floor/iron/white, /area/station/hallway/floor2/fore) "kRM" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 }, -/obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "kRN" = ( @@ -42230,12 +42141,23 @@ /turf/open/floor/catwalk_floor, /area/station/maintenance/floor1/port/aft) "kUf" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/storage/box/syringes{ - pixel_y = 4 +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/machinery/cell_charger{ + pixel_y = 10 + }, +/obj/machinery/cell_charger{ + pixel_y = 1; + layer = 2.91 + }, +/obj/item/stock_parts/cell/high{ + pixel_y = 9; + pixel_x = -1 + }, +/obj/item/stock_parts/cell/high{ + pixel_x = -1; + layer = 3.01 }, -/obj/structure/table/glass, /turf/open/floor/iron/white/textured, /area/station/medical/treatment_center) "kUh" = ( @@ -42256,10 +42178,9 @@ /turf/open/floor/iron/white, /area/station/science/lab) "kUl" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/duct, -/turf/open/floor/iron/white, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, /area/station/medical/treatment_center) "kUo" = ( /obj/effect/spawner/structure/window/reinforced, @@ -42803,10 +42724,13 @@ /turf/open/floor/pod/dark, /area/station/maintenance/floor2/starboard) "lbi" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "lbm" = ( @@ -43248,15 +43172,11 @@ /turf/open/floor/plating/airless, /area/station/solars/starboard/aft) "lfW" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/table/glass, -/obj/item/storage/box/masks, -/obj/item/storage/box/bodybags{ - pixel_x = 4; - pixel_y = 4 +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/structure/sign/departments/medbay/alt/directional/west, -/turf/open/floor/iron/white/textured, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "lfZ" = ( /obj/structure/sign/poster/official/random/directional/south, @@ -47520,7 +47440,6 @@ }, /obj/machinery/door/firedoor/border_only, /obj/effect/turf_decal/siding/white, -/obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/medical/cryo) "mjr" = ( @@ -48299,13 +48218,9 @@ /turf/open/floor/iron/dark, /area/station/maintenance/floor1/port) "mtI" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/iv_drip, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/medical/medbay/lobby) "mtL" = ( /obj/effect/turf_decal/trimline/purple/warning{ dir = 4 @@ -48403,9 +48318,12 @@ /turf/open/floor/iron/dark, /area/station/security/checkpoint/third) "mve" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "mvg" = ( @@ -48720,7 +48638,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/duct, /obj/machinery/button/door/directional/west{ - id = "surg_a_privacy"; + id = "med_lockdown"; name = "Surgery Privacy Shutters"; req_access = list("medical") }, @@ -49177,14 +49095,15 @@ /turf/open/floor/plating, /area/station/maintenance/floor2/port/aft) "mFz" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/door/airlock/public/glass{ - name = "Medbay Lobby" + name = "Medbay" }, -/turf/open/floor/iron/dark/textured, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured, /area/station/medical/medbay/lobby) "mFB" = ( /obj/structure/window/reinforced/spawner/directional/north, @@ -50754,7 +50673,7 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 }, -/obj/machinery/disposal/bin/tagger, +/obj/machinery/disposal/bin, /turf/open/floor/iron/white, /area/station/medical/medbay/central) "mZT" = ( @@ -52495,9 +52414,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/floor2/port/aft) -"nvy" = ( -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "nvE" = ( /obj/machinery/autolathe, /obj/effect/turf_decal/siding/thinplating_new{ @@ -53699,7 +53615,6 @@ dir = 1 }, /obj/effect/turf_decal/siding/white, -/obj/machinery/duct, /turf/open/floor/iron/white/textured, /area/station/medical/cryo) "nLc" = ( @@ -54438,10 +54353,6 @@ }, /turf/open/floor/iron/smooth_large, /area/station/hallway/secondary/entry) -"nVp" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "nVq" = ( /turf/open/openspace, /area/station/maintenance/floor3/starboard/fore) @@ -55375,19 +55286,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/station/maintenance/floor2/port/aft) -"oio" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "oiu" = ( /obj/machinery/computer/security/hos{ dir = 1 @@ -55463,14 +55361,6 @@ /obj/structure/cable, /turf/open/floor/wood/tile, /area/station/service/library) -"ojg" = ( -/obj/structure/table/reinforced/rglass, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/door/firedoor, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/item/stack/medical/gauze, -/turf/open/floor/iron/dark/textured, -/area/station/medical/medbay/lobby) "ojl" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55958,13 +55848,13 @@ /turf/open/floor/eighties, /area/station/commons/dorms/room2) "opE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "opN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -56203,11 +56093,9 @@ /turf/open/floor/plating, /area/station/maintenance/floor4/starboard) "osX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/hedge, -/turf/open/floor/carpet/green, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/restaurant_portal/bar, +/turf/open/floor/wood, /area/station/service/kitchen/diner) "ote" = ( /obj/effect/spawner/structure/window/reinforced, @@ -56308,6 +56196,9 @@ /obj/effect/turf_decal/siding/white{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, /turf/open/floor/iron/dark/textured, /area/station/medical/paramedic) "ouF" = ( @@ -59997,11 +59888,12 @@ /turf/open/floor/iron/white, /area/station/science/lower) "puH" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "puI" = ( /obj/machinery/vending/cigarette, /turf/open/floor/iron, @@ -62469,6 +62361,7 @@ /area/station/science/auxlab) "qaY" = ( /obj/effect/spawner/random/engineering/tracking_beacon, +/obj/structure/cable, /turf/open/floor/wood, /area/station/service/kitchen/diner) "qbh" = ( @@ -62544,8 +62437,8 @@ /turf/open/floor/catwalk_floor, /area/station/maintenance/floor2/port/aft) "qcr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/firealarm/directional/north, +/obj/structure/fake_stairs/directional/south, +/obj/machinery/door/firedoor, /turf/open/floor/iron/dark/textured, /area/station/medical/cryo) "qct" = ( @@ -63390,7 +63283,12 @@ /turf/open/floor/wood, /area/station/service/kitchen/diner) "qob" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/siding/yellow{ + dir = 8; + pixel_x = 15 + }, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 8 }, /turf/open/floor/iron/white, @@ -63679,22 +63577,12 @@ /turf/open/floor/pod, /area/station/hallway/secondary/entry) "qsj" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/table/glass, -/obj/item/reagent_containers/cup/bottle/salglu_solution{ - pixel_x = -6 +/obj/structure/bed/medical/anchored{ + dir = 1 }, -/obj/item/reagent_containers/chem_pack{ - pixel_x = 6 - }, -/obj/item/reagent_containers/chem_pack{ - pixel_x = 6 - }, -/obj/item/reagent_containers/chem_pack{ - pixel_x = 6 - }, -/obj/structure/sign/departments/medbay/alt/directional/north, -/turf/open/floor/iron/white/textured, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/light/directional/east, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "qsy" = ( /obj/machinery/airalarm/directional/south, @@ -63841,8 +63729,9 @@ /turf/open/floor/iron/white, /area/station/command/heads_quarters/captain/private) "qtM" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/junction{ + dir = 1 + }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "qtO" = ( @@ -64692,15 +64581,6 @@ dir = 9 }, /area/station/hallway/floor4/aft) -"qCI" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/machinery/medical_kiosk, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/duct, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "qCO" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/red/opposingcorners{ @@ -65574,10 +65454,8 @@ /turf/open/floor/iron/dark/small, /area/station/service/chapel/office) "qPu" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/stasis, -/obj/machinery/defibrillator_mount/directional/north, -/turf/open/floor/iron/white/textured, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "qPv" = ( /obj/item/kirbyplants/random, @@ -65819,10 +65697,6 @@ }, /turf/open/floor/iron/white, /area/station/science/lobby) -"qSD" = ( -/obj/item/kirbyplants/organic/plant21, -/turf/open/floor/wood/parquet, -/area/station/service/lawoffice) "qSJ" = ( /obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron/checker, @@ -66228,13 +66102,12 @@ /turf/open/floor/iron/dark, /area/station/security/brig) "qXX" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/trimline/blue/filled/corner, -/obj/structure/disposalpipe/junction{ +/obj/structure/disposalpipe/junction/flip{ dir = 1 }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "qYb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67327,6 +67200,9 @@ "rmD" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/structure/closet/secure_closet/chemical, +/obj/structure/railing{ + dir = 8 + }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) "rmF" = ( @@ -67629,11 +67505,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"rqA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/duct, -/turf/open/floor/iron/dark/textured, -/area/station/medical/cryo) "rqK" = ( /obj/effect/turf_decal/stripes/full, /obj/structure/window/reinforced/spawner/directional/west, @@ -67961,12 +67832,9 @@ /turf/open/floor/glass/reinforced, /area/station/service/library) "rwv" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, /obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/corner, -/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "rwG" = ( @@ -68081,6 +67949,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/floor1/starboard/fore) +"rxZ" = ( +/obj/item/storage/toolbox/maint_kit, +/obj/effect/spawner/random/junk_shell, +/turf/open/floor/pod/light, +/area/station/maintenance/floor4/port) "ryh" = ( /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating/airless, @@ -68714,13 +68587,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/maintenance/floor2/port/aft) -"rHI" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "rHP" = ( /obj/structure/railing/corner{ dir = 1 @@ -69155,15 +69021,6 @@ /obj/item/pen, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"rOb" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "rOj" = ( /obj/effect/turf_decal/tile/blue/anticorner, /turf/open/floor/iron/dark/side{ @@ -70009,11 +69866,11 @@ /turf/open/floor/iron/kitchen, /area/station/service/kitchen) "sar" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/disposalpipe/segment, /obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "sat" = ( /obj/structure/railing/corner{ dir = 1 @@ -70149,6 +70006,11 @@ "scv" = ( /turf/closed/wall/r_wall, /area/station/maintenance/disposal) +"scx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "scD" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/suit_storage_unit/medical, @@ -70775,8 +70637,14 @@ /turf/open/floor/iron/dark, /area/station/medical/morgue) "slP" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/iron/white/textured, /area/station/medical/treatment_center) "slQ" = ( /obj/machinery/navbeacon{ @@ -70859,6 +70727,20 @@ /obj/structure/sign/poster/random/directional/north, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) +"sno" = ( +/obj/structure/table/reinforced/rglass, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/item/stack/medical/suture/emergency{ + pixel_y = 5; + pixel_x = -5 + }, +/obj/item/stack/medical/ointment{ + pixel_y = -5; + pixel_x = 5 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/lobby) "snp" = ( /turf/open/floor/iron/dark/side{ dir = 8 @@ -71339,12 +71221,9 @@ /turf/open/floor/circuit, /area/station/science/xenobiology) "suB" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "suD" = ( @@ -71697,13 +71576,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/security/brig) -"szp" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "szt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72062,13 +71934,12 @@ /turf/open/floor/iron/dark, /area/station/security/brig) "sEl" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 }, -/obj/effect/turf_decal/trimline/blue/filled/corner, +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" + }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "sEt" = ( @@ -72936,10 +72807,12 @@ /turf/open/floor/wood, /area/station/hallway/floor3/fore) "sOT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/dark/textured, -/area/station/medical/cryo) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "sOU" = ( /turf/open/openspace, /area/station/maintenance/floor4/port/aft) @@ -72965,6 +72838,30 @@ }, /turf/open/floor/pod/dark, /area/station/maintenance/floor3/port/fore) +"sPp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/button/door/directional/west{ + id = "viro-inner"; + name = "Inner Virology Lockdown"; + pixel_y = -8 + }, +/obj/machinery/button/door/directional/west{ + id = "viro-outer"; + name = "Outer Virology Lockdown"; + pixel_y = 8 + }, +/obj/machinery/button/door/directional/west{ + id = "viro-iso"; + name = "Isolation Bolts"; + normaldoorcontrol = 1; + pixel_x = -36; + specialfunctions = 4 + }, +/obj/effect/turf_decal/tile/green/opposingcorners, +/turf/open/floor/iron/white, +/area/station/medical/virology) "sPs" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -74431,11 +74328,8 @@ /turf/open/floor/iron/dark, /area/station/security/courtroom) "thd" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/structure/sign/poster/official/random/directional/east, -/obj/structure/table/glass, -/obj/item/storage/box/bodybags, -/turf/open/floor/iron/white/textured, +/obj/machinery/stasis, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "thi" = ( /obj/structure/window/reinforced/spawner/directional/east, @@ -74491,12 +74385,14 @@ /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard/aft) "tia" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/area/station/medical/treatment_center) "tic" = ( /turf/open/floor/wood, /area/station/commons/dorms/apartment2) @@ -75635,6 +75531,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/dark, /area/station/maintenance/floor3/port) +"twY" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "twZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -75650,11 +75552,11 @@ /turf/open/floor/pod/light, /area/station/maintenance/floor2/port/aft) "txp" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/structure/table/glass, -/obj/item/pai_card, -/obj/item/reagent_containers/spray/cleaner, -/turf/open/floor/iron/white/textured, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "txu" = ( /turf/open/floor/iron/dark, @@ -76133,11 +76035,14 @@ /turf/open/floor/iron/dark, /area/station/science/lab) "tDX" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 +/obj/structure/noticeboard/directional/north, +/obj/item/paper{ + name = "IMPORTANT NOTICE"; + default_raw_text = "Nanotrasen Mark II IV Drip Stands are to be used in the correct Nanotrasen Mark II IV Drip Stand Installation Location. Failure to do so can result in a 100 credit fine. Glory to Nanotrasen." + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 }, -/obj/machinery/iv_drip, -/obj/machinery/light/cold/directional/north, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "tEc" = ( @@ -76961,12 +76866,13 @@ /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/service) "tOW" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/stasis{ - dir = 4 +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/light_switch/directional/north{ + pixel_y = 27; + pixel_x = 12 }, -/obj/machinery/defibrillator_mount/directional/north, -/turf/open/floor/iron/white/textured, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "tPj" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, @@ -77732,10 +77638,13 @@ /turf/open/floor/pod/light, /area/station/maintenance/floor3/starboard) "tZZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/holopad, -/obj/structure/disposalpipe/segment, -/obj/machinery/duct, +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/bed/medical/anchored, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "uae" = ( @@ -78915,21 +78824,13 @@ /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) "usf" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/chair/sofa/bench/solo{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/structure/disposalpipe/junction/flip{ +/obj/structure/disposalpipe/junction{ dir = 1 }, /obj/machinery/duct, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "usj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/hatch{ @@ -81775,6 +81676,10 @@ /obj/effect/turf_decal/trimline/green/filled/line, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"vcn" = ( +/obj/structure/aquarium/lawyer, +/turf/open/floor/wood/parquet, +/area/station/service/lawoffice) "vcr" = ( /turf/closed/wall, /area/station/maintenance/floor1/port/aft) @@ -81892,9 +81797,9 @@ /turf/open/floor/pod/light, /area/station/maintenance/floor4/port/fore) "ved" = ( -/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /turf/open/floor/wood, /area/station/service/kitchen/diner) "veA" = ( @@ -81992,15 +81897,6 @@ /obj/structure/rack, /turf/open/floor/iron/textured_large, /area/station/medical/chemistry) -"vfW" = ( -/obj/machinery/medical_kiosk, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "vfY" = ( /obj/structure/table/reinforced, /obj/item/plate{ @@ -84580,8 +84476,11 @@ /turf/open/floor/iron/dark/side, /area/station/security/prison/garden) "vNV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, /area/station/medical/treatment_center) "vNY" = ( /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, @@ -84627,12 +84526,6 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "vOs" = ( @@ -84927,15 +84820,6 @@ }, /turf/open/floor/iron/checker, /area/station/commons/vacant_room/commissary) -"vRW" = ( -/obj/effect/turf_decal/tile/blue/full, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "vSa" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark/side{ @@ -84949,15 +84833,8 @@ /turf/open/floor/iron, /area/station/cargo/lobby) "vSA" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/table/glass, -/obj/item/reagent_containers/cup/bottle/epinephrine, -/obj/item/reagent_containers/cup/bottle/multiver{ - pixel_x = 6 - }, -/obj/item/reagent_containers/syringe, -/obj/structure/sign/poster/official/random/directional/west, -/turf/open/floor/iron/white/textured, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "vSB" = ( /obj/structure/cable, @@ -85198,6 +85075,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/floor2/port/fore) +"vVR" = ( +/obj/structure/table/reinforced/rglass, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/airalarm/directional/north, +/obj/item/food/pizzaslice/mothic_five_cheese, +/obj/item/reagent_containers/cup/glass/coffee{ + pixel_y = 7; + pixel_x = 6 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured, +/area/station/medical/medbay/lobby) "vVT" = ( /obj/effect/spawner/structure/window/hollow/reinforced/directional{ dir = 1 @@ -85375,6 +85264,13 @@ /obj/structure/railing/corner, /turf/open/floor/pod/light, /area/station/maintenance/floor3/port/aft) +"vXx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/light/small/directional/north, +/obj/machinery/airalarm/directional/north, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/dark/textured, +/area/station/medical/cryo) "vXH" = ( /obj/machinery/airalarm/directional/south, /obj/effect/decal/cleanable/blood/drip, @@ -85883,7 +85779,9 @@ /turf/open/floor/iron, /area/station/hallway/floor3/fore) "wdd" = ( -/turf/closed/wall, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/bed/medical/anchored, +/turf/open/floor/iron/white, /area/station/medical/treatment_center) "wdj" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ @@ -86251,18 +86149,10 @@ /area/station/maintenance/floor4/starboard/aft) "wis" = ( /obj/effect/turf_decal/tile/blue/fourcorners, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/machinery/door/airlock/medical/glass{ - name = "Treatment Center" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, +/turf/open/floor/iron/white/textured, /area/station/medical/treatment_center) "wit" = ( /obj/structure/cable, @@ -87694,18 +87584,6 @@ /obj/structure/closet/crate/trashcart/filled, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port/aft) -"wzI" = ( -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/door/airlock/medical/glass{ - id_tag = "med_doors"; - name = "Medbay" - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/effect/mapping_helpers/airlock/access/any/medical/general, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white/textured, -/area/station/medical/medbay/lobby) "wzJ" = ( /obj/effect/turf_decal/siding/wood, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -88700,10 +88578,12 @@ /turf/open/floor/iron, /area/station/science/auxlab) "wLC" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" }, -/turf/open/floor/iron/white, +/obj/machinery/holopad, +/turf/open/floor/iron/white/textured, /area/station/medical/treatment_center) "wLD" = ( /obj/item/radio/intercom/directional/south, @@ -90495,13 +90375,6 @@ }, /turf/open/floor/engine/airless, /area/station/engineering/supermatter/waste) -"xkh" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "xko" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -90595,11 +90468,13 @@ /turf/open/floor/plating/airless, /area/space) "xlu" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 + dir = 10 }, /turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/area/station/medical/treatment_center) "xlD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -90932,14 +90807,14 @@ /turf/open/floor/iron/dark, /area/station/security/lockers) "xqZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Treatment Center"; + name = "medbay camera"; + network = list("ss13","medbay") }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/machinery/iv_drip, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/iron/white, +/obj/machinery/shower/directional/south, +/obj/structure/fluff/shower_drain, +/turf/open/floor/catwalk_floor/flat_white, /area/station/medical/treatment_center) "xrh" = ( /obj/effect/turf_decal/tile/blue{ @@ -91373,11 +91248,11 @@ /turf/open/floor/bamboo/tatami/black, /area/station/commons/storage/art) "xwZ" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 - }, /obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 + dir = 8 + }, +/obj/effect/turf_decal/bot_white{ + color = "#74b2d3" }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) @@ -91774,6 +91649,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, +/obj/structure/cable, /turf/open/floor/wood, /area/station/service/kitchen/diner) "xCR" = ( @@ -92626,12 +92502,12 @@ /turf/open/floor/iron/dark, /area/station/command/teleporter) "xMH" = ( -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /obj/machinery/door/airlock/hatch{ name = "Maintenance Access" }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/mapping_helpers/airlock/unres, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/floor1/port) "xMJ" = ( @@ -92662,6 +92538,14 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port/aft) +"xNd" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/blue, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "xNf" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/hangover, @@ -92703,21 +92587,16 @@ /turf/open/floor/pod/dark, /area/station/maintenance/floor2/starboard/aft) "xNH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/chair/sofa/bench/solo{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "xNK" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, @@ -93674,10 +93553,7 @@ /turf/open/misc/beach/sand, /area/station/hallway/floor2/fore) "yba" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sign/poster/official/random/directional/west, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "ybe" = ( @@ -94285,30 +94161,6 @@ /obj/item/reagent_containers/pill/maintenance, /turf/open/floor/iron/white, /area/station/medical/abandoned) -"yks" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/button/door/directional/west{ - id = "viro-inner"; - name = "Inner Virology Lockdown"; - pixel_y = -8 - }, -/obj/machinery/button/door/directional/west{ - id = "viro-outer"; - name = "Outer Virology Lockdown"; - pixel_y = 8 - }, -/obj/machinery/button/door/directional/west{ - id = "viro-iso"; - name = "Isolation Bolts"; - normaldoorcontrol = 1; - pixel_x = -36; - specialfunctions = 4 - }, -/obj/effect/turf_decal/tile/green/opposingcorners, -/turf/open/floor/iron/white, -/area/station/medical/virology) "ykt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -127756,9 +127608,9 @@ jsP fQQ lkE kzE -xgH -xgH -xgH +kzE +kzE +kzE rSc tCB twx @@ -128012,11 +127864,11 @@ hLX hLX hLX lkE -ggp +wCn opB wCR -xgH -xgH +kzE +kzE ulh eVk wVn @@ -128273,7 +128125,7 @@ jQb hzV vLM lBB -xgH +kzE pLe lJk wVn @@ -128530,7 +128382,7 @@ wCn fKC ssi tkz -xgH +kzE dxS twx wVn @@ -128787,7 +128639,7 @@ kzE wAe mYo kzr -xgH +kzE wVn wVn wVn @@ -129044,7 +128896,7 @@ xMH trP dpC qHH -xgH +kzE oBQ xgH xgH @@ -129297,11 +129149,11 @@ dJO tIG vag vag -xgH -xgH -xgH -xgH -xgH +kzE +kzE +kzE +kzE +kzE dJO nJI xgH @@ -195073,17 +194925,17 @@ vsx xYM jLQ yka -ilR -grm +mtI +ggp hOX qob -dyP aHk -rHI +eEZ +twY tia cwz -ael -gBZ +twY +twY oxn oUE eIw @@ -195331,11 +195183,11 @@ xYM jLQ tDb gvp -hYk -qtM gVI -dyG -wzI +qtM +xNd +ihL +hwV hYk qXX usf @@ -195573,7 +195425,7 @@ mqc mRQ dVV xNy -yks +sPp mcI rPC sJn @@ -195845,15 +195697,15 @@ cdm jLQ aYU gvp -hYk +ffh lbi blH ihL hwV -hSs -eEZ +opE +opE xNH -oio +opE opE dAF wPS @@ -196100,17 +195952,17 @@ eUq ttb wQu jLQ -yka -ilR -xlu +dyG +mtI +gYa jIi csR -vfW aHk +vOo xlu -bez +dzM puH -gYa +dzM gBV oxn fES @@ -196359,19 +196211,19 @@ xYM jLQ usK ilR -ojg +vVR hHe -ftD +sno aHk wdd -wdd +fqn wis slP -cZm -wdd -wdd -wdd -wdd +iAQ +tZZ +aZW +aZW +aZW iSP iSP iSP @@ -196621,14 +196473,14 @@ ouD dUj sRR vSA -cZI -bCd +rwv +dzM vNV -gRW +hwV gHO yba lfW -wdd +aZW pOK nqM qQM @@ -196879,13 +196731,13 @@ dhZ sRR tOW rwv -aTc -dgm +bCd +dzM gcm -xkh -fDL +txp +aaU coZ -wdd +aZW aYB xcY gEZ @@ -197136,14 +196988,14 @@ loQ sRR tDX kRM -gQE +dzM wLC -nVp -txp -aaU -ecK -wdd +dzM +sOT +twY +twY qcr +xcY otX gEZ dHR @@ -197387,20 +197239,20 @@ jEk jLQ aje grN -sRR +aTc gxi woE biz -nvy -kUl -qCI dzM -tZZ -vRW -rOb -fqn -iZO -rqA +kUl +kUf +dzM +dYM +scx +dzM +dzM +qcr +xcY nKY mjg ehO @@ -197650,14 +197502,14 @@ gBz sRR xqZ jTK -kUf -szp -dYM +dzM +dzM +dzM ijd -hzF -mtI -wdd -sOT +vOo +vOo +qcr +xcY rEp gEZ dHR @@ -197909,12 +197761,12 @@ qPu sEl vOo xwZ -dWZ +vOo aRz -fEj +aaU ilI -wdd -aYB +aZW +vXx xcY gEZ wcH @@ -198168,9 +198020,9 @@ thd bYb bnC dXy -bND +thd aHK -wdd +aZW bwE wat ydn @@ -198423,11 +198275,11 @@ qvN qvN qvN qvN -wdd -wdd -wdd -wdd -wdd +aZW +fEj +aZW +aZW +aZW ylR ylR ylR @@ -247246,11 +247098,11 @@ fjo mso dFd awt -cix +gjf gjf gjf qoa -gjf +jDe jDe qoW tTc @@ -247504,7 +247356,6 @@ mso dFd awt gjf -gjf ulB ulB ulB @@ -247513,6 +247364,7 @@ bMs kpa jzE gjf +gjf ddx rBC rBC @@ -247761,7 +247613,6 @@ mso laJ jWT tRT -gjf nXq xEL oAm @@ -247770,6 +247621,7 @@ dId jAl jHT gjf +gjf ddx rBC rBC @@ -248018,7 +247870,6 @@ gWg iOh awt gjf -gjf mQg rBC pzK @@ -248027,6 +247878,7 @@ gjf wtg gjf gjf +gjf uCW kHc xAq @@ -248275,7 +248127,6 @@ qcd ccF awt gjf -xCM mQg rBC pzK @@ -248284,6 +248135,7 @@ gjf vXY vRj ldV +osX jHJ hVt hVt @@ -248532,7 +248384,6 @@ qcd nsn rSS xDS -xDS sln jAl pWr @@ -248540,6 +248391,7 @@ jDe bMs kpa jzE +gjf vRj vWQ vWQ @@ -248788,17 +248640,17 @@ fjo qcd ceh dMj -gjf -xDS +cix ulB ulB ulB -jDe +xCM dId jAl jHT +gjf +xDS xDS -xna xna xna xna @@ -249045,9 +248897,8 @@ fjo qcd fOu awt -gjf -xDS -xDS +cix +cix xDS xDS ved @@ -249055,7 +248906,8 @@ xDS xDS xDS xDS -osX +xDS +gjf vZg dIx dIx @@ -249304,10 +249156,10 @@ dFd awt gjf gjf -gjf +vXY xDS qaY -jDe +gjf gjf wtg gjf @@ -249563,11 +249415,11 @@ rZS nla mQF xDS -gjf jDe bMs kpa jzE +gjf tFS nNJ ycW @@ -249820,12 +249672,12 @@ ubR mhE rwh xDS -gjf jDe dId jAl jHT gjf +gjf nNJ dxv ssj @@ -250078,7 +249930,7 @@ ubR nYE xDS jDe -jDe +gjf iwU psq eEr @@ -314341,7 +314193,7 @@ cis cub wTg vEa -kNy +rxZ tCG pme iho @@ -327168,7 +327020,7 @@ vJS pNH dOK pgL -qSD +vcn dJF bVy vOE diff --git a/_maps/map_files/VoidRaptor/VoidRaptor.dmm b/_maps/map_files/VoidRaptor/VoidRaptor.dmm index fb379f23fe6..502df848899 100644 --- a/_maps/map_files/VoidRaptor/VoidRaptor.dmm +++ b/_maps/map_files/VoidRaptor/VoidRaptor.dmm @@ -92,22 +92,6 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/white/smooth_large, /area/station/science/lab) -"abN" = ( -/obj/machinery/button/door/directional/north{ - id = "lawyerprivacy"; - name = "Lawyer's Privacy Control" - }, -/obj/item/radio/intercom/directional/north{ - pixel_y = 32 - }, -/obj/structure/table/wood, -/obj/machinery/fax{ - fax_name = "Law Office"; - name = "Law Office Fax Machine"; - pixel_y = 3 - }, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "abP" = ( /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, /turf/open/floor/circuit/green, @@ -7570,6 +7554,16 @@ "cnC" = ( /turf/closed/wall, /area/station/maintenance/port/central) +"coc" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = -32 + }, +/obj/structure/cable, +/obj/machinery/power/smes/super/full{ + name = "ai power storage unit" + }, +/turf/open/floor/vault, +/area/station/ai_monitored/turret_protected/ai) "cog" = ( /obj/machinery/light/floor, /turf/open/floor/engine/co2, @@ -9693,6 +9687,17 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/aft) +"cUD" = ( +/obj/machinery/button/door/directional/north{ + id = "lawyerprivacy"; + name = "Lawyer's Privacy Control" + }, +/obj/item/radio/intercom/directional/north{ + pixel_y = 32 + }, +/obj/structure/aquarium/lawyer, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "cUH" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -23041,19 +23046,6 @@ /obj/structure/sign/calendar/directional/south, /turf/open/floor/wood/large, /area/station/command/heads_quarters/blueshield) -"gHF" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=2"; - dir = 4; - location = "QM #1" - }, -/obj/effect/turf_decal/box, -/mob/living/simple_animal/bot/mulebot, -/turf/open/floor/iron/smooth_edge, -/area/station/cargo/storage) "gHG" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -24695,6 +24687,20 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/grimy, /area/station/commons/lounge) +"hdE" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + dir = 4; + location = "QM #4" + }, +/obj/effect/turf_decal/box, +/mob/living/simple_animal/bot/mulebot, +/turf/open/floor/iron/smooth_edge, +/area/station/cargo/storage) "hdF" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -25102,6 +25108,28 @@ /obj/effect/turf_decal/siding/wood/corner, /turf/open/floor/iron, /area/station/commons/lounge) +"hjI" = ( +/obj/structure/table/wood, +/obj/item/folder/blue{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/folder/yellow{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/folder/red{ + pixel_y = 1 + }, +/obj/item/stamp/law, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/clothing/glasses/sunglasses/big{ + pixel_y = 12 + }, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "hjT" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 8 @@ -27570,6 +27598,16 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/freezer, /area/station/medical/chemistry) +"hUj" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/camera/directional/west{ + c_tag = "Cargo - Mining" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/cargo/miningdock) "hUm" = ( /obj/machinery/light/small/directional/south, /obj/structure/closet/crate/hydroponics, @@ -29893,6 +29931,26 @@ dir = 8 }, /area/station/science/lab) +"iBo" = ( +/obj/structure/table/wood, +/obj/item/taperecorder{ + pixel_x = 7; + pixel_y = 14 + }, +/obj/item/paper_bin{ + pixel_y = 2; + pixel_x = 6 + }, +/obj/item/pen{ + pixel_y = 2; + pixel_x = 6 + }, +/obj/item/flashlight/lamp{ + pixel_x = -5; + pixel_y = 2 + }, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "iBp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30616,15 +30674,6 @@ dir = 1 }, /area/station/hallway/secondary/command) -"iNa" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/camera/directional/west{ - c_tag = "Cargo - Mining" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/station/cargo/miningdock) "iNk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33730,20 +33779,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/holding_cell) -"jEy" = ( -/obj/structure/table/wood, -/obj/machinery/status_display/ai/directional/north, -/obj/item/paper_bin{ - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4 - }, -/obj/item/clothing/glasses/sunglasses/big{ - pixel_y = -11 - }, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "jEA" = ( /obj/machinery/camera/directional/west{ c_tag = "AI Chamber - Port"; @@ -44554,9 +44589,6 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/disposal/incinerator) -"mCK" = ( -/turf/open/floor/iron/recharge_floor, -/area/station/security/office) "mCM" = ( /obj/effect/mapping_helpers/airlock/access/all/medical/general, /obj/effect/mapping_helpers/airlock/unres{ @@ -49982,18 +50014,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) -"oaL" = ( -/obj/structure/table/wood, -/obj/item/taperecorder{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/item/flashlight/lamp{ - pixel_x = -5; - pixel_y = 2 - }, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "oaZ" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 9 @@ -56183,6 +56203,19 @@ "pJQ" = ( /turf/closed/wall, /area/station/command/heads_quarters/cmo) +"pKb" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + dir = 4; + location = "QM #1" + }, +/obj/effect/turf_decal/box, +/mob/living/simple_animal/bot/mulebot, +/turf/open/floor/iron/smooth_edge, +/area/station/cargo/storage) "pKd" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/vending/hydronutrients, @@ -62150,20 +62183,6 @@ /obj/structure/window/spawner/directional/north, /turf/open/floor/grass, /area/station/service/hydroponics/garden) -"roC" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=2"; - dir = 4; - location = "QM #4" - }, -/obj/effect/turf_decal/box, -/mob/living/simple_animal/bot/mulebot, -/turf/open/floor/iron/smooth_edge, -/area/station/cargo/storage) "roK" = ( /obj/machinery/newscaster/directional/west, /obj/structure/table/wood/fancy, @@ -75146,6 +75165,10 @@ }, /turf/open/floor/iron/grimy, /area/station/service/library) +"uOL" = ( +/obj/vehicle/sealed/mecha/ripley/paddy/preset, +/turf/open/floor/iron/recharge_floor, +/area/station/security/office) "uOO" = ( /turf/open/floor/wood/large, /area/station/service/theater) @@ -84339,16 +84362,6 @@ dir = 8 }, /area/station/service/hydroponics) -"xsi" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/obj/structure/cable, -/obj/machinery/power/smes/super/full{ - name = "ai power storage unit" - }, -/turf/open/floor/vault, -/area/station/ai_monitored/turret_protected/ai) "xsj" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -85574,25 +85587,6 @@ }, /turf/open/floor/plating, /area/station/security/execution/transfer) -"xMV" = ( -/obj/structure/table/wood, -/obj/item/folder/blue{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/folder/yellow{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/folder/red{ - pixel_y = 1 - }, -/obj/item/stamp/law, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "xMY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -86151,6 +86145,16 @@ dir = 8 }, /area/station/cargo/storage) +"xTT" = ( +/obj/structure/table/wood, +/obj/machinery/status_display/ai/directional/north, +/obj/machinery/fax{ + fax_name = "Law Office"; + name = "Law Office Fax Machine"; + pixel_y = 3 + }, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "xTY" = ( /turf/closed/wall/r_wall, /area/station/security/corrections_officer) @@ -102013,7 +102017,7 @@ dYb uQi bWK lvx -xsi +coc rDp rDp xMq @@ -122071,9 +122075,9 @@ gxZ qMk bYy eFF -jEy -xMV -oaL +xTT +hjI +iBo gzU hjW gDp @@ -122328,7 +122332,7 @@ jrq pZJ otC eFF -abN +cUD oCY lbh xFH @@ -127220,7 +127224,7 @@ nRV iqx oPQ lvS -mCK +uOL eCc bSl cXX @@ -129336,7 +129340,7 @@ xMq xMq oXI fNX -iNa +hUj bkF hQq qBe @@ -129605,7 +129609,7 @@ gjq nyf gZb wuW -gHF +pKb udn aRn fun @@ -130376,7 +130380,7 @@ aUA pjT xMq sFi -roC +hdE udn cLG sny diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index a3c1da4ae62..ff718244bbc 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -3326,6 +3326,14 @@ }, /turf/open/floor/iron, /area/station/security/prison) +"atX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/turbine_computer{ + mapping_id = "main_turbine" + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "auc" = ( /obj/effect/turf_decal/siding/thinplating/corner, /obj/structure/cable, @@ -3366,12 +3374,26 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"aum" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "auo" = ( /obj/machinery/power/turbine/inlet_compressor{ dir = 4 }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) +"aup" = ( +/obj/machinery/power/turbine/core_rotor{ + dir = 4; + mapping_id = "main_turbine" + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/maintenance/disposal/incinerator) "auq" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Utilities Access Hatch" @@ -8061,18 +8083,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/sorting) -"bLI" = ( -/obj/machinery/computer/security/telescreen{ - name = "turbine vent monitor"; - desc = "Used for watching the turbine vent."; - dir = 8; - pixel_x = 29; - network = list("turbine") - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "bLN" = ( /obj/machinery/door/airlock/security{ name = "Interrogation" @@ -8488,15 +8498,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"bUd" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/structure/bed{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/medical/virology) "bUh" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10405,13 +10406,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plating, /area/station/maintenance/tram/mid) -"czr" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/chair/stool/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/virology) "czB" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 10 @@ -13209,6 +13203,14 @@ /obj/structure/flora/bush/leavy/style_random, /turf/open/floor/grass, /area/station/medical/virology) +"dyr" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/landmark/start/lawyer, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "dys" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 @@ -15868,6 +15870,18 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"exQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Mix to Gas"; + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "exT" = ( /obj/structure/table, /obj/item/radio{ @@ -15933,12 +15947,6 @@ /obj/structure/cable, /turf/open/floor/iron/freezer, /area/station/medical/coldroom) -"eyl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "eyy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -16252,6 +16260,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"eEp" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "eEx" = ( /obj/structure/cable, /obj/structure/extinguisher_cabinet/directional/north, @@ -16690,6 +16707,13 @@ /obj/effect/turf_decal/trimline/tram/filled/warning, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"eOz" = ( +/obj/structure/sign/poster/official/report_crimes/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "eOL" = ( /obj/structure/table/wood, /obj/item/instrument/violin, @@ -16880,6 +16904,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"eSk" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/conveyor_switch/oneway{ + name = "Shipment Delivery Chute Activator"; + pixel_x = 10; + id = "lawyerdropoff" + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "eSv" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -18819,14 +18852,6 @@ /obj/machinery/digital_clock/directional/south, /turf/open/floor/iron/dark/herringbone, /area/station/commons/vacant_room) -"fEZ" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/disposal/bin, -/obj/structure/cable, -/obj/structure/disposalpipe/trunk, -/obj/structure/noticeboard/directional/north, -/turf/open/floor/wood, -/area/station/service/lawoffice) "fFa" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 1 @@ -19764,7 +19789,8 @@ /area/station/command/teleporter) "fWn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/turf/closed/wall/r_wall, +/obj/effect/spawner/structure/window/reinforced/plasma, +/turf/open/floor/plating, /area/station/engineering/supermatter/room) "fWA" = ( /turf/open/floor/plating, @@ -20236,6 +20262,7 @@ "gfV" = ( /obj/structure/table/wood/fancy/green, /obj/effect/spawner/round_default_module, +/obj/machinery/camera/motion/directional/east, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) "gfX" = ( @@ -23550,13 +23577,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/fitness) -"hqY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, -/obj/effect/mapping_helpers/airalarm/all_access, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "hrh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -23872,6 +23892,13 @@ "hzN" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/command/storage/eva) +"hzQ" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "hzR" = ( /obj/effect/turf_decal/trimline/neutral/line{ dir = 4 @@ -23984,6 +24011,18 @@ }, /turf/open/floor/iron, /area/station/commons/fitness) +"hBY" = ( +/obj/machinery/computer/security/telescreen{ + name = "turbine vent monitor"; + desc = "Used for watching the turbine vent."; + dir = 8; + pixel_x = 29; + network = list("turbine") + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "hCp" = ( /obj/structure/chair/stool/bar/directional/north, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -24038,15 +24077,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"hDs" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 10 - }, -/obj/machinery/light/directional/west, -/obj/machinery/power/smes/engineering, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) "hDE" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/cable, @@ -24654,14 +24684,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"hPA" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/machinery/newscaster/directional/west, -/obj/effect/landmark/start/lawyer, -/turf/open/floor/wood, -/area/station/service/lawoffice) "hPB" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -25143,6 +25165,12 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"hZb" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/structure/noticeboard/directional/north, +/turf/open/floor/wood, +/area/station/service/lawoffice) "hZc" = ( /obj/machinery/static_signal/northeast, /obj/effect/turf_decal/stripes/white/line, @@ -28311,6 +28339,10 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/hallway) +"jfD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "jfH" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -29189,7 +29221,6 @@ /turf/open/floor/iron, /area/station/hallway/secondary/command) "jux" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /obj/structure/cable/layer1, /obj/effect/turf_decal/trimline/yellow/arrow_ccw{ dir = 6 @@ -29197,6 +29228,7 @@ /obj/effect/turf_decal/trimline/yellow/corner{ dir = 1 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "juT" = ( @@ -30342,6 +30374,10 @@ /obj/structure/chair, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"jOa" = ( +/obj/machinery/newscaster/directional/west, +/turf/open/floor/wood, +/area/station/service/lawoffice) "jPd" = ( /obj/structure/transit_tube, /obj/effect/turf_decal/sand/plating, @@ -31426,6 +31462,15 @@ }, /turf/open/floor/wood/large, /area/station/service/library) +"kgg" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "kgr" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -32577,6 +32622,11 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/freezer, /area/station/medical/coldroom) +"kAF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "kAO" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -33235,12 +33285,6 @@ "kLz" = ( /turf/closed/wall/r_wall, /area/station/security/prison/work) -"kLC" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 5 - }, -/turf/open/floor/iron/airless, -/area/space) "kLI" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -33480,6 +33524,15 @@ "kOE" = ( /turf/closed/wall, /area/station/security/detectives_office) +"kOL" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/structure/bed{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/virology) "kPf" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -35776,14 +35829,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"lDG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/machinery/light/small/directional/west, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "lDM" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/item/radio/intercom/directional/south, @@ -36658,14 +36703,6 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"lSI" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/machinery/newscaster/directional/east, -/obj/effect/landmark/start/lawyer, -/turf/open/floor/wood, -/area/station/service/lawoffice) "lSM" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -36817,12 +36854,6 @@ /obj/machinery/light/dim/directional/south, /turf/open/floor/iron, /area/station/cargo/warehouse) -"lUD" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "lUE" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -37769,6 +37800,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/large, /area/station/service/library) +"mkX" = ( +/turf/open/floor/wood, +/area/station/service/lawoffice) "mld" = ( /obj/effect/landmark/navigate_destination/dockescpod2, /obj/structure/cable, @@ -40527,10 +40561,6 @@ /obj/machinery/barsign/directional/south, /turf/open/floor/iron/checker, /area/station/commons/lounge) -"nmi" = ( -/obj/structure/lattice, -/turf/open/space/basic, -/area/space) "nmk" = ( /obj/structure/toilet{ pixel_y = 8 @@ -40566,6 +40596,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos) +"nmN" = ( +/obj/structure/closet/radiation, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "nmP" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -42535,6 +42572,10 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/commons/storage/tools) +"nWF" = ( +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/lawoffice) "nWR" = ( /obj/structure/table, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42644,6 +42685,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/service/bar/backroom) +"nXQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/east, +/obj/effect/mapping_helpers/airalarm/all_access, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "nYq" = ( /obj/structure/sign/directions/supply{ dir = 4; @@ -44144,6 +44192,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) +"oDq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "oDs" = ( /obj/structure/cable, /obj/item/radio/intercom/directional/west, @@ -44477,9 +44530,6 @@ }, /turf/closed/mineral/random/stationside/asteroid/porus, /area/station/asteroid) -"oMT" = ( -/turf/open/floor/plating/airless, -/area/space) "oMU" = ( /obj/structure/railing/corner{ dir = 4 @@ -46466,6 +46516,12 @@ /obj/structure/closet/toolcloset, /turf/open/floor/iron, /area/station/engineering/main) +"pxd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "pxf" = ( /obj/structure/closet/secure_closet/hos, /obj/structure/secure_safe/hos{ @@ -46496,10 +46552,6 @@ dir = 1 }, /area/station/service/chapel) -"pxs" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood, -/area/station/service/lawoffice) "pxC" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/effect/turf_decal/trimline/neutral/corner, @@ -47001,6 +47053,13 @@ /obj/structure/transit_tube_pod, /turf/open/floor/plating, /area/station/science/lower) +"pFO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "pFU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -47159,6 +47218,14 @@ }, /turf/open/floor/circuit/green, /area/station/science/server) +"pIA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, +/obj/machinery/light/small/directional/west, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "pIF" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48333,6 +48400,15 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plating, /area/station/maintenance/tram/right) +"qeq" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 10 + }, +/obj/machinery/light/directional/west, +/obj/machinery/power/smes/engineering, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "qes" = ( /obj/machinery/door/airlock/grunge{ name = "Entertainment Center" @@ -50510,14 +50586,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/commons/dorms) -"qTs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/turbine_computer{ - mapping_id = "main_turbine" - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "qTt" = ( /obj/machinery/light_switch/directional/south, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -51829,6 +51897,12 @@ /obj/effect/turf_decal/trimline/neutral/filled/line, /turf/open/floor/iron, /area/station/commons/dorms) +"rnA" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "rnK" = ( /obj/structure/bookcase{ name = "Forbidden Knowledge" @@ -51954,6 +52028,8 @@ name = "Tunnel Access Hatch" }, /obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/central) "rpq" = ( @@ -53486,14 +53562,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"rTU" = ( -/obj/machinery/power/turbine/core_rotor{ - dir = 4; - mapping_id = "main_turbine" - }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/maintenance/disposal/incinerator) "rTZ" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, @@ -53716,6 +53784,9 @@ }, /turf/open/floor/iron/dark, /area/station/medical/storage) +"rYE" = ( +/turf/open/floor/plating/airless, +/area/space) "rYL" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -54243,6 +54314,12 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/lower) +"siX" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/airless, +/area/space) "siZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54517,6 +54594,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"smM" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/landmark/start/lawyer, +/turf/open/floor/wood, +/area/station/service/lawoffice) "smV" = ( /obj/structure/table, /obj/machinery/microwave, @@ -58326,6 +58410,8 @@ /obj/effect/landmark/event_spawn, /obj/structure/cable, /obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "tEl" = ( @@ -59729,6 +59815,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/medical/chemistry) +"udW" = ( +/obj/structure/aquarium/lawyer, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/lawoffice) "udX" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -62902,6 +62994,8 @@ dir = 1 }, /obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/central) "vcs" = ( @@ -64618,15 +64712,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) -"vGd" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/conveyor_switch/oneway{ - name = "Shipment Delivery Chute Activator"; - pixel_x = 10; - id = "lawyerdropoff" - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) "vGi" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/effect/turf_decal/trimline/neutral/filled/corner{ @@ -65365,6 +65450,13 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"vTL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "vTZ" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 8 @@ -67118,6 +67210,13 @@ }, /turf/open/floor/iron/freezer, /area/station/medical/coldroom) +"wDt" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/chair/stool/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/virology) "wDv" = ( /obj/structure/rack, /obj/item/controller{ @@ -67756,7 +67855,10 @@ /turf/open/floor/iron, /area/station/security/checkpoint/escape) "wPj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Mix Bypass" + }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) "wPD" = ( @@ -68153,6 +68255,16 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) +"wYS" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Gas to Mix"; + dir = 4 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "wYX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -68833,10 +68945,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"xmH" = ( -/obj/structure/sign/poster/official/report_crimes/directional/south, -/turf/open/floor/wood, -/area/station/service/lawoffice) "xmJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -69205,6 +69313,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/circuit/green, /area/station/ai_monitored/command/nuke_storage) +"xuk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "xum" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -70367,6 +70480,10 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/iron, /area/station/maintenance/tram/left) +"xRm" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) "xRn" = ( /turf/open/floor/plating, /area/station/hallway/secondary/service) @@ -70825,12 +70942,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) -"ybb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "ybc" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/delivery/white{ @@ -99358,11 +99469,11 @@ hLr nCe udP hFr -abM -abM -abM -abM -abM +hFr +hFr +hFr +hFr +hFr abM abM abM @@ -99614,11 +99725,11 @@ nzL jkM adC jmp -hFr -hFr -hFr -hFr -hFr +iTz +udW +nWF +mrb +jOa hFr abM abM @@ -99872,10 +99983,10 @@ jyQ vBa vrG iTz -fEZ +hZb qel -mrb -hPA +aGk +smM hFr abM abM @@ -100129,10 +100240,10 @@ gtz fHg dVC kKB -pxs +mkX jXY -aGk -xmH +vTL +eOz hFr abM abM @@ -100903,7 +101014,7 @@ iTz bnh xgh fKv -vGd +dyr hFr hFr hFr @@ -101160,7 +101271,7 @@ iTz jeC jmk pYt -lSI +eSk lWF iMC vVq @@ -102994,7 +103105,7 @@ bVW xdC uKK nFu -hDs +qeq fal akJ tbc @@ -103540,11 +103651,11 @@ sHh yeg sHh sHh -sHh -sHh -sHh -sHh -sHh +exQ +kAF +kAF +kAF +wYS sHh sHh poT @@ -103797,11 +103908,11 @@ qHs sHj qHs qHs -qHs -qHs -qHs -qHs -qHs +pFO +jfD +xuk +jfD +oDq qHs qHs fWn @@ -104053,14 +104164,14 @@ bpl mRs jaW mAx -hZr -aaa -aaa -aaa -aaa -aaa -aaa -aaa +qHs +nmN +eEp +kgg +eEp +hzQ +qHs +pHM aeV aeV prq @@ -104310,13 +104421,13 @@ bpl mRs woR mAx -hZr -hZr -hZr -hZr -aaa -aaa -aaa +qHs +qHs +qHs +qHs +qHs +qHs +qHs aaa aac aaa @@ -110996,10 +111107,10 @@ vde atC gqV atP -ybb -lDG -eyl -rTU +pxd +pIA +aum +aup hVG aac aac @@ -111250,10 +111361,10 @@ gjj rCd pts gEs -hqY -lUD -bLI -qTs +nXQ +rnA +hBY +atX wAQ qWU uue @@ -130817,8 +130928,8 @@ vXM vXM vXM vXM -nmi -oMT +xRm +rYE vXM vXM vXM @@ -131073,9 +131184,9 @@ vXM vXM vXM vXM -nmi -oMT -oMT +xRm +rYE +rYE vXM vXM vXM @@ -131330,9 +131441,9 @@ vXM vXM vXM vXM -nmi -kLC -nmi +xRm +siX +xRm vXM vXM vXM @@ -131588,7 +131699,7 @@ vXM vXM vXM vXM -nmi +xRm vXM vXM vXM @@ -172661,7 +172772,7 @@ bWk svF xrG kow -czr +wDt jqY jqY jqY @@ -173169,7 +173280,7 @@ whz aaa aaa ugt -bUd +kOL vrJ aPS tMb diff --git a/_maps/shuttles/emergency_cruise.dmm b/_maps/shuttles/emergency_cruise.dmm index 81328a07751..7e20dc7d47d 100644 --- a/_maps/shuttles/emergency_cruise.dmm +++ b/_maps/shuttles/emergency_cruise.dmm @@ -130,7 +130,13 @@ /obj/effect/turf_decal/trimline/blue/mid_joiner{ dir = 4 }, -/mob/living/basic/bot/medbot/stationary, +/mob/living/basic/bot/medbot/stationary{ + damage_type_healer = "all_damage"; + heal_amount = 5; + heal_threshold = 0; + skin = "advanced"; + name = "Doctor Rumack" + }, /turf/open/floor/iron/white/smooth_large, /area/shuttle/escape) "dw" = ( @@ -402,7 +408,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "jy" = ( -/obj/machinery/sleeper{ +/obj/machinery/sleeper/syndie/fullupgrade/nt{ dir = 8 }, /turf/open/floor/iron/dark/small, @@ -531,13 +537,19 @@ /obj/effect/turf_decal/trimline/blue/mid_joiner{ dir = 1 }, -/obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/table/reinforced, +/obj/item/surgery_tray/full/advanced, /obj/item/book/manual/wiki/surgery, /obj/item/stack/medical/mesh/advanced, /obj/item/stack/medical/gauze/twelve, /obj/item/stack/medical/suture/medicated, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/item/defibrillator/compact/combat/loaded/nanotrasen{ + combat = 0; + safety = 1 + }, +/obj/item/healthanalyzer/advanced, /turf/open/floor/iron/white/smooth_large, /area/shuttle/escape) "lw" = ( @@ -1266,6 +1278,10 @@ pixel_x = 6; pixel_y = 10 }, +/obj/item/storage/pill_bottle/mannitol{ + pixel_x = -7; + pixel_y = 3 + }, /turf/open/floor/iron/white, /area/shuttle/escape) "Bd" = ( @@ -1371,7 +1387,9 @@ /turf/template_noop, /area/shuttle/escape) "Cr" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 4 + }, /turf/open/floor/iron/dark/small, /area/shuttle/escape) "Cu" = ( @@ -1433,8 +1451,8 @@ dir = 1 }, /obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/computer/operating, +/obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/white, /area/shuttle/escape) "DV" = ( @@ -1760,7 +1778,7 @@ dir = 1 }, /obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/medical_kiosk, +/obj/machinery/stasis, /turf/open/floor/iron/white, /area/shuttle/escape) "LU" = ( @@ -1784,9 +1802,9 @@ /obj/effect/turf_decal/trimline/blue/mid_joiner{ dir = 8 }, -/obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/iv_drip, /obj/item/reagent_containers/blood/o_minus, +/obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/white/smooth_large, /area/shuttle/escape) "Mt" = ( @@ -3186,9 +3204,9 @@ jt ij ij jt -Jl qt Jl +qt jt rG Um diff --git a/_maps/shuttles/emergency_lance.dmm b/_maps/shuttles/emergency_lance.dmm index e2f254844d3..56aa9fb25f5 100644 --- a/_maps/shuttles/emergency_lance.dmm +++ b/_maps/shuttles/emergency_lance.dmm @@ -297,7 +297,8 @@ }, /obj/docking_port/mobile/emergency{ dir = 2; - name = "Lance Emergency Shuttle" + name = "Lance Emergency Shuttle"; + port_direction = 1 }, /turf/open/floor/iron/dark, /area/shuttle/escape) diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 8f797c62aa5..6a91ed9ae01 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -58,21 +58,20 @@ #define DNA_MOTH_MARKINGS_BLOCK 13 #define DNA_MUSHROOM_CAPS_BLOCK 14 #define DNA_POD_HAIR_BLOCK 15 +#define DNA_MONKEY_TAIL_BLOCK 16 +*/ //SKYRAT EDIT REMOVAL END -#define DNA_FEATURE_BLOCKS 15 -*/ //SKYRAT EDIT CHANGE - ORIGINAL -#define DNA_FEATURE_BLOCKS GLOB.dna_total_feature_blocks - +#define DNA_FEATURE_BLOCKS GLOB.dna_total_feature_blocks // SKYRAT EDIT CHANGE - ORIGINAL: #define DNA_FEATURE_BLOCKS 16 +// SKYRAT EDIT ADDITION START #define DNA_MANDATORY_COLOR_BLOCKS 5 #define DNA_MUTANT_COLOR_BLOCK 1 #define DNA_MUTANT_COLOR_2_BLOCK 2 #define DNA_MUTANT_COLOR_3_BLOCK 3 #define DNA_ETHEREAL_COLOR_BLOCK 4 #define DNA_SKIN_COLOR_BLOCK 5 - #define DNA_POD_HAIR_BLOCK 15 +// SKYRAT EDIT ADDITION END -// SKYRAT EDIT CHANGE END #define DNA_SEQUENCE_LENGTH 4 #define DNA_MUTATION_BLOCKS 8 diff --git a/code/__DEFINES/_flags.dm b/code/__DEFINES/_flags.dm index 7d9e46c7de8..5143f0404e7 100644 --- a/code/__DEFINES/_flags.dm +++ b/code/__DEFINES/_flags.dm @@ -98,6 +98,9 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define IS_SOLID (1<<6) /// This turf will never be cleared away by other objects on Initialize. #define NO_CLEARING (1<<7) +/// This atom is a pseudo-floor that blocks map generation's checkPlaceAtom() from placing things like trees ontop of it. +#define TURF_BLOCKS_POPULATE_TERRAIN_FLORAFEATURES (1<<8) + ////////////////Area flags\\\\\\\\\\\\\\ /// If it's a valid territory for cult summoning or the CRAB-17 phone to spawn diff --git a/code/__DEFINES/access.dm b/code/__DEFINES/access.dm index aca61651344..1fd2a7fc662 100644 --- a/code/__DEFINES/access.dm +++ b/code/__DEFINES/access.dm @@ -470,6 +470,7 @@ #define REGION_RESEARCH "Research" /// Used to seed the accesses_by_region list in SSid_access. A list of all research regional accesses that are overseen by the RD. #define REGION_ACCESS_RESEARCH list( \ + ACCESS_AI_UPLOAD, \ ACCESS_GENETICS, \ ACCESS_MECH_SCIENCE, \ ACCESS_MINISAT, \ diff --git a/code/__DEFINES/ai/ai_blackboard.dm b/code/__DEFINES/ai/ai_blackboard.dm index 1a2b19740f6..23c16bdcd0b 100644 --- a/code/__DEFINES/ai/ai_blackboard.dm +++ b/code/__DEFINES/ai/ai_blackboard.dm @@ -19,6 +19,11 @@ ///can this mob heal? #define BB_BASIC_MOB_HEALER "BB_basic_mob_healer" +///the owner we will try to play with +#define BB_OWNER_TARGET "BB_owner_target" +///the list of interactions we can have with the owner +#define BB_INTERACTIONS_WITH_OWNER "BB_interactions_with_owner" + /// Store a single or list of emotes at this key #define BB_EMOTE_KEY "BB_emotes" @@ -150,6 +155,9 @@ ///Text we display when we befriend someone #define BB_FRIENDLY_MESSAGE "friendly_message" +///our fishing target +#define BB_FISHING_TARGET "fishing_target" + // Keys used by one and only one behavior // Used to hold state without making bigass lists /// For /datum/ai_behavior/find_potential_targets, what if any field are we using currently diff --git a/code/__DEFINES/ai/pets.dm b/code/__DEFINES/ai/pets.dm index 48d4f2d67d0..6af24b6cdd9 100644 --- a/code/__DEFINES/ai/pets.dm +++ b/code/__DEFINES/ai/pets.dm @@ -67,7 +67,7 @@ //virtual pet keys ///the last PDA message we must relay -#define BB_LAST_RECIEVED_MESSAGE "last_recieved_message" +#define BB_LAST_RECEIVED_MESSAGE "last_received_message" ///our current virtual pet level #define BB_VIRTUAL_PET_LEVEL "virtual_pet_level" ///the target we will play with diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 5ab40d347a6..49fdd555820 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -285,6 +285,7 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list( GLOBAL_LIST_INIT(all_body_zones, list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) GLOBAL_LIST_INIT(limb_zones, list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) GLOBAL_LIST_INIT(arm_zones, list(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) +GLOBAL_LIST_INIT(leg_zones, list(BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)) #define BODY_ZONE_PRECISE_EYES "eyes" #define BODY_ZONE_PRECISE_MOUTH "mouth" diff --git a/code/__DEFINES/cooldowns.dm b/code/__DEFINES/cooldowns.dm index 1d160a8c0f1..c1e6494a501 100644 --- a/code/__DEFINES/cooldowns.dm +++ b/code/__DEFINES/cooldowns.dm @@ -107,7 +107,7 @@ #define COOLDOWN_START(cd_source, cd_index, cd_time) (cd_source.cd_index = world.time + (cd_time)) //Returns true if the cooldown has run its course, false otherwise -#define COOLDOWN_FINISHED(cd_source, cd_index) (cd_source.cd_index < world.time) +#define COOLDOWN_FINISHED(cd_source, cd_index) (cd_source.cd_index <= world.time) #define COOLDOWN_RESET(cd_source, cd_index) cd_source.cd_index = 0 diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm index 25eb8b15f38..5836a0be65a 100644 --- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm @@ -46,7 +46,7 @@ ///from base of atom/setDir(): (old_dir, new_dir). Called before the direction changes. #define COMSIG_ATOM_DIR_CHANGE "atom_dir_change" ///from base of atom/setDir(): (old_dir, new_dir). Called after the direction changes. -#define COMSIG_ATOM_POST_DIR_CHANGE "atom_dir_change" +#define COMSIG_ATOM_POST_DIR_CHANGE "atom_post_dir_change" ///from base of atom/movable/keybind_face_direction(): (dir). Called before turning with the movement lock key. #define COMSIG_MOVABLE_KEYBIND_FACE_DIR "keybind_face_dir" ///ignores the movement lock key, used for turning while strafing in a mech diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm index 8f7fa11f57b..1d3c9304c3c 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm @@ -274,5 +274,7 @@ /// From /datum/element/basic_eating/finish_eating() #define COMSIG_MOB_ATE "mob_ate" +///From mob/living/carbon/proc/throw_mode_on and throw_mode_off +#define COMSIG_LIVING_THROW_MODE_TOGGLE "living_throw_mode_toggle" ///From /datum/component/happiness() #define COMSIG_MOB_HAPPINESS_CHANGE "happiness_change" diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm index f33d2f1f40d..7fce084dc2f 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm @@ -81,6 +81,9 @@ #define ACCESS_DISALLOWED (1<<1) #define LOCKED_ATOM_INCOMPATIBLE (1<<2) +///from the component /datum/component/simple_access +#define COMSIG_MOB_RETRIEVE_SIMPLE_ACCESS "retrieve_simple_access" + ///from base of mob/can_cast_magic(): (mob/user, magic_flags, charge_cost) #define COMSIG_MOB_RESTRICT_MAGIC "mob_cast_magic" ///from base of mob/can_block_magic(): (mob/user, casted_magic_flags, charge_cost) diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_spawner.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_spawner.dm index 6ff8b1e8d61..2e1b157ec11 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_spawner.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_spawner.dm @@ -2,5 +2,8 @@ /// called when a spawner spawns a mob #define COMSIG_SPAWNER_SPAWNED "spawner_spawned" +/// Called when a spawner spawns a mob in a turf peel, but we need to use the default case. +#define COMSIG_SPAWNER_SPAWNED_DEFAULT "spawner_spawned_default" + /// called when a ghost clicks a spawner role: (mob/living) #define COMSIG_GHOSTROLE_SPAWNED "ghostrole_spawned" diff --git a/code/__DEFINES/dcs/signals/signals_object.dm b/code/__DEFINES/dcs/signals/signals_object.dm index f628df0e964..d7e895221d0 100644 --- a/code/__DEFINES/dcs/signals/signals_object.dm +++ b/code/__DEFINES/dcs/signals/signals_object.dm @@ -366,11 +366,11 @@ // /obj/item/grenade signals -///called in /obj/item/gun/process_fire (user, target, params, zone_override) +///called in /obj/item/grenade/proc/detonate(): (lanced_by) #define COMSIG_GRENADE_DETONATE "grenade_prime" -//called from many places in grenade code (armed_by, nade, det_time, delayoverride) +///called in /obj/item/grenade/gas_crystal/arm_grenade(): (armed_by, nade, det_time, delayoverride) #define COMSIG_MOB_GRENADE_ARMED "grenade_mob_armed" -///called in /obj/item/gun/process_fire (user, target, params, zone_override) +///called in /obj/item/grenade/proc/arm_grenade() and /obj/item/grenade/gas_crystal/arm_grenade(): (det_time, delayoverride) #define COMSIG_GRENADE_ARMED "grenade_armed" // /obj/projectile signals (sent to the firer) @@ -423,7 +423,7 @@ #define COMSIG_VIM_HEADLIGHTS_TOGGLED "vim_headlights_toggled" ///from /datum/computer_file/program/messenger/proc/receive_message -#define COMSIG_COMPUTER_RECIEVED_MESSAGE "computer_recieved_message" +#define COMSIG_COMPUTER_RECEIVED_MESSAGE "computer_received_message" ///from /datum/computer_file/program/virtual_pet/proc/handle_level_up #define COMSIG_VIRTUAL_PET_LEVEL_UP "virtual_pet_level_up" diff --git a/code/__DEFINES/dcs/signals/signals_storage.dm b/code/__DEFINES/dcs/signals/signals_storage.dm index 45b6ec6bfe3..26459ab4dad 100644 --- a/code/__DEFINES/dcs/signals/signals_storage.dm +++ b/code/__DEFINES/dcs/signals/signals_storage.dm @@ -5,5 +5,14 @@ /// Sent after dumping into some other storage object: (atom/dest_object, mob/user) #define COMSIG_STORAGE_DUMP_POST_TRANSFER "storage_dump_into_storage" -/// Sent to the STORAGE when an ITEM is STORED INSIDE. +/// Fired off the storage's PARENT when an ITEM is STORED INSIDE. (obj/item, mob, force) +#define COMSIG_ATOM_STORED_ITEM "atom_storing_item" + +/// Fired off the storage's PARENT when an ITEM is REMOVED. (obj/item, atom, silent) +#define COMSIG_ATOM_REMOVED_ITEM "atom_removing_item" + +/// Sent to the STORAGE when an ITEM is STORED INSIDE. (obj/item, mob, force) #define COMSIG_STORAGE_STORED_ITEM "storage_storing_item" + +/// Sent to the STORAGE when an ITEM is REMOVED. (obj/item, atom, silent) +#define COMSIG_STORAGE_REMOVED_ITEM "storage_removing_item" diff --git a/code/__DEFINES/diseases.dm b/code/__DEFINES/diseases.dm index 047bb79582d..fe05a30e0fd 100644 --- a/code/__DEFINES/diseases.dm +++ b/code/__DEFINES/diseases.dm @@ -81,28 +81,28 @@ DEFINE_BITFIELD(spread_flags, list( //// Adjust to make it faster or slower to cure once the virus has reached its peak. #define DISEASE_PEAKED_RECOVERY_MULTIPLIER 1.2 /// Slowdown Recovery Bonus - set this to the maximum extra chance per tick you want people to get to recover from spaceacillin or other slowdown/virus resistance effects -#define DISEASE_SLOWDOWN_RECOVERY_BONUS 1 -/// Slowdown Recovery Bonus Duration - set this to the maximum # of cycles you want things that cause slowdown/virus resistance to be able to add a bonus up to DISEASE_SLOWDOWN_RECOVERY_BONUS.______qdel_list_wrapper(list/L) +#define DISEASE_SLOWDOWN_RECOVERY_BONUS 3 +/// Slowdown Recovery Bonus Duration - set this to the maximum # of cycles you want things that cause slowdown/virus resistance to be able to add a bonus up to DISEASE_SLOWDOWN_RECOVERY_BONUS. //// Scales down linearly over time. -#define DISEASE_SLOWDOWN_RECOVERY_BONUS_DURATION 100 +#define DISEASE_SLOWDOWN_RECOVERY_BONUS_DURATION 200 /// Negative Malnutrition Recovery Penalty //// Flat penalty to recovery chance if malnourished or starving -#define DISEASE_MALNUTRITION_RECOVERY_PENALTY 1.5 +#define DISEASE_MALNUTRITION_RECOVERY_PENALTY 3 /// Satiety Recovery Multiplier - added chance to recover based on positive satiety //// Multiplier of satiety/max_satiety if satiety is positive or zero. Increase to make satiety more valuable, decrease for less. -#define DISEASE_SATIETY_RECOVERY_MULTIPLIER 1 +#define DISEASE_SATIETY_RECOVERY_MULTIPLIER 3 /// Good Sleeping Recovery Bonus - additive benefits for various types of good sleep (blanket, bed, darkness, pillows.) //// Raise to make each factor add this much chance to recover. -#define DISEASE_GOOD_SLEEPING_RECOVERY_BONUS 0.2 +#define DISEASE_GOOD_SLEEPING_RECOVERY_BONUS 0.6 /// Sleeping Recovery Multiplier - multiplies ALL recovery chance effects by this amount. //// Set to 1 for no effect on recovery chances from sleeping. -#define DISEASE_SLEEPING_RECOVERY_MULTIPLIER 2 +#define DISEASE_SLEEPING_RECOVERY_MULTIPLIER 6 /// Final Cure Chance Multiplier - multiplies the disease's cure chance to get the probability of moving from stage 1 to a final cure. //// Must be greater than zero for diseases to self cure. -#define DISEASE_FINAL_CURE_CHANCE_MULTIPLIER 3 +#define DISEASE_FINAL_CURE_CHANCE_MULTIPLIER 6 /// Symptom Offset Duration - number of cycles over which sleeping/having spaceacillin or a slowdown effect can prevent symptoms appearing //// Set to maximum # of cycles you want to be able to offset symptoms. Scales down linearly over time. -#define DISEASE_SYMPTOM_OFFSET_DURATION 100 +#define DISEASE_SYMPTOM_OFFSET_DURATION 200 /// Symptom Frequency Modifier //// Raise to make symptoms fire less frequently, lower to make them fire more frequently. Keep at 0 or above. diff --git a/code/__DEFINES/dynamic.dm b/code/__DEFINES/dynamic.dm index 07c833cdc49..0162ef755e3 100644 --- a/code/__DEFINES/dynamic.dm +++ b/code/__DEFINES/dynamic.dm @@ -38,3 +38,9 @@ #define RULESET_FORCE_ENABLED "force enabled" /// Ruleset should not run regardless of population and threat available #define RULESET_FORCE_DISABLED "force disabled" + +// Flavor ruletypes, used by station traits +/// Rulesets selected by dynamic at default +#define RULESET_CATEGORY_DEFAULT (1 << 0) +/// Rulesets not including crew antagonists, non-witting referring to antags like obsessed which aren't really enemies of the station +#define RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS (1 << 1) diff --git a/code/__DEFINES/fish.dm b/code/__DEFINES/fish.dm index 6c6bf8019f4..d94a85638de 100644 --- a/code/__DEFINES/fish.dm +++ b/code/__DEFINES/fish.dm @@ -147,3 +147,8 @@ ///Fluff. The name of the aquarium company shown in the fish catalog #define AQUARIUM_COMPANY "Aquatech Ltd." + +/// how long between electrogenesis zaps +#define ELECTROGENESIS_DURATION 40 SECONDS +/// a random range the electrogenesis cooldown varies by +#define ELECTROGENESIS_VARIANCE (rand(-10 SECONDS, 10 SECONDS)) diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm index f3a21b41c77..906a622550d 100644 --- a/code/__DEFINES/food.dm +++ b/code/__DEFINES/food.dm @@ -105,7 +105,7 @@ DEFINE_BITFIELD(foodtypes, list( #define DRINK_FANTASTIC 5 #define FOOD_AMAZING 6 -#define RACE_DRINK 7 // SKYRAT ADDITION +#define RACE_DRINK 7 // SKYRAT EDIT ADDITION #define FOOD_QUALITY_NORMAL 1 #define FOOD_QUALITY_NICE 2 diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index 6f1c9512b39..11def884c6f 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -168,7 +168,7 @@ #define CLOTHING_SNOUTED_BETTER_VOX_VARIATION (1<<8) /// The sprite works fine for vox snouts as is. #define CLOTHING_SNOUTED_BETTER_VOX_VARIATION_NO_NEW_ICON (1<<9) -// SKYRAT EDIT END +// SKYRAT EDIT ADDITION END //flags for covering body parts #define GLASSESCOVERSEYES (1<<0) diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index 3922e6a5ce9..4b5f7ff90c8 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -212,6 +212,7 @@ // ABOVE_GAME_PLANE layers #define NAVIGATION_EYE_LAYER 4.9 //#define FLY_LAYER 5 //For easy recordkeeping; this is a byond define +#define ABOVE_TREE_LAYER 5.01 #define GASFIRE_LAYER 5.05 #define RIPPLE_LAYER 5.1 diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 1c59dbaa2b5..ec755b6a2a1 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -797,6 +797,7 @@ GLOBAL_LIST_INIT(layers_to_offset, list( // to show how many filters are added at a glance // BACK_LAYER (backpacks are big) // BODYPARTS_HIGH_LAYER (arms) + // BODY_LAYER (body markings (full body), underwear (full body), eyes) // BODY_ADJ_LAYER (external organs like wings) // BODY_BEHIND_LAYER (external organs like wings) // BODY_FRONT_LAYER (external organs like wings) @@ -987,6 +988,9 @@ GLOBAL_LIST_INIT(layers_to_offset, list( /// Types of bullets that mining mobs take full damage from #define MINING_MOB_PROJECTILE_VULNERABILITY list(BRUTE) +/// Helper macro that determines if the mob is at the threshold to start vomitting due to high toxin levels +#define AT_TOXIN_VOMIT_THRESHOLD(mob) (mob.getToxLoss() > 45 && mob.nutrition > 20) + /// The duration of the flip emote animation #define FLIP_EMOTE_DURATION 0.7 SECONDS diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index 50847d1415d..42672bed044 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -35,10 +35,7 @@ #define CHAT_GHOSTLAWS (1<<11) #define CHAT_LOGIN_LOGOUT (1<<12) -#define TOGGLES_DEFAULT_CHAT (CHAT_OOC|CHAT_DEAD|CHAT_PRAYER|CHAT_PULLR|CHAT_GHOSTRADIO|CHAT_BANKCARD|CHAT_GHOSTLAWS|CHAT_LOGIN_LOGOUT) -//BUBBER EDIT: original (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_PULLR|CHAT_GHOSTWHISPER|CHAT_GHOSTPDA|CHAT_GHOSTRADIO|CHAT_BANKCARD|CHAT_GHOSTLAWS|CHAT_LOGIN_LOGOUT) -//Makes it so that chat_ghostsight, chat_ghostwhisper, chat_ghostpda, chat_ghostears are disabled by DEFAULT. No more seeing others' ERP from anywhere without an opt-in. Note ghosts still see nearby emotes and messages. -//This will be mildly inconvenient, but it solves the issue of people seeing stuff they aren't supposed to see. For the most part. +#define TOGGLES_DEFAULT_CHAT (CHAT_OOC|CHAT_DEAD|CHAT_PRAYER|CHAT_PULLR|CHAT_GHOSTPDA|CHAT_GHOSTRADIO|CHAT_BANKCARD|CHAT_GHOSTLAWS|CHAT_LOGIN_LOGOUT) #define PARALLAX_INSANE "Insane" #define PARALLAX_HIGH "High" diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm index 7cfb0700615..e104e6bc351 100644 --- a/code/__DEFINES/role_preferences.dm +++ b/code/__DEFINES/role_preferences.dm @@ -37,7 +37,6 @@ #define ROLE_OPERATIVE_MIDROUND "Operative (Midround)" #define ROLE_PARADOX_CLONE "Paradox Clone" #define ROLE_REV_HEAD "Head Revolutionary" -#define ROLE_SENTIENT_DISEASE "Sentient Disease" #define ROLE_SLEEPER_AGENT "Syndicate Sleeper Agent" #define ROLE_SPACE_DRAGON "Space Dragon" #define ROLE_SPIDER "Spider" @@ -180,7 +179,6 @@ GLOBAL_LIST_INIT(special_roles, list( ROLE_OPERATIVE_MIDROUND = 14, ROLE_PARADOX_CLONE = 0, ROLE_REVENANT = 0, - ROLE_SENTIENT_DISEASE = 0, ROLE_SLEEPER_AGENT = 0, ROLE_SPACE_DRAGON = 0, ROLE_SPIDER = 0, diff --git a/code/__DEFINES/sprite_accessories.dm b/code/__DEFINES/sprite_accessories.dm index 9c9471130e6..a4003a31972 100644 --- a/code/__DEFINES/sprite_accessories.dm +++ b/code/__DEFINES/sprite_accessories.dm @@ -7,3 +7,9 @@ #define FACIAL_HAIR_COLOR "facial_hair_color" /// Color of the sprite accessory will match the owner's (left) eye color #define EYE_COLOR "eye_color" + +// ~color source defines for species hair overrides +/// Uses the species's mutant color for the hair color +#define USE_MUTANT_COLOR "use_mutant_color" +/// Uses the species's fixed mutant color for the hair color +#define USE_FIXED_MUTANT_COLOR "use_fixed_mutant_color" diff --git a/code/__DEFINES/surgery.dm b/code/__DEFINES/surgery.dm index 6f078c28724..e88fc749ec3 100644 --- a/code/__DEFINES/surgery.dm +++ b/code/__DEFINES/surgery.dm @@ -26,11 +26,12 @@ #define ORGAN_HIDDEN (1<<9) /// Has the organ already been inserted inside someone #define ORGAN_VIRGIN (1<<10) +/// ALWAYS show this when scanned by advanced scanners, even if it is totally healthy +#define ORGAN_PROMINENT (1<<11) // SKYRAT EDIT START - Customization /// Synthetic organ granted by a species (for use for organ replacements between species) #define ORGAN_SYNTHETIC_FROM_SPECIES (1<<11) // SKYRAT EDIT END - /// Helper to figure out if a limb is organic #define IS_ORGANIC_LIMB(limb) (limb.bodytype & BODYTYPE_ORGANIC) /// Helper to figure out if a limb is robotic diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm index c336ee87880..3d0ec67095e 100644 --- a/code/__DEFINES/traits/declarations.dm +++ b/code/__DEFINES/traits/declarations.dm @@ -222,6 +222,10 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_REVEAL_FISH "reveal_fish" ///This trait gets you a list of fishes that can be caught when examining a fishing spot. #define TRAIT_EXAMINE_FISHING_SPOT "examine_fishing_spot" +///Trait given to turfs or objects that can be fished from +#define TRAIT_FISHING_SPOT "fishing_spot" +///Trait given to mobs that can fish without a rod +#define TRAIT_PROFOUND_FISHER "profound_fisher" /// This trait lets you evaluate someone's fitness level against your own #define TRAIT_EXAMINE_FITNESS "reveal_power_level" @@ -287,6 +291,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Allows you to hear speech through walls #define TRAIT_XRAY_HEARING "xray_hearing" +/// This mob can not enter or move on a shuttle +#define TRAIT_BLOCK_SHUTTLE_MOVEMENT "block_shuttle_movement" + /// Lets us scan reagents #define TRAIT_REAGENT_SCANNER "reagent_scanner" /// Lets us scan machine parts and tech unlocks @@ -904,6 +911,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_FISH_NO_HUNGER "fish_no_hunger" ///It comes from a fish case. Relevant for bounties so far. #define TRAIT_FISH_FROM_CASE "fish_from_case" +///Fish will also occasionally fire weak tesla zaps +#define TRAIT_FISH_ELECTROGENESIS "fish_electrogenesis" /// Trait given to angelic constructs to let them purge cult runes #define TRAIT_ANGELIC "angelic" @@ -1134,4 +1143,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Trait applied to objects and mobs that can attack a boulder and break it down. (See /obj/item/boulder/manual_process()) #define TRAIT_BOULDER_BREAKER "boulder_breaker" +/// Does this item bypass ranged armor checks? +#define TRAIT_BYPASS_RANGED_ARMOR "bypass_ranged_armor" + // END TRAIT DEFINES diff --git a/code/__DEFINES/~skyrat_defines/liquids.dm b/code/__DEFINES/~skyrat_defines/liquids.dm index f31af739a87..330809be583 100644 --- a/code/__DEFINES/~skyrat_defines/liquids.dm +++ b/code/__DEFINES/~skyrat_defines/liquids.dm @@ -30,7 +30,7 @@ #define LIQUID_ATTRITION_TO_STOP_ACTIVITY 2 -//Percieved heat capacity for calculations with atmos sharing +//Perceived heat capacity for calculations with atmos sharing #define REAGENT_HEAT_CAPACITY 5 #define LIQUID_STATE_PUDDLE 1 diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 7ae0feadea7..e0e83b42197 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -13,9 +13,9 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f) //socks init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, GLOB.socks_list) - //bodypart accessories (blizzard intensifies) //SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION /* + //bodypart accessories (blizzard intensifies) init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, GLOB.body_markings_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/human, GLOB.tails_list_human, add_blank = TRUE) init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/lizard, GLOB.tails_list_lizard, add_blank = TRUE) @@ -33,15 +33,14 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_wings, GLOB.moth_wings_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_antennae, GLOB.moth_antennae_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_markings, GLOB.moth_markings_list) - */ //SKYRAT EDIT REMOVAL END - //bras - init_sprite_accessory_subtypes(/datum/sprite_accessory/bra, GLOB.bra_list, GLOB.bra_m, GLOB.bra_f) // SKYRAT EDIT ADDITION +*/ //SKYRAT EDIT REMOVAL END + init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, GLOB.pod_hair_list) + // SKYRAT EDIT ADDITION START + init_sprite_accessory_subtypes(/datum/sprite_accessory/bra, GLOB.bra_list, GLOB.bra_m, GLOB.bra_f) + init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/monkey, GLOB.tails_list_monkey, add_blank = TRUE) + init_sprite_accessory_subtypes(/datum/sprite_accessory/caps, GLOB.caps_list, add_blank = TRUE) + init_sprite_accessory_subtypes(/datum/sprite_accessory/wings/moth, GLOB.moth_wings_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/wings/moth, GLOB.moth_wings_list) // SKYRAT EDIT ADDITION - Customization - init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/monkey, GLOB.tails_list_monkey, add_blank = TRUE) // SKYRAT EDIT ADDITION - We don't want monkeys getting randomized non-monkey tails - init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, GLOB.pod_hair_list, add_blank = TRUE) // SKYRAT EDIT - Customization - ORIGINAL: init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, GLOB.pod_hair_list) - - //SKYRAT EDIT ADDITION BEGIN //Scream types for(var/spath in subtypesof(/datum/scream_type)) var/datum/scream_type/S = new spath() @@ -53,14 +52,14 @@ var/datum/laugh_type/L = new spath() GLOB.laugh_types[L.name] = spath sort_list(GLOB.laugh_types, GLOBAL_PROC_REF(cmp_typepaths_asc)) - //SKYRAT EDIT END - //THE BUBBER EDIT ADDITION BEGIN - Blooper + // SKYRAT EDIT ADDITION END + //BUBBER EDIT ADDITION BEGIN - Blooper for(var/sound_blooper_path in subtypesof(/datum/blooper)) var/datum/blooper/B = new sound_blooper_path() GLOB.blooper_list[B.id] = sound_blooper_path if(B.allow_random) GLOB.blooper_random_list[B.id] = sound_blooper_path - //THE BUBBER EDIT END + //BUBBER EDIT END /// Inits GLOB.species_list. Not using GLOBAL_LIST_INIT b/c it depends on GLOB.string_lists /proc/init_species_list() @@ -93,9 +92,7 @@ init_species_list() init_hair_gradients() init_keybindings() - GLOB.emote_list = init_emote_list() // WHY DOES THIS NEED TO GO HERE? IT JUST INITS DATUMS - make_skyrat_datum_references() //SKYRAT EDIT ADDITION - CUSTOMIZATION init_crafting_recipes() init_crafting_recipes_atoms() @@ -106,7 +103,7 @@ if(ispath(path, /datum/crafting_recipe/stack)) continue var/datum/crafting_recipe/recipe = new path() - var/is_cooking = ((recipe.category in GLOB.crafting_category_food) || (recipe.category in GLOB.crafting_category_food_skyrat)) // SKYRAT EDIT - Add skyrat food crafting category + var/is_cooking = ((recipe.category in GLOB.crafting_category_food) || (recipe.category in GLOB.crafting_category_food_skyrat)) // SKYRAT EDIT CHANGE - ORIGINAL: var/is_cooking = (recipe.category in GLOB.crafting_category_food) recipe.reqs = sort_list(recipe.reqs, GLOBAL_PROC_REF(cmp_crafting_req_priority)) if(recipe.name != "" && recipe.result) if(is_cooking) diff --git a/code/__HELPERS/logging/_logging.dm b/code/__HELPERS/logging/_logging.dm index 48780b36d3d..2c1760009d7 100644 --- a/code/__HELPERS/logging/_logging.dm +++ b/code/__HELPERS/logging/_logging.dm @@ -105,7 +105,7 @@ GLOBAL_LIST_INIT(testing_global_profiler, list("_PROFILE_NAME" = "Global")) SSdbcore.add_log_to_mass_insert_queue( format_table_name("game_log"), list( - "datetime" = SQLtime(), + "datetime" = ISOtime(), "round_id" = "[GLOB.round_id]", "ckey" = key_name(src), "loc" = loc_name(src), diff --git a/code/__HELPERS/spatial_info.dm b/code/__HELPERS/spatial_info.dm index 98e11b483ba..c23e3a408a5 100644 --- a/code/__HELPERS/spatial_info.dm +++ b/code/__HELPERS/spatial_info.dm @@ -468,5 +468,8 @@ if(possible_spawn in inner) continue peel += possible_spawn + + if(!length(peel)) + return center //Offer the center only as a default case when we don't have a valid circle. return peel diff --git a/code/__HELPERS/time.dm b/code/__HELPERS/time.dm index 9c57f2334c8..ac3ff23b05e 100644 --- a/code/__HELPERS/time.dm +++ b/code/__HELPERS/time.dm @@ -28,7 +28,7 @@ SSticker.gametime_offset = CEILING(SSticker.gametime_offset, 3600) //returns timestamp in a sql and a not-quite-compliant ISO 8601 friendly format -/proc/SQLtime(timevar) +/proc/ISOtime(timevar) return time2text(timevar || world.timeofday, "YYYY-MM-DD hh:mm:ss") diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index a6e6003bd9b..eac2e9ddf19 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -75,6 +75,7 @@ DEFINE_BITFIELD(turf_flags, list( "IS_SOLID" = IS_SOLID, "UNUSED_RESERVATION_TURF" = UNUSED_RESERVATION_TURF, "RESERVATION_TURF" = RESERVATION_TURF, + "TURF_BLOCKS_PLACEATOM" = TURF_BLOCKS_POPULATE_TERRAIN_FLORAFEATURES, )) DEFINE_BITFIELD(car_traits, list( diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 9f82f792039..4981880d5ff 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -39,12 +39,12 @@ GLOBAL_LIST_EMPTY(wings_open_list) GLOBAL_LIST_EMPTY(moth_wings_list) GLOBAL_LIST_EMPTY(moth_antennae_list) GLOBAL_LIST_EMPTY(moth_markings_list) -GLOBAL_LIST_EMPTY(caps_list) */ //SKYRAT EDIT REMOVAL END +GLOBAL_LIST_EMPTY(caps_list) +GLOBAL_LIST_EMPTY(pod_hair_list) GLOBAL_LIST_EMPTY(moth_wings_list) // SKYRAT EDIT ADDITION - Customization GLOBAL_LIST_EMPTY(tails_list_monkey) // SKYRAT EDIT ADDITION - Customization -GLOBAL_LIST_EMPTY(pod_hair_list) GLOBAL_LIST_INIT(color_list_ethereal, list( "Blue" = "#3399ff", diff --git a/code/_globalvars/lists/quirks.dm b/code/_globalvars/lists/quirks.dm index f436bdf9d9f..9a0804184d1 100644 --- a/code/_globalvars/lists/quirks.dm +++ b/code/_globalvars/lists/quirks.dm @@ -47,7 +47,7 @@ GLOBAL_LIST_INIT(possible_junkie_addictions, setup_junkie_addictions(list( ))) ///Options for the Smoker quirk to choose from -GLOBAL_LIST_INIT(possible_smoker_addictions, setup_junkie_addictions(list( +GLOBAL_LIST_INIT(possible_smoker_addictions, setup_smoker_addictions(list( /obj/item/storage/fancy/cigarettes, /obj/item/storage/fancy/cigarettes/cigpack_midori, /obj/item/storage/fancy/cigarettes/cigpack_uplift, diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index ce6ba9ec09b..8d92bc94908 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -141,9 +141,10 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_BATON_RESISTANCE" = TRAIT_BATON_RESISTANCE, "TRAIT_BEING_BLADE_SHIELDED" = TRAIT_BEING_BLADE_SHIELDED, "TRAIT_BLOB_ALLY" = TRAIT_BLOB_ALLY, + "TRAIT_BLOCK_SHUTTLE_MOVEMENT" = TRAIT_BLOCK_SHUTTLE_MOVEMENT, + "TRAIT_BLOOD_CLANS" = TRAIT_BLOOD_CLANS, "TRAIT_BLOODSHOT_EYES" = TRAIT_BLOODSHOT_EYES, "TRAIT_BLOODY_MESS" = TRAIT_BLOODY_MESS, - "TRAIT_BLOOD_CLANS" = TRAIT_BLOOD_CLANS, "TRAIT_BOMBIMMUNE" = TRAIT_BOMBIMMUNE, "TRAIT_BONSAI" = TRAIT_BONSAI, "TRAIT_BOOZE_SLIDER" = TRAIT_BOOZE_SLIDER, @@ -386,6 +387,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_PRESERVE_UI_WITHOUT_CLIENT" = TRAIT_PRESERVE_UI_WITHOUT_CLIENT, "TRAIT_PREVENT_IMPLANT_AUTO_EXPLOSION" = TRAIT_PREVENT_IMPLANT_AUTO_EXPLOSION, "TRAIT_PRIMITIVE" = TRAIT_PRIMITIVE, //unable to use mechs. Given to Ash Walkers + "TRAIT_PROFOUND_FISHER" = TRAIT_PROFOUND_FISHER, "TRAIT_PROSOPAGNOSIA" = TRAIT_PROSOPAGNOSIA, "TRAIT_PULL_BLOCKED" = TRAIT_PULL_BLOCKED, "TRAIT_PUSHIMMUNE" = TRAIT_PUSHIMMUNE, @@ -511,6 +513,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_APC_SHOCKING" = TRAIT_APC_SHOCKING, "TRAIT_BASIC_QUALITY_BAIT" = TRAIT_BASIC_QUALITY_BAIT, "TRAIT_BLIND_TOOL" = TRAIT_BLIND_TOOL, + "TRAIT_BYPASS_RANGED_ARMOR" = TRAIT_BYPASS_RANGED_ARMOR, "TRAIT_CUSTOM_TAP_SOUND" = TRAIT_CUSTOM_TAP_SOUND, "TRAIT_DANGEROUS_OBJECT" = TRAIT_DANGEROUS_OBJECT, "TRAIT_FISHING_BAIT" = TRAIT_FISHING_BAIT, @@ -562,6 +565,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_FISH_NO_MATING" = TRAIT_FISH_NO_MATING, "TRAIT_FISH_SELF_REPRODUCE" = TRAIT_FISH_SELF_REPRODUCE, "TRAIT_FISH_TOXIN_IMMUNE" = TRAIT_FISH_TOXIN_IMMUNE, + "TRAIT_FISH_ELECTROGENESIS" = TRAIT_FISH_ELECTROGENESIS, "TRAIT_RESIST_EMULSIFY" = TRAIT_RESIST_EMULSIFY, "TRAIT_YUCKY_FISH" = TRAIT_YUCKY_FISH, ), @@ -620,6 +624,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_TURF_IGNORE_SLIPPERY" = TRAIT_TURF_IGNORE_SLIPPERY, "TRAIT_TURF_IGNORE_SLOWDOWN" = TRAIT_TURF_IGNORE_SLOWDOWN, "TRAIT_ELEVATED_TURF" = TRAIT_ELEVATED_TURF, + "TRAIT_FISHING_SPOT" = TRAIT_FISHING_SPOT, ), // SKYRAT EDIT ADDITION START - SKYRAT TRAITS /obj/item/toy/plush/skyrat = list( diff --git a/code/_globalvars/traits/admin_tooling.dm b/code/_globalvars/traits/admin_tooling.dm index 35f4f657361..1e13d192f94 100644 --- a/code/_globalvars/traits/admin_tooling.dm +++ b/code/_globalvars/traits/admin_tooling.dm @@ -36,6 +36,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_BADTOUCH" = TRAIT_BADTOUCH, "TRAIT_BALD" = TRAIT_BALD, "TRAIT_BATON_RESISTANCE" = TRAIT_BATON_RESISTANCE, + "TRAIT_BLOCK_SHUTTLE_MOVEMENT" = TRAIT_BLOCK_SHUTTLE_MOVEMENT, "TRAIT_BLOOD_CLANS" = TRAIT_BLOOD_CLANS, "TRAIT_BLOODSHOT_EYES" = TRAIT_BLOODSHOT_EYES, "TRAIT_BOMBIMMUNE" = TRAIT_BOMBIMMUNE, diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index ae5cc36b8ad..e8399b2a8f2 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -254,10 +254,8 @@ return CLICK_ACTION_SUCCESS /obj/machinery/power/apc/attack_ai_secondary(mob/living/silicon/user, list/modifiers) - if(!can_use(user, loud = TRUE)) - return - - togglelock(user) + if(can_use(user, loud = TRUE)) + togglelock(user) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN /* AI Turrets */ diff --git a/code/_onclick/click_alt.dm b/code/_onclick/click_alt.dm index 11419a60816..dfda35ebda9 100644 --- a/code/_onclick/click_alt.dm +++ b/code/_onclick/click_alt.dm @@ -11,7 +11,10 @@ return // Is it visible (and we're not wearing it (our clothes are invisible))? - if(!(src in viewers(7, target)) && !CanReach(target)) + if(!CAN_I_SEE(target)) + return + + if(is_blind() && !IN_GIVEN_RANGE(src, target, 1)) return var/turf/tile = get_turf(target) @@ -21,8 +24,14 @@ client.loot_panel.open(tile) return - // Turfs don't have a click_alt currently, so this saves some time. - if(!isturf(target) && can_perform_action(target, (target.interaction_flags_click | SILENT_ADJACENCY))) + var/can_use_click_action = FALSE + if(isturf(target)) + // Turfs are special because they can't be used with can_perform_action + can_use_click_action = can_perform_turf_action(target) + else + can_use_click_action = can_perform_action(target, (target.interaction_flags_click | SILENT_ADJACENCY)) + + if(can_use_click_action) // If it has a signal handler that returns a click action, done. if(SEND_SIGNAL(target, COMSIG_CLICK_ALT, src) & CLICK_ACTION_ANY) return @@ -35,6 +44,13 @@ if(HAS_TRAIT(src, TRAIT_MOVE_VENTCRAWLING)) return + /// No loot panel if it's on our person + if(isobj(target) && isliving(src)) + var/mob/living/user = src + if(target in user.get_all_gear()) + to_chat(user, span_warning("You can't search for this item, it's already in your inventory! Take it off first.")) + return + client.loot_panel.open(tile) @@ -68,3 +84,15 @@ /atom/proc/click_alt(mob/user) SHOULD_CALL_PARENT(FALSE) return NONE + + +/// Helper proc to validate turfs. Used because can_perform_action does not support turfs. +/mob/proc/can_perform_turf_action(turf/target) + if(!CanReach(target)) // No error message for parity with SILENT_ADJACENCY + return FALSE + + if(incapacitated()) + to_chat(src, span_warning("You can't use this!")) + return FALSE + + return TRUE diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 250c3464979..710c8103d9b 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -272,9 +272,9 @@ GLOBAL_LIST_INIT(available_erp_ui_styles, list( alien_queen_finder = null combo_display = null - //SKYRAT EDIT START - SKYRAT HUD + //SKYRAT EDIT ADDITION START - SKYRAT HUD wanted_lvl = null - // SKYRAT EDIT END - SKYRAT HUD + // SKYRAT EDIT ADDITION END - SKYRAT HUD QDEL_LIST_ASSOC_VAL(master_groups) QDEL_LIST_ASSOC_VAL(plane_master_controllers) diff --git a/code/_onclick/hud/parallax/parallax.dm b/code/_onclick/hud/parallax/parallax.dm index 506226b41ea..bcdcd0e74fe 100755 --- a/code/_onclick/hud/parallax/parallax.dm +++ b/code/_onclick/hud/parallax/parallax.dm @@ -11,6 +11,10 @@ for(var/atom/movable/screen/plane_master/parallax as anything in get_true_plane_masters(PLANE_SPACE_PARALLAX)) parallax.unhide_plane(screenmob) + if(isnull(C.parallax_rock)) + C.parallax_rock = new(null, src) + C.screen |= C.parallax_rock + if(!length(C.parallax_layers_cached)) C.parallax_layers_cached = list() C.parallax_layers_cached += new /atom/movable/screen/parallax_layer/layer_1(null, src) @@ -25,7 +29,7 @@ if (length(C.parallax_layers) > C.parallax_layers_max) C.parallax_layers.len = C.parallax_layers_max - C.screen |= (C.parallax_layers) + C.parallax_rock.vis_contents = C.parallax_layers // We could do not do parallax for anything except the main plane group // This could be changed, but it would require refactoring this whole thing // And adding non client particular hooks for all the inputs, and I do not have the time I'm sorry :( @@ -44,7 +48,7 @@ /datum/hud/proc/remove_parallax(mob/viewmob) var/mob/screenmob = viewmob || mymob var/client/C = screenmob.client - C.screen -= (C.parallax_layers_cached) + C.screen -= (C.parallax_rock) for(var/atom/movable/screen/plane_master/plane_master as anything in screenmob.hud_used.get_true_plane_masters(PLANE_SPACE)) if(screenmob != mymob) C.screen -= locate(/atom/movable/screen/plane_master/parallax_white) in C.screen @@ -104,83 +108,65 @@ update_parallax(screen_mob) // This sets which way the current shuttle is moving (returns true if the shuttle has stopped moving so the caller can append their animation) -/datum/hud/proc/set_parallax_movedir(new_parallax_movedir = 0, skip_windups, mob/viewmob) +/datum/hud/proc/set_parallax_movedir(new_parallax_movedir = NONE, skip_windups, mob/viewmob) . = FALSE var/mob/screenmob = viewmob || mymob var/client/C = screenmob.client if(new_parallax_movedir == C.parallax_movedir) return - var/animatedir = new_parallax_movedir - if(new_parallax_movedir == FALSE) - var/animate_time = 0 - for(var/thing in C.parallax_layers) - var/atom/movable/screen/parallax_layer/L = thing - L.icon_state = initial(L.icon_state) - L.update_o(C.view) - var/T = PARALLAX_LOOP_TIME / L.speed - if (T > animate_time) - animate_time = T - C.dont_animate_parallax = world.time + min(animate_time, PARALLAX_LOOP_TIME) - animatedir = C.parallax_movedir - var/matrix/newtransform - switch(animatedir) + var/animation_dir = new_parallax_movedir || C.parallax_movedir + var/matrix/new_transform + switch(animation_dir) if(NORTH) - newtransform = matrix(1, 0, 0, 0, 1, 480) + new_transform = matrix(1, 0, 0, 0, 1, 480) if(SOUTH) - newtransform = matrix(1, 0, 0, 0, 1,-480) + new_transform = matrix(1, 0, 0, 0, 1,-480) if(EAST) - newtransform = matrix(1, 0, 480, 0, 1, 0) + new_transform = matrix(1, 0, 480, 0, 1, 0) if(WEST) - newtransform = matrix(1, 0,-480, 0, 1, 0) + new_transform = matrix(1, 0,-480, 0, 1, 0) - var/shortesttimer - if(!skip_windups) - for(var/thing in C.parallax_layers) - var/atom/movable/screen/parallax_layer/L = thing + var/longest_timer = 0 + for(var/key in C.parallax_animate_timers) + deltimer(C.parallax_animate_timers[key]) + C.parallax_animate_timers = list() + for(var/atom/movable/screen/parallax_layer/layer as anything in C.parallax_layers) + var/scaled_time = PARALLAX_LOOP_TIME / layer.speed + if(new_parallax_movedir == NONE) // If we're stopping, we need to stop on the same dime, yeah? + scaled_time = PARALLAX_LOOP_TIME + longest_timer = max(longest_timer, scaled_time) - var/T = PARALLAX_LOOP_TIME / L.speed - if (isnull(shortesttimer)) - shortesttimer = T - if (T < shortesttimer) - shortesttimer = T - L.transform = newtransform - animate(L, transform = matrix(), time = T, easing = QUAD_EASING | (new_parallax_movedir ? EASE_IN : EASE_OUT), flags = ANIMATION_END_NOW) - if (new_parallax_movedir) - L.transform = newtransform - animate(transform = matrix(), time = T) //queue up another animate so lag doesn't create a shutter - - C.parallax_movedir = new_parallax_movedir - if (C.parallax_animate_timer) - deltimer(C.parallax_animate_timer) - var/datum/callback/CB = CALLBACK(src, PROC_REF(update_parallax_motionblur), C, animatedir, new_parallax_movedir, newtransform) - if(skip_windups) - CB.Invoke() - else - C.parallax_animate_timer = addtimer(CB, min(shortesttimer, PARALLAX_LOOP_TIME), TIMER_CLIENT_TIME|TIMER_STOPPABLE) - - -/datum/hud/proc/update_parallax_motionblur(client/C, animatedir, new_parallax_movedir, matrix/newtransform) - if(!C) - return - C.parallax_animate_timer = FALSE - for(var/thing in C.parallax_layers) - var/atom/movable/screen/parallax_layer/L = thing - if (!new_parallax_movedir) - animate(L) + if(skip_windups) + update_parallax_motionblur(C, layer, new_parallax_movedir, new_transform) continue - var/newstate = initial(L.icon_state) - var/T = PARALLAX_LOOP_TIME / L.speed + layer.transform = new_transform + animate(layer, transform = matrix(), time = scaled_time, easing = QUAD_EASING | (new_parallax_movedir ? EASE_IN : EASE_OUT)) + if (new_parallax_movedir == NONE) + continue + //queue up another animate so lag doesn't create a shutter + animate(transform = new_transform, time = 0) + animate(transform = matrix(), time = scaled_time / 2) + C.parallax_animate_timers[layer] = addtimer(CALLBACK(src, PROC_REF(update_parallax_motionblur), C, layer, new_parallax_movedir, new_transform), scaled_time, TIMER_CLIENT_TIME|TIMER_STOPPABLE) - if (newstate in icon_states(L.icon)) - L.icon_state = newstate - L.update_o(C.view) + C.dont_animate_parallax = world.time + min(longest_timer, PARALLAX_LOOP_TIME) + C.parallax_movedir = new_parallax_movedir - L.transform = newtransform +/datum/hud/proc/update_parallax_motionblur(client/C, atom/movable/screen/parallax_layer/layer, new_parallax_movedir, matrix/new_transform) + if(!C) + return + C.parallax_animate_timers -= layer - animate(L, transform = L.transform, time = 0, loop = -1, flags = ANIMATION_END_NOW) - animate(transform = matrix(), time = T) + // If we are moving in a direction, we used the QUAD_EASING function with EASE_IN + // This means our position function is x^2. This is always LESS then the linear we're using here + // But if we just used the same time delay, our rate of change would mismatch. f'(1) = 2x for quad easing, rather then the 1 we get for linear + // (This is because of how derivatives work right?) + // Because of this, while our actual rate of change from before was PARALLAX_LOOP_TIME, our perceived rate of change was PARALLAX_LOOP_TIME / 2 (lower == faster). + // Let's account for that here + var/scaled_time = (PARALLAX_LOOP_TIME / layer.speed) / 2 + animate(layer, transform = new_transform, time = 0, loop = -1, flags = ANIMATION_END_NOW) + animate(transform = matrix(), time = scaled_time) /datum/hud/proc/update_parallax(mob/viewmob) var/mob/screenmob = viewmob || mymob @@ -217,36 +203,41 @@ var/our_speed = parallax_layer.speed var/change_x var/change_y + var/old_x = parallax_layer.offset_x + var/old_y = parallax_layer.offset_y if(parallax_layer.absolute) // We use change here so the typically large absolute objects (just lavaland for now) don't jitter so much - change_x = (posobj.x - SSparallax.planet_x_offset) * our_speed + parallax_layer.offset_x - change_y = (posobj.y - SSparallax.planet_y_offset) * our_speed + parallax_layer.offset_y + change_x = (posobj.x - SSparallax.planet_x_offset) * our_speed + old_x + change_y = (posobj.y - SSparallax.planet_y_offset) * our_speed + old_y else change_x = offset_x * our_speed change_y = offset_y * our_speed // This is how we tile parralax sprites // It doesn't use change because we really don't want to animate this - if(parallax_layer.offset_x - change_x > 240) + if(old_x - change_x > 240) parallax_layer.offset_x -= 480 - else if(parallax_layer.offset_x - change_x < -240) + parallax_layer.pixel_w = parallax_layer.offset_x + else if(old_x - change_x < -240) parallax_layer.offset_x += 480 - if(parallax_layer.offset_y - change_y > 240) + parallax_layer.pixel_w = parallax_layer.offset_x + if(old_y - change_y > 240) parallax_layer.offset_y -= 480 - else if(parallax_layer.offset_y - change_y < -240) + parallax_layer.pixel_z = parallax_layer.offset_y + else if(old_y - change_y < -240) parallax_layer.offset_y += 480 + parallax_layer.pixel_z = parallax_layer.offset_y - // Now that we have our offsets, let's do our positioning parallax_layer.offset_x -= change_x parallax_layer.offset_y -= change_y - - parallax_layer.screen_loc = "CENTER-7:[round(parallax_layer.offset_x, 1)],CENTER-7:[round(parallax_layer.offset_y, 1)]" - - // We're going to use a transform to "glide" that last movement out, so it looks nicer + // Now that we have our offsets, let's do our positioning + // We're going to use an animate to "glide" that last movement out, so it looks nicer // Don't do any animates if we're not actually moving enough distance yeah? thanks lad if(run_parralax && (largest_change * our_speed > 1)) - parallax_layer.transform = matrix(1,0,change_x, 0,1,change_y) - animate(parallax_layer, transform=matrix(), time = glide_rate) + animate(parallax_layer, pixel_w = round(parallax_layer.offset_x, 1), pixel_z = round(parallax_layer.offset_y, 1), time = glide_rate) + else + parallax_layer.pixel_w = round(parallax_layer.offset_x, 1) + parallax_layer.pixel_z = round(parallax_layer.offset_y, 1) /atom/movable/proc/update_parallax_contents() for(var/mob/client_mob as anything in client_mobs_in_contents) @@ -258,6 +249,15 @@ var/area/areaobj = get_area(client.eye) hud_used.set_parallax_movedir(areaobj.parallax_movedir, TRUE) +// Root object for parallax, all parallax layers are drawn onto this +INITIALIZE_IMMEDIATE(/atom/movable/screen/parallax_home) +/atom/movable/screen/parallax_home + icon = null + blend_mode = BLEND_ADD + plane = PLANE_SPACE_PARALLAX + screen_loc = "CENTER-7,CENTER-7" + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + // We need parallax to always pass its args down into initialize, so we immediate init it INITIALIZE_IMMEDIATE(/atom/movable/screen/parallax_layer) /atom/movable/screen/parallax_layer @@ -266,9 +266,9 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/parallax_layer) var/offset_x = 0 var/offset_y = 0 var/absolute = FALSE + appearance_flags = APPEARANCE_UI | KEEP_TOGETHER blend_mode = BLEND_ADD plane = PLANE_SPACE_PARALLAX - screen_loc = "CENTER-7,CENTER-7" mouse_opacity = MOUSE_OPACITY_TRANSPARENT /atom/movable/screen/parallax_layer/Initialize(mapload, datum/hud/hud_owner, template = FALSE) @@ -302,15 +302,17 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/parallax_layer) // Turn the view size into a grid of correctly scaled overlays var/list/viewscales = getviewsize(view) - var/countx = CEILING((viewscales[1] / 2) * parallax_scaler, 1) + 1 - var/county = CEILING((viewscales[2] / 2) * parallax_scaler, 1) + 1 + // This could be half the size but we need to provide space for parallax movement on mob movement, and movement on scroll from shuttles, so like this instead + var/countx = (CEILING((viewscales[1] / 2) * parallax_scaler, 1) + 1) + var/county = (CEILING((viewscales[2] / 2) * parallax_scaler, 1) + 1) var/list/new_overlays = new for(var/x in -countx to countx) for(var/y in -county to county) if(x == 0 && y == 0) continue var/mutable_appearance/texture_overlay = mutable_appearance(icon, icon_state) - texture_overlay.transform = matrix(1, 0, x*480, 0, 1, y*480) + texture_overlay.pixel_w += 480 * x + texture_overlay.pixel_z += 480 * y new_overlays += texture_overlay cut_overlays() add_overlay(new_overlays) diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index ae7ac6fee91..a9598461793 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -196,39 +196,7 @@ if(!R.client) return - if(R.shown_robot_modules && screenmob.hud_used.hud_shown) - //Modules display is shown - screenmob.client.screen += module_store_icon //"store" icon - - if(!R.model.modules) - to_chat(usr, span_warning("Selected model has no modules to select!")) - return - - if(!R.robot_modules_background) - return - - var/display_rows = max(CEILING(length(R.model.get_inactive_modules()) / 8, 1),1) - R.robot_modules_background.screen_loc = "CENTER-4:16,SOUTH+1:7 to CENTER+3:16,SOUTH+[display_rows]:7" - screenmob.client.screen += R.robot_modules_background - - var/x = -4 //Start at CENTER-4,SOUTH+1 - var/y = 1 - - for(var/atom/movable/A in R.model.get_inactive_modules()) - //Module is not currently active - screenmob.client.screen += A - if(x < 0) - A.screen_loc = "CENTER[x]:16,SOUTH+[y]:7" - else - A.screen_loc = "CENTER+[x]:16,SOUTH+[y]:7" - SET_PLANE_IMPLICIT(A, ABOVE_HUD_PLANE) - - x++ - if(x == 4) - x = -4 - y++ - - else + if(!R.shown_robot_modules || !screenmob.hud_used.hud_shown) //Modules display is hidden screenmob.client.screen -= module_store_icon //"store" icon @@ -237,6 +205,41 @@ screenmob.client.screen -= A R.shown_robot_modules = 0 screenmob.client.screen -= R.robot_modules_background + return + + //Modules display is shown + screenmob.client.screen += module_store_icon //"store" icon + + if(!R.model.modules) + to_chat(usr, span_warning("Selected model has no modules to select!")) + return + + if(!R.robot_modules_background) + return + + var/list/usable_modules = R.model.get_usable_modules() + + var/display_rows = max(CEILING(length(usable_modules) / 8, 1),1) + R.robot_modules_background.screen_loc = "CENTER-4:16,SOUTH+1:7 to CENTER+3:16,SOUTH+[display_rows]:7" + screenmob.client.screen += R.robot_modules_background + + for(var/i in 1 to length(usable_modules)) + var/atom/movable/A = usable_modules[i] + if(A in R.held_items) + //Module is currently active + continue + + // Arrange in a grid x=-4 to 3 and y=1 to display_rows + var/x = (i - 1) % 8 - 4 + var/y = floor((i - 1) / 8) + 1 + + screenmob.client.screen += A + if(x < 0) + A.screen_loc = "CENTER[x]:16,SOUTH+[y]:7" + else + A.screen_loc = "CENTER+[x]:16,SOUTH+[y]:7" + SET_PLANE_IMPLICIT(A, ABOVE_HUD_PLANE) + /datum/hud/robot/persistent_inventory_update(mob/viewer) if(!mymob) diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 34bfaf7acd2..48952d99b8d 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -793,7 +793,7 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/splash) food_image = image(icon = food_icon, icon_state = food_icon_state, pixel_x = -5) food_image.plane = plane food_image.appearance_flags |= KEEP_APART // To be unaffected by filters applied to src - food_image.add_filter("simple_outline", 2, outline_filter(1, COLOR_BLACK)) + food_image.add_filter("simple_outline", 2, outline_filter(1, COLOR_BLACK, OUTLINE_SHARP)) underlays += food_image // To be below filters applied to src SetInvisibility(INVISIBILITY_ABSTRACT, name) // Start invisible, update later diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index 6512ca6b97f..d7da4d84546 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -44,13 +44,17 @@ SUBSYSTEM_DEF(blackbox) return var/playercount = LAZYLEN(GLOB.player_list) var/admincount = GLOB.admins.len - var/datum/db_query/query_record_playercount = SSdbcore.NewQuery(/* SKYRAT EDIT CHANGE - MULTISERVER */{" + /* // SKYRAT EDIT CHANGE - MULTISERVER - ORIGINAL: + var/datum/db_query/query_record_playercount = SSdbcore.NewQuery({" + INSERT INTO [format_table_name("legacy_population")] (playercount, admincount, time, server_ip, server_port, round_id) + VALUES (:playercount, :admincount, NOW(), INET_ATON(:server_ip), :server_port, :round_id) + */ + var/datum/db_query/query_record_playercount = SSdbcore.NewQuery({" INSERT INTO [format_table_name("legacy_population")] (playercount, admincount, time, server_name, server_ip, server_port, round_id) - VALUES (:playercount, :admincount, :time, :server_name, INET_ATON(:server_ip), :server_port, :round_id) + VALUES (:playercount, :admincount, NOW(), :server_name, INET_ATON(:server_ip), :server_port, :round_id) "}, list( "playercount" = playercount, "admincount" = admincount, - "time" = SQLtime(), "server_name" = CONFIG_GET(string/serversqlname), // SKYRAT EDIT ADDITION - MULTISERVER "server_ip" = world.internet_address || "0", "server_port" = "[world.port]", @@ -299,7 +303,7 @@ Versioning var/datum/db_query/query_log_ahelp = SSdbcore.NewQuery({" INSERT INTO [format_table_name("ticket")] (ticket, action, message, recipient, sender, server_ip, server_port, round_id, timestamp, urgent) - VALUES (:ticket, :action, :message, :recipient, :sender, INET_ATON(:server_ip), :server_port, :round_id, :time, :urgent) + VALUES (:ticket, :action, :message, :recipient, :sender, INET_ATON(:server_ip), :server_port, :round_id, NOW(), :urgent) "}, list( "ticket" = ticket, "action" = action, @@ -309,7 +313,6 @@ Versioning "server_ip" = world.internet_address || "0", "server_port" = world.port, "round_id" = GLOB.round_id, - "time" = SQLtime(), "urgent" = urgent, )) query_log_ahelp.Execute() @@ -336,9 +339,14 @@ Versioning if(!SSdbcore.Connect()) return - var/datum/db_query/query_report_death = SSdbcore.NewQuery(/* SKYRAT EDIT CHANGE - MULTISERVER */{" +/* SKYRAT EDIT CHANGE - MULTISERVER - ORIGINAL: + var/datum/db_query/query_report_death = SSdbcore.NewQuery({" + INSERT INTO [format_table_name("death")] (pod, x_coord, y_coord, z_coord, mapname, server_ip, server_port, round_id, tod, job, special, name, byondkey, laname, lakey, bruteloss, fireloss, brainloss, oxyloss, toxloss, staminaloss, last_words, suicide) + VALUES (:pod, :x_coord, :y_coord, :z_coord, :map, INET_ATON(:internet_address), :port, :round_id, NOW(), :job, :special, :name, :key, :laname, :lakey, :brute, :fire, :brain, :oxy, :tox, :stamina, :last_words, :suicide) +*/ + var/datum/db_query/query_report_death = SSdbcore.NewQuery({" INSERT INTO [format_table_name("death")] (pod, x_coord, y_coord, z_coord, mapname, server_name, server_ip, server_port, round_id, tod, job, special, name, byondkey, laname, lakey, bruteloss, fireloss, brainloss, oxyloss, toxloss, staminaloss, last_words, suicide) - VALUES (:pod, :x_coord, :y_coord, :z_coord, :map, :server_name, INET_ATON(:internet_address), :port, :round_id, :time, :job, :special, :name, :key, :laname, :lakey, :brute, :fire, :brain, :oxy, :tox, :clone, :stamina, :last_words, :suicide) + VALUES (:pod, :x_coord, :y_coord, :z_coord, :map, :server_name, INET_ATON(:internet_address), :port, :round_id, NOW(), :job, :special, :name, :key, :laname, :lakey, :brute, :fire, :brain, :oxy, :tox, :clone, :stamina, :last_words, :suicide) "}, list( "name" = L.real_name, "key" = L.ckey, @@ -363,7 +371,6 @@ Versioning "internet_address" = world.internet_address || "0", "port" = "[world.port]", "round_id" = GLOB.round_id, - "time" = SQLtime(), )) if(query_report_death) query_report_death.Execute(async = TRUE) @@ -394,7 +401,7 @@ Versioning :message, :fine, :paid, - :timestamp + NOW() ) ON DUPLICATE KEY UPDATE paid = paid + VALUES(paid)"}, list( "server_ip" = world.internet_address || "0", @@ -408,7 +415,6 @@ Versioning "message" = message, "fine" = fine, "paid" = paid, - "timestamp" = SQLtime() )) if(query_report_citation) query_report_citation.Execute(async = TRUE) diff --git a/code/controllers/subsystem/dynamic/dynamic.dm b/code/controllers/subsystem/dynamic/dynamic.dm index 254034af08c..cfe093eb11b 100644 --- a/code/controllers/subsystem/dynamic/dynamic.dm +++ b/code/controllers/subsystem/dynamic/dynamic.dm @@ -19,6 +19,8 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) GLOBAL_LIST_EMPTY(dynamic_station_traits) /// Rulesets which have been forcibly enabled or disabled GLOBAL_LIST_EMPTY(dynamic_forced_rulesets) +/// Bitflags used during init by Dynamic to determine which rulesets we're allowed to use, used by station traits for gamemode-esque experiences +GLOBAL_VAR_INIT(dynamic_ruleset_categories, RULESET_CATEGORY_DEFAULT) SUBSYSTEM_DEF(dynamic) name = "Dynamic" @@ -646,7 +648,6 @@ SUBSYSTEM_DEF(dynamic) log_admin(concatenated_message) to_chat(GLOB.admins, concatenated_message) - /// Initializes the internal ruleset variables /datum/controller/subsystem/dynamic/proc/setup_rulesets() midround_rules = init_rulesets(/datum/dynamic_ruleset/midround) @@ -664,6 +665,9 @@ SUBSYSTEM_DEF(dynamic) if (initial(ruleset_type.weight) == 0) continue + if(!(initial(ruleset_type.ruleset_category) & GLOB.dynamic_ruleset_categories)) + continue + var/ruleset = new ruleset_type configure_ruleset(ruleset) rulesets += ruleset diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets.dm b/code/controllers/subsystem/dynamic/dynamic_rulesets.dm index 0ca3c84bb68..8460307009e 100644 --- a/code/controllers/subsystem/dynamic/dynamic_rulesets.dm +++ b/code/controllers/subsystem/dynamic/dynamic_rulesets.dm @@ -83,6 +83,8 @@ /// A list, or null, of templates that the ruleset depends on to function correctly var/list/ruleset_lazy_templates + /// In what categories is this ruleset allowed to run? Used by station traits + var/ruleset_category = RULESET_CATEGORY_DEFAULT /datum/dynamic_ruleset/New() // Rulesets can be instantiated more than once, such as when an admin clicks diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm b/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm index 273e1ebc90e..c8cdddf0fe7 100644 --- a/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm +++ b/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm @@ -349,6 +349,7 @@ antag_datum = /datum/antagonist/wizard antag_flag = ROLE_WIZARD_MIDROUND antag_flag_override = ROLE_WIZARD + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS required_enemies = list(2,2,1,1,1,1,1,0,0,0) required_candidates = 1 weight = 1 @@ -377,6 +378,7 @@ antag_flag = ROLE_OPERATIVE_MIDROUND antag_flag_override = ROLE_OPERATIVE antag_datum = /datum/antagonist/nukeop + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS enemy_roles = list( JOB_AI, JOB_CYBORG, @@ -431,6 +433,7 @@ midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY antag_datum = /datum/antagonist/blob antag_flag = ROLE_BLOB + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS required_enemies = list(2,2,1,1,1,1,1,0,0,0) required_candidates = 1 minimum_round_time = 35 MINUTES @@ -450,6 +453,7 @@ antag_datum = /datum/antagonist/blob/infection antag_flag = ROLE_BLOB_INFECTION antag_flag_override = ROLE_BLOB + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS protected_roles = list( JOB_CAPTAIN, JOB_DETECTIVE, @@ -502,6 +506,7 @@ midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY antag_datum = /datum/antagonist/xeno antag_flag = ROLE_ALIEN + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS required_enemies = list(2,2,1,1,1,1,1,0,0,0) required_candidates = 1 minimum_round_time = 40 MINUTES @@ -550,6 +555,7 @@ antag_datum = /datum/antagonist/nightmare antag_flag = ROLE_NIGHTMARE antag_flag_override = ROLE_ALIEN + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS required_enemies = list(2,2,1,1,1,1,1,0,0,0) required_candidates = 1 weight = 3 @@ -585,7 +591,7 @@ midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY antag_datum = /datum/antagonist/space_dragon antag_flag = ROLE_SPACE_DRAGON - antag_flag_override = ROLE_SPACE_DRAGON + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS required_enemies = list(2,2,1,1,1,1,1,0,0,0) required_candidates = 1 weight = 4 @@ -625,6 +631,7 @@ midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT antag_datum = /datum/antagonist/abductor antag_flag = ROLE_ABDUCTOR + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS required_enemies = list(2,2,1,1,1,1,1,0,0,0) required_candidates = 2 required_applicants = 2 @@ -662,6 +669,7 @@ midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY antag_datum = /datum/antagonist/ninja antag_flag = ROLE_NINJA + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS required_enemies = list(2,2,1,1,1,1,1,0,0,0) required_candidates = 1 weight = 4 @@ -701,6 +709,7 @@ name = "Spiders" midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY antag_flag = ROLE_SPIDER + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS required_type = /mob/dead/observer required_enemies = list(2,2,1,1,1,1,1,0,0,0) required_candidates = 0 @@ -718,6 +727,7 @@ /datum/dynamic_ruleset/midround/from_ghosts/revenant name = "Revenant" midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS antag_datum = /datum/antagonist/revenant antag_flag = ROLE_REVENANT required_enemies = list(2,2,1,1,1,1,1,0,0,0) @@ -764,30 +774,11 @@ log_game("[key_name(revenant)] was spawned as a revenant by the midround ruleset.") return revenant -/// Midround Sentient Disease Ruleset (From Ghosts) -/datum/dynamic_ruleset/midround/from_ghosts/sentient_disease - name = "Sentient Disease" - midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY - antag_datum = /datum/antagonist/disease - antag_flag = ROLE_SENTIENT_DISEASE - required_candidates = 1 - minimum_players = 25 - weight = 4 - cost = 8 - repeatable = TRUE - -/datum/dynamic_ruleset/midround/from_ghosts/sentient_disease/generate_ruleset_body(mob/applicant) - var/mob/camera/disease/virus = new /mob/camera/disease(SSmapping.get_station_center()) - virus.key = applicant.key - INVOKE_ASYNC(virus, TYPE_PROC_REF(/mob/camera/disease, pick_name)) - message_admins("[ADMIN_LOOKUPFLW(virus)] has been made into a sentient disease by the midround ruleset.") - log_game("[key_name(virus)] was spawned as a sentient disease by the midround ruleset.") - return virus - /// Midround Space Pirates Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/pirates name = "Space Pirates" midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS antag_flag = "Space Pirates" required_type = /mob/dead/observer required_enemies = list(2,2,1,1,1,1,1,0,0,0) @@ -810,6 +801,7 @@ /datum/dynamic_ruleset/midround/dangerous_pirates name = "Dangerous Space Pirates" midround_ruleset_style = MIDROUND_RULESET_STYLE_HEAVY + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS antag_flag = "Space Pirates" required_type = /mob/dead/observer required_enemies = list(2,2,1,1,1,1,1,0,0,0) @@ -834,6 +826,7 @@ midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT antag_datum = /datum/antagonist/obsessed antag_flag = ROLE_OBSESSED + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS restricted_roles = list( JOB_AI, JOB_CYBORG, @@ -877,6 +870,7 @@ antag_datum = /datum/antagonist/changeling/space antag_flag = ROLE_CHANGELING_MIDROUND antag_flag_override = ROLE_CHANGELING + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS required_type = /mob/dead/observer required_enemies = list(2,2,1,1,1,1,1,0,0,0) required_candidates = 1 @@ -897,6 +891,7 @@ midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT antag_datum = /datum/antagonist/paradox_clone antag_flag = ROLE_PARADOX_CLONE + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS enemy_roles = list( JOB_CAPTAIN, JOB_DETECTIVE, diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm b/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm index cf72ccc6411..2131671ddf1 100644 --- a/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm +++ b/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm @@ -255,6 +255,7 @@ GLOBAL_VAR_INIT(revolutionary_win, FALSE) name = "Wizard" antag_flag = ROLE_WIZARD antag_datum = /datum/antagonist/wizard + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS flags = HIGH_IMPACT_RULESET minimum_required_age = 14 restricted_roles = list( @@ -396,6 +397,7 @@ GLOBAL_VAR_INIT(revolutionary_win, FALSE) /datum/dynamic_ruleset/roundstart/nuclear name = "Nuclear Emergency" antag_flag = ROLE_OPERATIVE + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS antag_datum = /datum/antagonist/nukeop var/datum/antagonist/antag_leader_datum = /datum/antagonist/nukeop/leader minimum_required_age = 14 @@ -619,6 +621,7 @@ GLOBAL_VAR_INIT(revolutionary_win, FALSE) antag_datum = /datum/antagonist/nukeop/clownop antag_flag = ROLE_CLOWN_OPERATIVE antag_flag_override = ROLE_OPERATIVE + ruleset_category = parent_type::ruleset_category | RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS antag_leader_datum = /datum/antagonist/nukeop/leader/clownop requirements = list(101,101,101,101,101,101,101,101,101,101) required_role = ROLE_CLOWN_OPERATIVE diff --git a/code/controllers/subsystem/ipintel.dm b/code/controllers/subsystem/ipintel.dm index f49ad56fca5..db397d51474 100644 --- a/code/controllers/subsystem/ipintel.dm +++ b/code/controllers/subsystem/ipintel.dm @@ -106,7 +106,7 @@ SUBSYSTEM_DEF(ipintel) intel.result = data["result"] if(istext(intel.result)) intel.result = text2num(intel.result) - intel.date = SQLtime() + intel.date = ISOtime() intel.address = address cached_queries[address] = intel add_intel_to_database(intel) diff --git a/code/controllers/subsystem/profiler.dm b/code/controllers/subsystem/profiler.dm index dc06c2bc6ae..46d5b0fd57b 100644 --- a/code/controllers/subsystem/profiler.dm +++ b/code/controllers/subsystem/profiler.dm @@ -1,11 +1,8 @@ -#define PROFILER_FILENAME "profiler.json" -#define SENDMAPS_FILENAME "sendmaps.json" - SUBSYSTEM_DEF(profiler) name = "Profiler" init_order = INIT_ORDER_PROFILER runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY - wait = 3000 + wait = 300 SECONDS var/fetch_cost = 0 var/write_cost = 0 @@ -56,12 +53,12 @@ SUBSYSTEM_DEF(profiler) if(!length(current_profile_data)) //Would be nice to have explicit proc to check this stack_trace("Warning, profiling stopped manually before dump.") - var/prof_file = file("[GLOB.log_directory]/[PROFILER_FILENAME]") + var/prof_file = file("[GLOB.log_directory]/profiler/profiler-[round(world.time * 0.1, 10)].json") if(fexists(prof_file)) fdel(prof_file) if(!length(current_sendmaps_data)) //Would be nice to have explicit proc to check this stack_trace("Warning, sendmaps profiling stopped manually before dump.") - var/sendmaps_file = file("[GLOB.log_directory]/[SENDMAPS_FILENAME]") + var/sendmaps_file = file("[GLOB.log_directory]/profiler/sendmaps-[round(world.time * 0.1, 10)].json") if(fexists(sendmaps_file)) fdel(sendmaps_file) @@ -70,5 +67,3 @@ SUBSYSTEM_DEF(profiler) WRITE_FILE(sendmaps_file, current_sendmaps_data) write_cost = MC_AVERAGE(write_cost, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) -#undef PROFILER_FILENAME -#undef SENDMAPS_FILENAME diff --git a/code/controllers/subsystem/time_track.dm b/code/controllers/subsystem/time_track.dm index ab6d5fb2ed5..aaaf5520e0f 100644 --- a/code/controllers/subsystem/time_track.dm +++ b/code/controllers/subsystem/time_track.dm @@ -123,7 +123,7 @@ SUBSYSTEM_DEF(time_track) send_maps_values += packet["value"] send_maps_values += packet["calls"] - SSblackbox.record_feedback("associative", "time_dilation_current", 1, list("[SQLtime()]" = list("current" = "[time_dilation_current]", "avg_fast" = "[time_dilation_avg_fast]", "avg" = "[time_dilation_avg]", "avg_slow" = "[time_dilation_avg_slow]"))) + SSblackbox.record_feedback("associative", "time_dilation_current", 1, list("[ISOtime()]" = list("current" = "[time_dilation_current]", "avg_fast" = "[time_dilation_avg_fast]", "avg" = "[time_dilation_avg]", "avg_slow" = "[time_dilation_avg_slow]"))) log_perf( list( world.time, diff --git a/code/datums/actions/cooldown_action.dm b/code/datums/actions/cooldown_action.dm index 18fe9f22e80..1c290c5f224 100644 --- a/code/datums/actions/cooldown_action.dm +++ b/code/datums/actions/cooldown_action.dm @@ -171,6 +171,9 @@ next_use_time = world.time + override_cooldown_time else next_use_time = world.time + cooldown_time + // Don't start a cooldown if we have a cooldown time of 0 seconds + if(next_use_time == world.time) + return build_all_button_icons(UPDATE_BUTTON_STATUS) START_PROCESSING(SSfastprocess, src) diff --git a/code/datums/actions/mobs/ground_slam.dm b/code/datums/actions/mobs/ground_slam.dm new file mode 100644 index 00000000000..e00799196b5 --- /dev/null +++ b/code/datums/actions/mobs/ground_slam.dm @@ -0,0 +1,32 @@ +/datum/action/cooldown/mob_cooldown/ground_slam + name = "Ground Slam" + button_icon = 'icons/mob/actions/actions_items.dmi' + button_icon_state = "sniper_zoom" + desc = "Slams the ground sending out a shockwave around you." + cooldown_time = 10 SECONDS + /// The range of the slam + var/range = 5 + /// The delay before the shockwave expands it's range + var/delay = 3 + /// How far hit targets are thrown + var/throw_range = 8 + /// Whether the target can move or not while the slam is occurring + var/can_move = FALSE + +/datum/action/cooldown/mob_cooldown/ground_slam/Activate(atom/target_atom) + disable_cooldown_actions() + RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(on_move), override = TRUE) + do_slam(target_atom) + UnregisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE) + StartCooldown() + enable_cooldown_actions() + return TRUE + +/// Slams the ground around the source throwing back enemies caught nearby, delay is for the radius increase +/datum/action/cooldown/mob_cooldown/ground_slam/proc/do_slam(atom/target) + wendigo_slam(owner, range, delay, throw_range) + +/datum/action/cooldown/mob_cooldown/ground_slam/proc/on_move(atom/source, atom/new_loc) + SIGNAL_HANDLER + if(!can_move) + return COMPONENT_MOVABLE_BLOCK_PRE_MOVE diff --git a/code/datums/actions/mobs/projectileattack.dm b/code/datums/actions/mobs/projectileattack.dm index be7eff89633..d8f8e6bdf64 100644 --- a/code/datums/actions/mobs/projectileattack.dm +++ b/code/datums/actions/mobs/projectileattack.dm @@ -16,14 +16,23 @@ var/default_projectile_spread = 0 /// The multiplier to the projectiles speed (a value of 2 makes it twice as slow, 0.5 makes it twice as fast) var/projectile_speed_multiplier = 1 + /// Whether the target can move or not while the attack is occurring + var/can_move = TRUE /datum/action/cooldown/mob_cooldown/projectile_attack/Activate(atom/target_atom) disable_cooldown_actions() + RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(on_move), override = TRUE) attack_sequence(owner, target_atom) + UnregisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE) StartCooldown() enable_cooldown_actions() return TRUE +/datum/action/cooldown/mob_cooldown/projectile_attack/proc/on_move(atom/source, atom/new_loc) + SIGNAL_HANDLER + if(!can_move) + return COMPONENT_MOVABLE_BLOCK_PRE_MOVE + /datum/action/cooldown/mob_cooldown/projectile_attack/proc/attack_sequence(mob/living/firer, atom/target) shoot_projectile(firer, target, null, firer, rand(-default_projectile_spread, default_projectile_spread), null) @@ -151,6 +160,25 @@ SLEEP_CHECK_DEATH(1.5 SECONDS, owner) return ..() +/datum/action/cooldown/mob_cooldown/projectile_attack/spiral_shots/wendigo + cooldown_time = 10 SECONDS + projectile_type = /obj/projectile/colossus/wendigo_shockwave/spiral + can_move = FALSE + +/datum/action/cooldown/mob_cooldown/projectile_attack/spiral_shots/wendigo/create_spiral_attack(mob/living/firer, atom/target, negative = pick(TRUE, FALSE)) + wendigo_scream(firer) + var/shots_spiral = 40 + var/angle_to_target = get_angle(firer, target) + var/spiral_direction = pick(-1, 1) + for(var/shot in 1 to shots_spiral) + var/shots_per_tick = 5 - enraged * 3 + var/angle_change = (5 + enraged * shot / 6) * spiral_direction + for(var/count in 1 to shots_per_tick) + var/angle = angle_to_target + shot * angle_change + count * 360 / shots_per_tick + shoot_projectile(firer, target, angle, firer, null, null) + SLEEP_CHECK_DEATH(1, firer) + SLEEP_CHECK_DEATH(3 SECONDS, firer) + /datum/action/cooldown/mob_cooldown/projectile_attack/random_aoe name = "All Directions" button_icon = 'icons/effects/effects.dmi' @@ -192,6 +220,13 @@ shoot_projectile(firer, target, null, firer, spread, null) +/datum/action/cooldown/mob_cooldown/projectile_attack/shotgun_blast/wendigo + cooldown_time = 10 SECONDS + projectile_type = /obj/projectile/colossus/wendigo_shockwave + shot_angles = list(-20, -10, 0, 10, 20) + projectile_speed_multiplier = 4 + + /datum/action/cooldown/mob_cooldown/projectile_attack/shotgun_blast/colossus cooldown_time = 0.5 SECONDS @@ -327,3 +362,54 @@ colossus.telegraph() colossus.dir_shots.attack_sequence(firer, target) SLEEP_CHECK_DEATH(1 SECONDS, firer) + +/datum/action/cooldown/mob_cooldown/projectile_attack/alternating_circle + name = "Alternating Shots" + button_icon = 'icons/mob/actions/actions_items.dmi' + button_icon_state = "sniper_zoom" + desc = "Fires projectiles around you in an alternating fashion." + cooldown_time = 10 SECONDS + projectile_type = /obj/projectile/colossus/wendigo_shockwave + can_move = FALSE + var/enraged = FALSE + +/datum/action/cooldown/mob_cooldown/projectile_attack/alternating_circle/attack_sequence(mob/living/firer, atom/target) + wendigo_scream(firer) + if(enraged) + projectile_speed_multiplier = 1 + else + projectile_speed_multiplier = 1.5 + var/shots_per = 24 + for(var/shoot_times in 1 to 8) + var/offset = shoot_times % 2 + for(var/shot in 1 to shots_per) + var/angle = shot * 360 / shots_per + (offset * 360 / shots_per) * 0.5 + shoot_projectile(firer, target, angle, firer, null, null) + SLEEP_CHECK_DEATH(6 - enraged * 2, firer) + SLEEP_CHECK_DEATH(3 SECONDS, firer) + +/datum/action/cooldown/mob_cooldown/projectile_attack/wave + name = "Wave Shots" + button_icon = 'icons/mob/actions/actions_items.dmi' + button_icon_state = "sniper_zoom" + desc = "Fires projectiles around you in a circular wave." + cooldown_time = 10 SECONDS + projectile_type = /obj/projectile/colossus/wendigo_shockwave/wave + can_move = FALSE + +/datum/action/cooldown/mob_cooldown/projectile_attack/wave/attack_sequence(mob/living/firer, atom/target) + wendigo_scream(firer) + var/shots_per = 7 + var/difference = 360 / shots_per + var/wave_direction = pick(-1, 1) + switch(wave_direction) + if(-1) + projectile_type = /obj/projectile/colossus/wendigo_shockwave/wave/alternate + if(1) + projectile_type = /obj/projectile/colossus/wendigo_shockwave/wave + for(var/shoot_times in 1 to 32) + for(var/shot in 1 to shots_per) + var/angle = shot * difference + shoot_times * 5 * wave_direction * -1 + shoot_projectile(firer, target, angle, firer, null, null) + SLEEP_CHECK_DEATH(2, firer) + SLEEP_CHECK_DEATH(3 SECONDS, firer) diff --git a/code/datums/actions/mobs/teleport.dm b/code/datums/actions/mobs/teleport.dm new file mode 100644 index 00000000000..7b7ffddf30b --- /dev/null +++ b/code/datums/actions/mobs/teleport.dm @@ -0,0 +1,25 @@ +/datum/action/cooldown/mob_cooldown/teleport + name = "Teleport" + button_icon = 'icons/mob/actions/actions_items.dmi' + button_icon_state = "sniper_zoom" + desc = "Allows you to teleport a certain distance away from a position in a random direction." + cooldown_time = 10 SECONDS + /// The distance from the target + var/radius = 6 + +/datum/action/cooldown/mob_cooldown/teleport/Activate(atom/target_atom) + disable_cooldown_actions() + teleport_to(target_atom) + StartCooldown() + enable_cooldown_actions() + return TRUE + +/// Handles randomly teleporting the owner around the target in view +/datum/action/cooldown/mob_cooldown/teleport/proc/teleport_to(atom/teleport_target) + var/list/possible_ends = view(radius, teleport_target.loc) - view(radius - 1, teleport_target.loc) + for(var/turf/closed/cant_teleport_turf in possible_ends) + possible_ends -= cant_teleport_turf + if(!possible_ends.len) + return + var/turf/end = pick(possible_ends) + do_teleport(owner, end, 0, channel=TELEPORT_CHANNEL_BLUESPACE, forced = TRUE) diff --git a/code/datums/ai/_ai_controller.dm b/code/datums/ai/_ai_controller.dm index 1a981f90aed..3753b077a51 100644 --- a/code/datums/ai/_ai_controller.dm +++ b/code/datums/ai/_ai_controller.dm @@ -473,7 +473,10 @@ multiple modular subtrees with behaviors /// Use this proc to define how your controller defines what access the pawn has for the sake of pathfinding. Return the access list you want to use /datum/ai_controller/proc/get_access() - return + if(!isliving(pawn)) + return + var/mob/living/living_pawn = pawn + return living_pawn.get_access() ///Returns the minimum required distance to preform one of our current behaviors. Honestly this should just be cached or something but fuck you /datum/ai_controller/proc/get_minimum_distance() diff --git a/code/datums/ai/basic_mobs/basic_subtrees/express_happiness.dm b/code/datums/ai/basic_mobs/basic_subtrees/express_happiness.dm index 74ec9d98191..6cae6132d36 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/express_happiness.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/express_happiness.dm @@ -7,7 +7,7 @@ var/happiness_key = BB_BASIC_HAPPINESS ///list of emotions we relay when happy var/static/list/happy_emotions = list( - "celebrate happily!", + "celebrates happily!", "dances around in excitement!", ) ///our moderate emotions diff --git a/code/datums/ai/basic_mobs/basic_subtrees/play_with_owners.dm b/code/datums/ai/basic_mobs/basic_subtrees/play_with_owners.dm new file mode 100644 index 00000000000..e27e984e706 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/play_with_owners.dm @@ -0,0 +1,21 @@ +/datum/ai_planning_subtree/find_and_hunt_target/play_with_owner + target_key = BB_OWNER_TARGET + hunting_behavior = /datum/ai_behavior/hunt_target/play_with_owner + finding_behavior = /datum/ai_behavior/find_hunt_target/find_owner + hunt_targets = list(/mob/living) + hunt_chance = 80 + hunt_range = 9 + +/datum/ai_behavior/find_hunt_target/find_owner + action_cooldown = 1 MINUTES + behavior_flags = AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION + +/datum/ai_behavior/find_hunt_target/find_owner/valid_dinner(mob/living/source, atom/friend, radius, datum/ai_controller/controller, seconds_per_tick) + return (friend != source) && (source.faction.Find(REF(friend))) && can_see(source, friend, radius) + +/datum/ai_behavior/hunt_target/play_with_owner + +/datum/ai_behavior/hunt_target/play_with_owner/target_caught(mob/living/hunter, atom/hunted) + var/list/interactions_list = hunter.ai_controller.blackboard[BB_INTERACTIONS_WITH_OWNER] + var/interaction_message = length(interactions_list) ? pick(interactions_list) : "Plays with" + hunter.manual_emote("[interaction_message] [hunted]!") diff --git a/code/datums/brain_damage/brain_trauma.dm b/code/datums/brain_damage/brain_trauma.dm index 79b2729c5c6..8f0f8cfb048 100644 --- a/code/datums/brain_damage/brain_trauma.dm +++ b/code/datums/brain_damage/brain_trauma.dm @@ -22,6 +22,7 @@ // Handles our references with our brain brain?.remove_trauma_from_traumas(src) if(owner) + log_game("[key_name_and_tag(owner)] has lost the following brain trauma: [type]") on_lose() owner = null return ..() diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm index e3891392d1a..cb20eee26e0 100644 --- a/code/datums/brain_damage/imaginary_friend.dm +++ b/code/datums/brain_damage/imaginary_friend.dm @@ -43,7 +43,7 @@ get_ghost() /datum/brain_trauma/special/imaginary_friend/proc/make_friend() - friend = new(get_turf(owner), owner) + friend = new(get_turf(owner)) /// Tries a poll for the imaginary friend /datum/brain_trauma/special/imaginary_friend/proc/get_ghost() @@ -65,6 +65,8 @@ return friend.key = ghost.key + friend.attach_to_owner(owner) + friend.setup_appearance() friend_initialized = TRUE friend.log_message("became [key_name(owner)]'s split personality.", LOG_GAME) message_admins("[ADMIN_LOOKUPFLW(friend)] became [ADMIN_LOOKUPFLW(owner)]'s split personality.") @@ -86,8 +88,6 @@ var/mob/living/owner var/bubble_icon = "default" - - /mob/camera/imaginary_friend/Login() . = ..() if(!. || !client) @@ -233,7 +233,6 @@ spans |= SPAN_SINGING var/eavesdrop_range = 0 - var/eavesdropped_message = "" if (message_mods[MODE_CUSTOM_SAY_ERASE_INPUT]) message = message_mods[MODE_CUSTOM_SAY_EMOTE] @@ -243,9 +242,7 @@ log_talk(message, LOG_WHISPER, tag="imaginary friend", forced_by = forced, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) spans |= SPAN_ITALICS eavesdrop_range = EAVESDROP_EXTRA_RANGE - // "This proc is dangerously laggy, avoid it or die" - // What other option do I have here? I guess I'll die - eavesdropped_message = stars(message) + range = WHISPER_RANGE else log_talk(message, LOG_SAY, tag="imaginary friend", forced_by = forced, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) @@ -257,11 +254,7 @@ Hear(rendered, src, language, message, null, spans, message_mods) // We always hear what we say var/group = owner.imaginary_group - src // The people in our group don't, so we have to exclude ourselves not to hear twice for(var/mob/person in group) - if(eavesdrop_range && get_dist(src, person) > WHISPER_RANGE + eavesdrop_range && !HAS_TRAIT(person, TRAIT_GOOD_HEARING)) - var/new_rendered = "[span_name("[name]")] [say_quote(say_emphasis(eavesdropped_message), spans, message_mods)]" - person.Hear(new_rendered, src, language, eavesdropped_message, null, spans, message_mods) - else - person.Hear(rendered, src, language, message, null, spans, message_mods) + person.Hear(null, src, language, message, null, spans, message_mods, range) // Speech bubble, but only for those who have runechat off var/list/speech_bubble_recipients = list() diff --git a/code/datums/components/aquarium_content.dm b/code/datums/components/aquarium_content.dm index 3e7e704638f..21e082399a8 100644 --- a/code/datums/components/aquarium_content.dm +++ b/code/datums/components/aquarium_content.dm @@ -23,7 +23,7 @@ /// Icon used for in aquarium sprite - var/icon = 'icons/obj/aquarium.dmi' + var/icon = 'icons/obj/aquarium/fish.dmi' /// If this is set this icon state will be used for the holder while icon_state will only be used for item/catalog. Transformation from source_width/height WON'T be applied. var/icon_state /// Applied to vc object only for use with greyscaled icons. @@ -61,7 +61,7 @@ var/animation_update_signals -/datum/component/aquarium_content/Initialize(animation_getter, animation_update_signals) +/datum/component/aquarium_content/Initialize(icon, animation_getter, animation_update_signals) if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE diff --git a/code/datums/components/bloody_spreader.dm b/code/datums/components/bloody_spreader.dm index b30000a115c..823bc5e9507 100644 --- a/code/datums/components/bloody_spreader.dm +++ b/code/datums/components/bloody_spreader.dm @@ -17,7 +17,7 @@ signals_to_add += list(COMSIG_ITEM_ATTACK, COMSIG_ITEM_ATTACK_ATOM, COMSIG_ITEM_HIT_REACT, COMSIG_ITEM_ATTACK_SELF, COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED) var/atom/atom_parent = parent if(atom_parent.atom_storage) - signals_to_add += list(COMSIG_STORAGE_STORED_ITEM) + signals_to_add += list(COMSIG_ATOM_STORED_ITEM) else if(isstructure(parent)) signals_to_add += list(COMSIG_ATOM_ATTACK_HAND) diff --git a/code/datums/components/boomerang.dm b/code/datums/components/boomerang.dm index 13169e4d0cd..eec7b4112aa 100644 --- a/code/datums/components/boomerang.dm +++ b/code/datums/components/boomerang.dm @@ -11,8 +11,10 @@ var/thrower_easy_catch_enabled = FALSE ///This cooldown prevents our 2 throwing signals from firing too often based on how we implement those signals within thrown impacts. COOLDOWN_DECLARE(last_boomerang_throw) + ///Adds an extra big of flavor text on examine. + var/examine_message -/datum/component/boomerang/Initialize(boomerang_throw_range, thrower_easy_catch_enabled) +/datum/component/boomerang/Initialize(boomerang_throw_range, thrower_easy_catch_enabled, examine_message) . = ..() if(!isitem(parent)) //Only items support being thrown around like a boomerang, feel free to make this apply to humans later on. return COMPONENT_INCOMPATIBLE @@ -22,14 +24,18 @@ src.boomerang_throw_range = boomerang_throw_range if(thrower_easy_catch_enabled) src.thrower_easy_catch_enabled = thrower_easy_catch_enabled + if(examine_message) + src.examine_message = examine_message /datum/component/boomerang/RegisterWithParent() RegisterSignal(parent, COMSIG_MOVABLE_POST_THROW, PROC_REF(prepare_throw)) //Collect data on current thrower and the throwing datum RegisterSignal(parent, COMSIG_MOVABLE_THROW_LANDED, PROC_REF(return_missed_throw)) RegisterSignal(parent, COMSIG_MOVABLE_IMPACT, PROC_REF(return_hit_throw)) + if(examine_message) + RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) /datum/component/boomerang/UnregisterFromParent() - UnregisterSignal(parent, list(COMSIG_MOVABLE_POST_THROW, COMSIG_MOVABLE_THROW_LANDED, COMSIG_MOVABLE_IMPACT)) + UnregisterSignal(parent, list(COMSIG_MOVABLE_POST_THROW, COMSIG_MOVABLE_THROW_LANDED, COMSIG_MOVABLE_IMPACT, COMSIG_ATOM_EXAMINE)) /** * Proc'd before the first thrown is performed in order to gather information regarding each throw as well as handle throw_mode as necessary. @@ -40,11 +46,13 @@ /datum/component/boomerang/proc/prepare_throw(datum/source, datum/thrownthing/throwingdatum, spin) SIGNAL_HANDLER var/mob/thrower = throwingdatum?.get_thrower() - if(thrower_easy_catch_enabled && thrower) - if(iscarbon(thrower)) - var/mob/living/carbon/carbon_mob = thrower - carbon_mob.throw_mode_on(THROW_MODE_TOGGLE) - return + if(thrower_easy_catch_enabled && iscarbon(thrower)) + var/mob/living/carbon/carbon_mob = thrower + carbon_mob.throw_mode_on(THROW_MODE_TOGGLE) + +/datum/component/boomerang/proc/on_examine(datum/source, mob/user, list/examine_list) + SIGNAL_HANDLER + examine_list += examine_message /** * Proc that triggers when the thrown boomerang hits an object. diff --git a/code/datums/components/crafting/chemistry.dm b/code/datums/components/crafting/chemistry.dm index 62504103eca..fc4d833be3f 100644 --- a/code/datums/components/crafting/chemistry.dm +++ b/code/datums/components/crafting/chemistry.dm @@ -120,6 +120,20 @@ ) category = CAT_CHEMISTRY + +/datum/crafting_recipe/chem_separator + name = "chemical separator" + result = /obj/structure/chem_separator + tool_behaviors = list(TOOL_WELDER) + time = 5 SECONDS + reqs = list( + /obj/item/stack/sheet/mineral/wood = 1, + /obj/item/stack/sheet/glass = 1, + /obj/item/burner = 1, + /obj/item/thermometer = 1, + ) + category = CAT_CHEMISTRY + /datum/crafting_recipe/improvised_chem_heater name = "Improvised chem heater" result = /obj/machinery/space_heater/improvised_chem_heater diff --git a/code/datums/components/echolocation.dm b/code/datums/components/echolocation.dm index 13ef8f4ed24..020c47ad875 100644 --- a/code/datums/components/echolocation.dm +++ b/code/datums/components/echolocation.dm @@ -1,14 +1,14 @@ /datum/component/echolocation /// Radius of our view. var/echo_range = 4 - /// Time between echolocations. - var/cooldown_time = 1.8 SECONDS + /// Time between echolocations. IMPORTANT!! The effective time in local and the effective time in live are very different. The second is noticeably slower, + var/cooldown_time = 1 SECONDS /// Time for the image to start fading out. - var/image_expiry_time = 1.4 SECONDS + var/image_expiry_time = 0.7 SECONDS /// Time for the image to fade in. - var/fade_in_time = 0.4 SECONDS + var/fade_in_time = 0.2 SECONDS /// Time for the image to fade out and delete itself. - var/fade_out_time = 0.4 SECONDS + var/fade_out_time = 0.3 SECONDS /// Are images static? If yes, spawns them on the turf and makes them not change location. Otherwise they change location and pixel shift with the original. var/images_are_static = TRUE /// With mobs that have this echo group in their echolocation receiver trait, we share echo images. @@ -105,7 +105,7 @@ for(var/mob/living/viewer in filtered) if(blocking_trait && HAS_TRAIT(viewer, blocking_trait)) continue - if(HAS_TRAIT_FROM(viewer, TRAIT_ECHOLOCATION_RECEIVER, echo_group)) + if(HAS_TRAIT_FROM(viewer, TRAIT_ECHOLOCATION_RECEIVER, echo_group) && isnull(receivers[viewer])) receivers[viewer] = list() for(var/atom/filtered_atom as anything in filtered) show_image(saved_appearances["[filtered_atom.icon]-[filtered_atom.icon_state]"] || generate_appearance(filtered_atom), filtered_atom, current_time) @@ -175,6 +175,7 @@ for(var/atom/rendered_atom as anything in receivers[echolocate_receiver]) if(receivers[echolocate_receiver][rendered_atom]["time"] <= from_when && echolocate_receiver.client) echolocate_receiver.client.images -= receivers[echolocate_receiver][rendered_atom]["image"] + receivers[echolocate_receiver] -= rendered_atom if(!length(receivers[echolocate_receiver])) receivers -= echolocate_receiver diff --git a/code/datums/components/fishing_spot.dm b/code/datums/components/fishing_spot.dm index 2763d583f81..fb20588f8c5 100644 --- a/code/datums/components/fishing_spot.dm +++ b/code/datums/components/fishing_spot.dm @@ -17,6 +17,7 @@ RegisterSignal(parent, COMSIG_FISHING_ROD_CAST, PROC_REF(handle_cast)) RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examined)) RegisterSignal(parent, COMSIG_ATOM_EXAMINE_MORE, PROC_REF(on_examined_more)) + ADD_TRAIT(parent, TRAIT_FISHING_SPOT, REF(src)) /datum/component/fishing_spot/Destroy() fish_source = null diff --git a/code/datums/components/food/decomposition.dm b/code/datums/components/food/decomposition.dm index c3195c05e13..acb44d4c9e9 100644 --- a/code/datums/components/food/decomposition.dm +++ b/code/datums/components/food/decomposition.dm @@ -1,8 +1,8 @@ //"Don't leave food on the floor, that's how we get ants" -#define DECOMPOSITION_TIME (20 MINUTES) //SKYRAT CHANGE, INCREASED TIME -#define DECOMPOSITION_TIME_RAW (15 MINUTES) //SKYRAT CHANGE, INCREASED TIME -#define DECOMPOSITION_TIME_GROSS (10 MINUTES) //SKYRAT CHANGE, INCREASED TIME +#define DECOMPOSITION_TIME (20 MINUTES) // SKYRAT EDIT CHANGE - ORIGINAL: #define DECOMPOSITION_TIME (10 MINUTES) +#define DECOMPOSITION_TIME_RAW (15 MINUTES) // SKYRAT EDIT CHANGE - ORIGINAL: #define DECOMPOSITION_TIME_RAW (5 MINUTES) +#define DECOMPOSITION_TIME_GROSS (10 MINUTES) // SKYRAT EDIT CHANGE, - ORIGINAL: #define DECOMPOSITION_TIME_GROSS (7 MINUTES) ///Makes things decompose when exposed to germs. Requires /datum/component/germ_sensitive to detect exposure. /datum/component/decomposition diff --git a/code/datums/components/infective.dm b/code/datums/components/infective.dm index fc2081481d9..0e5341eabbf 100644 --- a/code/datums/components/infective.dm +++ b/code/datums/components/infective.dm @@ -45,8 +45,6 @@ RegisterSignal(parent, COMSIG_GLASS_DRANK, PROC_REF(try_infect_drink)) if(isorgan(parent)) RegisterSignal(parent, COMSIG_ORGAN_IMPLANTED, PROC_REF(on_organ_insertion)) - else if(istype(parent, /obj/effect/decal/cleanable/blood/gibs)) - RegisterSignal(parent, COMSIG_GIBS_STREAK, PROC_REF(try_infect_streak)) /datum/component/infective/proc/on_organ_insertion(obj/item/organ/target, mob/living/carbon/receiver) SIGNAL_HANDLER @@ -180,6 +178,5 @@ COMSIG_ITEM_EQUIPPED, COMSIG_GLASS_DRANK, COMSIG_ORGAN_IMPLANTED, - COMSIG_GIBS_STREAK, )) qdel(GetComponent(/datum/component/connect_loc_behalf)) diff --git a/code/datums/components/profound_fisher.dm b/code/datums/components/profound_fisher.dm new file mode 100644 index 00000000000..73c12198777 --- /dev/null +++ b/code/datums/components/profound_fisher.dm @@ -0,0 +1,64 @@ +///component that allows player mobs to play the fishing minigame, non-player mobs will "pretend" fish +/datum/component/profound_fisher + ///the fishing rod this mob will use + var/obj/item/fishing_rod/mob_fisher/our_rod + ///if controlled by an AI, the things this mob can "pretend" fish + var/list/npc_fishing_preset + +/datum/component/profound_fisher/Initialize(list/npc_fishing_preset = list()) + if(!isliving(parent)) + return + our_rod = new(parent) + src.npc_fishing_preset = npc_fishing_preset + ADD_TRAIT(parent, TRAIT_PROFOUND_FISHER, REF(src)) + +/datum/component/profound_fisher/RegisterWithParent() + RegisterSignal(parent, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack)) + +/datum/component/profound_fisher/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_HOSTILE_PRE_ATTACKINGTARGET) + REMOVE_TRAIT(parent, TRAIT_PROFOUND_FISHER, REF(src)) + +/datum/component/profound_fisher/Destroy() + QDEL_NULL(our_rod) + return ..() + +/datum/component/profound_fisher/proc/pre_attack(datum/source, atom/target) + SIGNAL_HANDLER + + if(!HAS_TRAIT(target, TRAIT_FISHING_SPOT)) + return NONE + var/mob/living/living_parent = parent + if(!living_parent.CanReach(target)) + return NONE + if(living_parent.client) + INVOKE_ASYNC(our_rod, TYPE_PROC_REF(/obj/item, melee_attack_chain), parent, target) + else + INVOKE_ASYNC(src, PROC_REF(pretend_fish), target) + return COMPONENT_HOSTILE_NO_ATTACK + +/datum/component/profound_fisher/proc/pretend_fish(atom/target) + var/fishing_type + for(var/type in npc_fishing_preset) + if(!istype(target, type)) + continue + fishing_type = npc_fishing_preset[type] + break + var/datum/fish_source/fish_spot = GLOB.preset_fish_sources[fishing_type] + if(isnull(fish_spot)) + return null + var/obj/effect/fishing_lure/lure = new(get_turf(target), target) + var/mob/living/living_parent = parent + if(!do_after(living_parent, 10 SECONDS, target = target)) + qdel(lure) + return + var/reward_loot = pick_weight(fish_spot.fish_table) + if(ispath(reward_loot)) + new reward_loot(get_turf(living_parent)) + qdel(lure) + +/obj/item/fishing_rod/mob_fisher + display_fishing_line = FALSE + line = /obj/item/fishing_line/reinforced + + diff --git a/code/datums/components/riding/riding_mob.dm b/code/datums/components/riding/riding_mob.dm index 946e4e3d930..53463e9eec7 100644 --- a/code/datums/components/riding/riding_mob.dm +++ b/code/datums/components/riding/riding_mob.dm @@ -103,7 +103,7 @@ return ..() /datum/component/riding/creature/driver_move(atom/movable/movable_parent, mob/living/user, direction) - if(!COOLDOWN_FINISHED(src, vehicle_move_cooldown)) + if(!COOLDOWN_FINISHED(src, vehicle_move_cooldown) || !Process_Spacemove()) return COMPONENT_DRIVER_BLOCK_MOVE if(!keycheck(user)) if(ispath(keytype, /obj/item)) diff --git a/code/datums/components/sign_language.dm b/code/datums/components/sign_language.dm index e8d22238705..054a4de4af0 100644 --- a/code/datums/components/sign_language.dm +++ b/code/datums/components/sign_language.dm @@ -5,7 +5,15 @@ #define SIGN_ARMLESS 3 #define SIGN_ARMS_DISABLED 4 #define SIGN_TRAIT_BLOCKED 5 -#define SIGN_CUFFED 6 +#define SIGN_HANDS_COMPLETELY_RESTRAINED 6 +#define SIGN_SLOWLY_FROM_CUFFS 7 + +// Defines to determine the tone of the signer's message. +#define TONE_NEUTRAL 0 //! a statement +#define TONE_INQUISITIVE 1 //! a question +#define TONE_EMPHATIC 2 //! an exclamation +#define TONE_INQUISITIVE_EMPHATIC 3 //! both a question and an exclamation (interrobang) + /** * Reactive Sign Language Component for Carbons. Allows Carbons to speak with sign language if they have the relevant traits. @@ -140,10 +148,15 @@ carbon_parent.visible_message("tries to sign, but can't with [carbon_parent.p_their()] hands full!", visible_message_flags = EMOTE_MESSAGE) return COMPONENT_CANNOT_SPEAK - if(SIGN_CUFFED) // Restrained + if(SIGN_HANDS_COMPLETELY_RESTRAINED) // Restrained carbon_parent.visible_message("tries to sign, but can't with [carbon_parent.p_their()] hands bound!", visible_message_flags = EMOTE_MESSAGE) return COMPONENT_CANNOT_SPEAK + // If we're handcuffed, we can still sign, but it's slow + if(SIGN_SLOWLY_FROM_CUFFS) + carbon_parent.visible_message("struggles, signing slowly with [carbon_parent.p_their()] hands cuffed...", visible_message_flags = EMOTE_MESSAGE) + return COMPONENT_IGNORE_CAN_SPEAK + if(SIGN_ARMLESS) // No arms to_chat(carbon_parent, span_warning("You can't sign with no hands!")) return COMPONENT_CANNOT_SPEAK @@ -181,9 +194,12 @@ busy_hands++ - // Handcuffed or otherwise restrained - can't talk + // Handcuffed or otherwise restrained if(HAS_TRAIT(carbon_parent, TRAIT_RESTRAINED)) - return SIGN_CUFFED + if(HAS_TRAIT_FROM_ONLY(carbon_parent, TRAIT_RESTRAINED, HANDCUFFED_TRAIT)) + return SIGN_SLOWLY_FROM_CUFFS + else + return SIGN_HANDS_COMPLETELY_RESTRAINED // Some other trait preventing us from using our hands now else if(HAS_TRAIT(carbon_parent, TRAIT_HANDS_BLOCKED) || HAS_TRAIT(carbon_parent, TRAIT_EMOTEMUTE)) return SIGN_TRAIT_BLOCKED @@ -222,13 +238,16 @@ return SPELL_INVOCATION_ALWAYS_SUCCEED /// Signal proc for [COMSIG_LIVING_TREAT_MESSAGE] -/// Stars out our message if we only have 1 hand free. +/// Changes our message based on conditions that limit or alter our ability to communicate /datum/component/sign_language/proc/on_treat_living_message(atom/movable/source, list/message_args) SIGNAL_HANDLER if(check_signables_state() == SIGN_ONE_HAND) message_args[TREAT_MESSAGE_ARG] = stars(message_args[TREAT_MESSAGE_ARG]) + if(check_signables_state() == SIGN_SLOWLY_FROM_CUFFS) + message_args[TREAT_MESSAGE_ARG] = stifled(message_args[TREAT_MESSAGE_ARG]) + message_args[TREAT_TTS_MESSAGE_ARG] = "" /// Signal proc for [COMSIG_MOVABLE_SAY_QUOTE] @@ -245,7 +264,7 @@ return HAS_TRAIT(source, TRAIT_CAN_SIGN_ON_COMMS) ? NONE : COMPONENT_CANNOT_USE_RADIO -/// Replaces emphatic punctuation with periods. Changes tonal indicator and emotes eyebrow movement based on what is typed. +/// Replaces emphatic punctuation with periods. Changes tonal indicator and emotes based on what is typed. /datum/component/sign_language/proc/on_say(mob/living/carbon/carbon_parent, list/speech_args) SIGNAL_HANDLER @@ -255,29 +274,51 @@ var/exclamation_found = findtext(message, "!") // Is there a ? var/question_found = findtext(message, "?") + var/emote_tone = TONE_NEUTRAL + if (exclamation_found && question_found) + emote_tone = TONE_INQUISITIVE_EMPHATIC + else if (exclamation_found) + emote_tone = TONE_EMPHATIC + else if (question_found) + emote_tone = TONE_INQUISITIVE // Cut our last overlay before we replace it if(timeleft(tonal_timerid) > 0) remove_tonal_indicator() deltimer(tonal_timerid) - // Prioritize questions - if(question_found) - tonal_indicator = mutable_appearance('icons/mob/effects/talk.dmi', "signlang1", TYPING_LAYER) - carbon_parent.visible_message(span_notice("[carbon_parent] lowers [carbon_parent.p_their()] eyebrows.")) - else if(exclamation_found) - tonal_indicator = mutable_appearance('icons/mob/effects/talk.dmi', "signlang2", TYPING_LAYER) - carbon_parent.visible_message(span_notice("[carbon_parent] raises [carbon_parent.p_their()] eyebrows.")) - // If either an exclamation or question are found + switch(emote_tone) + if(TONE_INQUISITIVE) + tonal_indicator = mutable_appearance('icons/mob/effects/talk.dmi', "signlang1", TYPING_LAYER) + if(TONE_EMPHATIC) + tonal_indicator = mutable_appearance('icons/mob/effects/talk.dmi', "signlang2", TYPING_LAYER) + if(TONE_INQUISITIVE_EMPHATIC) + tonal_indicator = mutable_appearance('icons/mob/effects/talk.dmi', "signlang2", TYPING_LAYER) + // If there's a tonal indicator if(!isnull(tonal_indicator) && carbon_parent.client?.typing_indicators) carbon_parent.add_overlay(tonal_indicator) tonal_timerid = addtimer(CALLBACK(src, PROC_REF(remove_tonal_indicator)), 2.5 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_STOPPABLE | TIMER_DELETE_ME) else // If we're not gonna use it, just be sure we get rid of it tonal_indicator = null + // Only emote the tone if we have one and aren't already emoting the handcuffed message + if(!carbon_parent.handcuffed && emote_tone) + emote_tone(carbon_parent, emote_tone) + // remove the ! and ? symbols from message at the end message = sanitize_message(message) speech_args[SPEECH_MESSAGE] = message +/// Send a visible message depending on the tone of the message that the sender is trying to convey to the world. +/datum/component/sign_language/proc/emote_tone(mob/living/carbon/carbon_parent, emote_tone) + switch(emote_tone) + if(TONE_INQUISITIVE) + carbon_parent.visible_message(span_bold("quirks [carbon_parent.p_their()] brows quizzically."), visible_message_flags = EMOTE_MESSAGE) + if(TONE_EMPHATIC) + carbon_parent.visible_message(span_bold("widens [carbon_parent.p_their()] eyes emphatically!"), visible_message_flags = EMOTE_MESSAGE) + if(TONE_INQUISITIVE_EMPHATIC) + carbon_parent.visible_message(span_bold("wears an intense, befuddled expression!"), visible_message_flags = EMOTE_MESSAGE) + + /// Removes the tonal indicator overlay completely /datum/component/sign_language/proc/remove_tonal_indicator() if(isnull(tonal_indicator)) @@ -292,4 +333,9 @@ #undef SIGN_ARMLESS #undef SIGN_ARMS_DISABLED #undef SIGN_TRAIT_BLOCKED -#undef SIGN_CUFFED +#undef SIGN_HANDS_COMPLETELY_RESTRAINED +#undef SIGN_SLOWLY_FROM_CUFFS +#undef TONE_NEUTRAL +#undef TONE_INQUISITIVE +#undef TONE_EMPHATIC +#undef TONE_INQUISITIVE_EMPHATIC diff --git a/code/datums/components/simple_access.dm b/code/datums/components/simple_access.dm index a42d784f0c0..3038b353290 100644 --- a/code/datums/components/simple_access.dm +++ b/code/datums/components/simple_access.dm @@ -10,6 +10,7 @@ return COMPONENT_INCOMPATIBLE access = new_access RegisterSignal(parent, COMSIG_MOB_TRIED_ACCESS, PROC_REF(on_tried_access)) + RegisterSignal(parent, COMSIG_MOB_RETRIEVE_SIMPLE_ACCESS, PROC_REF(retrieve_access)) if(!donor_atom) return if(isorgan(donor_atom)) @@ -28,6 +29,10 @@ else return ACCESS_DISALLOWED +/datum/component/simple_access/proc/retrieve_access(datum/source, list/access_list) + SIGNAL_HANDLER + access_list += access + /datum/component/simple_access/proc/on_donor_removed(datum/source) SIGNAL_HANDLER qdel(src) diff --git a/code/datums/components/sound_player.dm b/code/datums/components/sound_player.dm index 9bad9718a05..fc1ff34041c 100644 --- a/code/datums/components/sound_player.dm +++ b/code/datums/components/sound_player.dm @@ -1,7 +1,7 @@ /** * Sound Player component * - * Component that will play a sound upon recieving some signal + * Component that will play a sound upon receiving some signal */ /datum/component/sound_player ///Volume of the sound when played diff --git a/code/datums/components/spawner.dm b/code/datums/components/spawner.dm index 7c85c1a5b2b..29767d11ce6 100644 --- a/code/datums/components/spawner.dm +++ b/code/datums/components/spawner.dm @@ -72,6 +72,8 @@ picked_spot = pick(turf_peel(spawn_distance, spawn_distance_exclude, spawner.loc, view_based = TRUE)) if(!picked_spot) picked_spot = pick(circle_range_turfs(spawner.loc, spawn_distance)) + if(picked_spot == spawner.loc) + SEND_SIGNAL(spawner, COMSIG_SPAWNER_SPAWNED_DEFAULT) created = new chosen_mob_type(picked_spot) else if (spawn_distance >= 1) picked_spot = pick(circle_range_turfs(spawner.loc, spawn_distance)) diff --git a/code/datums/components/style/style.dm b/code/datums/components/style/style.dm index 8b532277e34..9723f4092ec 100644 --- a/code/datums/components/style/style.dm +++ b/code/datums/components/style/style.dm @@ -416,13 +416,23 @@ add_action(ACTION_GIBTONITE_DEFUSED, min(40, 20 * (10 - det_time))) // 40 to 180 points depending on speed +//SKYRAT EDIT START +/* /datum/component/style/proc/on_crusher_detonate(datum/source, mob/living/target, obj/item/kinetic_crusher/crusher, backstabbed) +*/ +/datum/component/style/proc/on_crusher_detonate(datum/component/kinetic_crusher/source, mob/living/target, obj/item/kinetic_crusher/crusher, backstabbed) +//SKYRAT EDIT END SIGNAL_HANDLER if(target.stat == DEAD) return + //SKYRAT EDIT START + /* var/has_brimdemon_trophy = locate(/obj/item/crusher_trophy/brimdemon_fang) in crusher.trophies + */ + var/has_brimdemon_trophy = locate(/obj/item/crusher_trophy/brimdemon_fang) in source.stored_trophies + //SKYRAT EDIT END add_action(ACTION_MARK_DETONATED, round((backstabbed ? 60 : 30) * (ismegafauna(target) ? 1.5 : 1) * (has_brimdemon_trophy ? 1.25 : 1))) diff --git a/code/datums/components/throwbonus_on_windup.dm b/code/datums/components/throwbonus_on_windup.dm new file mode 100644 index 00000000000..ed505d69697 --- /dev/null +++ b/code/datums/components/throwbonus_on_windup.dm @@ -0,0 +1,172 @@ +/datum/component/throwbonus_on_windup + ///the maximum windup bonus + var/maximum_bonus = 20 + ///additional behavior if we exceed the maximum bonus + var/datum/callback/pass_maximum_callback + ///the player currently winding up their throw + var/datum/weakref/holder + ///the current bonus we are at + var/throwforce_bonus = 0 + ///the bar relaying feedback to the player + var/obj/effect/overlay/windup_bar/our_bar + ///any additional behavior we should look for before applying the bonus + var/datum/callback/apply_bonus_callback + ///sound we play after successfully damaging the enemy with a bonus + var/sound_on_success + ///effect we play after successfully damaging the enemy with a bonus + var/effect_on_success + ///how fast we increase the wind up counter on process + var/windup_increment_speed + ///text we display when we start winding up + var/throw_text + +/datum/component/throwbonus_on_windup/Initialize(maximum_bonus = 20, windup_increment_speed = 1, pass_maximum_callback, apply_bonus_callback, sound_on_success, effect_on_success, throw_text) + . = ..() + if(!isitem(parent)) + return COMPONENT_INCOMPATIBLE + + src.maximum_bonus = maximum_bonus + src.pass_maximum_callback = pass_maximum_callback + src.apply_bonus_callback = apply_bonus_callback + src.sound_on_success = sound_on_success + src.effect_on_success = effect_on_success + src.windup_increment_speed = windup_increment_speed + src.throw_text = throw_text + +/datum/component/throwbonus_on_windup/proc/on_equip(datum/source, mob/living/equipper, slot) + SIGNAL_HANDLER + + if(!(slot & ITEM_SLOT_HANDS) || holder?.resolve()) + return + holder = WEAKREF(equipper) + RegisterSignal(equipper, COMSIG_LIVING_THROW_MODE_TOGGLE, PROC_REF(throw_change)) + RegisterSignal(equipper, COMSIG_MOB_SWAP_HANDS, PROC_REF(on_hands_swap)) + if(equipper.throw_mode) + start_windup() + +/datum/component/throwbonus_on_windup/proc/start_windup() + + throwforce_bonus = initial(throwforce_bonus) + var/mob/living/our_holder = holder?.resolve() + if(isnull(holder)) + return + if(throw_text) + to_chat(our_holder, span_warning(throw_text)) + var/list/offset_to_add = get_icon_dimensions(our_holder.icon) + var/x_position = CEILING(offset_to_add["width"] * 0.5, 1) + our_bar = new() + our_bar.maximum_count = maximum_bonus + our_bar.pixel_x = x_position + our_holder.vis_contents += our_bar + START_PROCESSING(SSfastprocess, src) + +/datum/component/throwbonus_on_windup/RegisterWithParent() + RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) + RegisterSignal(parent, COMSIG_MOVABLE_PRE_IMPACT, PROC_REF(on_thrown)) + +/datum/component/throwbonus_on_windup/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_MOVABLE_MOVED, COMSIG_MOVABLE_PRE_IMPACT)) + var/atom/our_holder = holder?.resolve() + if(!isnull(our_holder)) + UnregisterSignal(our_holder, list(COMSIG_LIVING_THROW_MODE_TOGGLE, COMSIG_MOB_SWAP_HANDS)) + +/datum/component/throwbonus_on_windup/Destroy() + STOP_PROCESSING(SSfastprocess, src) + QDEL_NULL(our_bar) + holder = null + return ..() + +/datum/component/throwbonus_on_windup/proc/throw_change(datum/source, throw_mode) + SIGNAL_HANDLER + + if(throw_mode) + start_windup() + else + end_windup() + +/datum/component/throwbonus_on_windup/proc/on_hands_swap(mob/living/source) + SIGNAL_HANDLER + + if(source.get_active_held_item() != parent) + end_windup() + return + + if(source.throw_mode) + start_windup() + +/datum/component/throwbonus_on_windup/process(seconds_per_tick) + if(throwforce_bonus > maximum_bonus) + var/mob/living/our_holder = holder?.resolve() + pass_maximum_callback?.Invoke(our_holder) + end_windup() + return PROCESS_KILL + + our_bar.recalculate_position(min(throwforce_bonus, maximum_bonus)) + throwforce_bonus += windup_increment_speed + +/datum/component/throwbonus_on_windup/proc/on_move(obj/item/source, atom/entering_loc) + SIGNAL_HANDLER + end_windup() + var/mob/living/our_holder = holder?.resolve() + if(isnull(our_holder)) + return + holder = null + UnregisterSignal(our_holder, list(COMSIG_LIVING_THROW_MODE_TOGGLE, COMSIG_MOB_SWAP_HANDS)) + +/datum/component/throwbonus_on_windup/proc/end_windup() + QDEL_NULL(our_bar) + STOP_PROCESSING(SSfastprocess, src) + +/datum/component/throwbonus_on_windup/proc/on_thrown(datum/source, atom/hit_atom, datum/thrownthing/throwingdatum) + SIGNAL_HANDLER + + var/damage_to_apply = throwforce_bonus + throwforce_bonus = initial(throwforce_bonus) + if(!isliving(hit_atom)) + return + + if(apply_bonus_callback && !apply_bonus_callback.Invoke(hit_atom, damage_to_apply)) + return + + if(effect_on_success) + new effect_on_success(get_turf(hit_atom)) + if(sound_on_success) + playsound(hit_atom, sound_on_success, 50, TRUE) + + var/mob/living/living_target = hit_atom + living_target.apply_damage(damage_to_apply) + +/obj/effect/overlay/windup_bar + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + anchored = TRUE + vis_flags = VIS_INHERIT_DIR | VIS_INHERIT_PLANE + icon = 'icons/effects/effects.dmi' + icon_state = "windup_bar" + layer = ABOVE_ALL_MOB_LAYER + ///the maximum windup bonus + var/maximum_count = INFINITY + ///the current count we are at + var/current_count = 0 + +/obj/effect/overlay/windup_bar/proc/recalculate_position(input_count) + current_count = input_count + update_appearance(UPDATE_OVERLAYS) + +/obj/effect/overlay/windup_bar/update_overlays() + . = ..() + var/static/list/bar_positions = list(0, 2, 4, 6, 8) + var/current_percentage = current_count / maximum_count + var/bars_to_add = CEILING(length(bar_positions) * current_percentage, 1) + for(var/curr_number in 1 to bars_to_add) + var/bar_color + switch(curr_number) + if(1 to 2) + bar_color = "windup_red" + if(2 to 4) + bar_color = "windup_green" + if(4 to 5) + bar_color = "windup_purple" + var/mutable_appearance/bar_overlay = mutable_appearance(icon = icon, icon_state = bar_color, layer = ABOVE_HUD_PLANE) + bar_overlay.pixel_y = bar_positions[curr_number] + . += bar_overlay diff --git a/code/datums/datum.dm b/code/datums/datum.dm index 83015d62f93..322a58513fd 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -206,7 +206,7 @@ ///Serializes into JSON. Does not encode type. /datum/proc/serialize_json(list/options) - . = serialize_list(options) + . = serialize_list(options, list()) if(!islist(.)) . = null else @@ -315,7 +315,7 @@ /// Reapplies all the filters. /datum/proc/update_filters() - ASSERT(isatom(src) || istype(src, /image)) + ASSERT(isatom(src) || isimage(src)) var/atom/atom_cast = src // filters only work with images or atoms. atom_cast.filters = null sortTim(filter_data, GLOBAL_PROC_REF(cmp_filter_data_priority), TRUE) @@ -377,7 +377,7 @@ /// Returns the filter associated with the passed key /datum/proc/get_filter(name) - ASSERT(isatom(src) || istype(src, /image)) + ASSERT(isatom(src) || isimage(src)) if(filter_data && filter_data[name]) var/atom/atom_cast = src // filters only work with images or atoms. return atom_cast.filters[filter_data.Find(name)] @@ -400,7 +400,7 @@ update_filters() /datum/proc/clear_filters() - ASSERT(isatom(src) || istype(src, /image)) + ASSERT(isatom(src) || isimage(src)) var/atom/atom_cast = src // filters only work with images or atoms. filter_data = null atom_cast.filters = null @@ -417,4 +417,3 @@ return harddel_deets_dumped = TRUE return "Image icon: [icon] - icon_state: [icon_state] [loc ? "loc: [loc] ([loc.x],[loc.y],[loc.z])" : ""]" - diff --git a/code/datums/diseases/_MobProcs.dm b/code/datums/diseases/_MobProcs.dm index 62ee5e457ca..337aee46c03 100644 --- a/code/datums/diseases/_MobProcs.dm +++ b/code/datums/diseases/_MobProcs.dm @@ -94,24 +94,19 @@ if(passed) disease.try_infect(src) -/mob/living/proc/AirborneContractDisease(datum/disease/disease, force_spread) - if(HAS_TRAIT(src, TRAIT_VIRUS_RESISTANCE) && prob(75)) - return - - if(((disease.spread_flags & DISEASE_SPREAD_AIRBORNE) || force_spread) && prob(min((50*disease.spreading_modifier - 1), 50))) - ForceContractDisease(disease) - -/mob/living/carbon/AirborneContractDisease(datum/disease/disease, force_spread) - if(internal) - return - if(HAS_TRAIT(src, TRAIT_NOBREATH)) - return - +/** + * Handle being contracted a disease via airborne transmission + * + * * disease - the disease datum that's infecting us + */ +/mob/living/proc/contract_airborne_disease(datum/disease/disease) + if(!can_be_spread_airborne_disease()) + return FALSE + if(!prob(min((50 * disease.spreading_modifier - 1), 50))) + return FALSE if(!disease.has_required_infectious_organ(src, ORGAN_SLOT_LUNGS)) - return - - ..() - + return FALSE + return ForceContractDisease(disease) //Proc to use when you 100% want to try to infect someone (ignoreing protective clothing and such), as long as they aren't immune /mob/living/proc/ForceContractDisease(datum/disease/D, make_copy = TRUE, del_on_fail = FALSE) @@ -136,8 +131,56 @@ return ..() -/mob/living/proc/CanSpreadAirborneDisease() - return !is_mouth_covered() +/// Checks if this mob can currently spread air based diseases. +/// Nondeterministic +/mob/living/proc/can_spread_airborne_diseases() + SHOULD_CALL_PARENT(TRUE) + if(HAS_TRAIT(src, TRAIT_NOBREATH)) + return FALSE + if(losebreath >= 1) + return FALSE + // I don't know how you are spreading via air with no head but sure + if(!get_bodypart(BODY_ZONE_HEAD)) + return TRUE + // Check both hat and mask for bio protection + // Anything above 50 individually is a shoe-in, and stacking two items at 25 is also a shoe-in + var/obj/item/clothing/hat = is_mouth_covered(ITEM_SLOT_HEAD) + var/obj/item/clothing/mask = is_mouth_covered(ITEM_SLOT_MASK) + var/total_prot = 2 * (hat?.get_armor_rating(BIO) + mask?.get_armor_rating(BIO)) + if(prob(total_prot)) + return FALSE -/mob/living/carbon/CanSpreadAirborneDisease() - return !((head && (head.flags_cover & HEADCOVERSMOUTH) && (head.get_armor_rating(BIO) >= 25)) || (wear_mask && (wear_mask.flags_cover & MASKCOVERSMOUTH) && (wear_mask.get_armor_rating(BIO) >= 25))) + return TRUE + +/mob/living/carbon/can_spread_airborne_diseases() + if(internal || external) + return FALSE + + return ..() + +/// Checks if this mob can currently be infected by air based diseases +/// Nondeterministic +/mob/living/proc/can_be_spread_airborne_disease() + if(HAS_TRAIT(src, TRAIT_NOBREATH)) + return FALSE + if(losebreath >= 1) + return FALSE + // Spaceacillin for infection resistance + if(HAS_TRAIT(src, TRAIT_VIRUS_RESISTANCE) && prob(75)) + return FALSE + // Bio check for head AND mask + // Meaning if we're masked up and wearing a dome, we are very likely never getting sick + var/obj/item/clothing/hat = is_mouth_covered(ITEM_SLOT_HEAD) + var/obj/item/clothing/mask = is_mouth_covered(ITEM_SLOT_MASK) + var/total_prot = (hat?.get_armor_rating(BIO) + mask?.get_armor_rating(BIO)) + if(prob(total_prot)) + return FALSE + + return TRUE + +/mob/living/carbon/can_be_spread_airborne_disease() + // Using an isolated air supply is also effective + if((internal || external) && prob(75)) + return FALSE + + return ..() diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index bc60049e73e..d66bc85bb55 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -70,10 +70,33 @@ D.after_add() infectee.med_hud_set_status() + register_disease_signals() var/turf/source_turf = get_turf(infectee) log_virus("[key_name(infectee)] was infected by virus: [src.admin_details()] at [loc_name(source_turf)]") +/// Updates the spread flags set, ensuring signals are updated as necessary +/datum/disease/proc/update_spread_flags(new_flags) + if(spread_flags == new_flags) + return + + spread_flags = new_flags + unregister_disease_signals() + register_disease_signals() + +/// Register any relevant signals for the disease +/datum/disease/proc/register_disease_signals() + if(isnull(affected_mob)) + return + if(spread_flags & DISEASE_SPREAD_AIRBORNE) + RegisterSignal(affected_mob, COMSIG_CARBON_PRE_BREATHE, PROC_REF(on_breath)) + +/// Unregister any relevant signals for the disease +/datum/disease/proc/unregister_disease_signals() + if(isnull(affected_mob)) + return + UnregisterSignal(affected_mob, COMSIG_CARBON_PRE_BREATHE) + ///Proc to process the disease and decide on whether to advance, cure or make the symptoms appear. Returns a boolean on whether to continue acting on the symptoms or not. /datum/disease/proc/stage_act(seconds_per_tick, times_fired) var/slowdown = HAS_TRAIT(affected_mob, TRAIT_VIRUS_RESISTANCE) ? 0.5 : 1 // spaceacillin slows stage speed by 50% @@ -140,9 +163,9 @@ if(affected_mob.mob_mood) // this and most other modifiers below a shameless rip from sleeping healing buffs, but feeling good helps make it go away quicker switch(affected_mob.mob_mood.sanity_level) if(SANITY_LEVEL_GREAT) - recovery_prob += 0.2 + recovery_prob += 0.4 if(SANITY_LEVEL_NEUTRAL) - recovery_prob += 0.1 + recovery_prob += 0.2 if(SANITY_LEVEL_DISTURBED) recovery_prob += 0 if(SANITY_LEVEL_UNSTABLE) @@ -219,41 +242,41 @@ if(!. || (needs_all_cures && . < cures.len)) return FALSE -//Airborne spreading -/datum/disease/proc/spread(force_spread = 0) - if(!affected_mob) - return - +/** + * Handles performing a spread-via-air + * + * Checks for stuff like "is our mouth covered" for you + * + * * spread_range - How far the disease can spread + * * force_spread - If TRUE, the disease will spread regardless of the spread_flags + * * require_facing - If TRUE, the disease will only spread if the source mob is facing the target mob + */ +/datum/disease/proc/airborne_spread(spread_range = 2, force_spread = TRUE, require_facing = FALSE) + if(isnull(affected_mob)) + return FALSE if(!(spread_flags & DISEASE_SPREAD_AIRBORNE) && !force_spread) - return - - if(affected_mob.internal) //if you keep your internals on, no airborne spread at least - return - - if(HAS_TRAIT(affected_mob, TRAIT_NOBREATH)) //also if you don't breathe - return - + return FALSE + if(affected_mob.can_spread_airborne_diseases()) + return FALSE if(!has_required_infectious_organ(affected_mob, ORGAN_SLOT_LUNGS)) //also if you lack lungs - return - - if(!affected_mob.CanSpreadAirborneDisease()) //should probably check this huh - return - - if(HAS_TRAIT(affected_mob, TRAIT_VIRUS_RESISTANCE) || (affected_mob.satiety > 0 && prob(affected_mob.satiety/2))) //being full or on spaceacillin makes you less likely to spread a virus - return - - var/spread_range = 2 - - if(force_spread) - spread_range = force_spread - - var/turf/T = affected_mob.loc - if(istype(T)) - for(var/mob/living/carbon/C in oview(spread_range, affected_mob)) - var/turf/V = get_turf(C) - if(disease_air_spread_walk(T, V)) - C.AirborneContractDisease(src, force_spread) + return FALSE + if(HAS_TRAIT(affected_mob, TRAIT_VIRUS_RESISTANCE) || (affected_mob.satiety > 0 && prob(affected_mob.satiety / 2))) //being full or on spaceacillin makes you less likely to spread a virus + return FALSE + var/turf/mob_loc = affected_mob.loc + if(!istype(mob_loc)) + return FALSE + for(var/mob/living/carbon/to_infect in oview(spread_range, affected_mob)) + var/turf/infect_loc = to_infect.loc + if(!istype(infect_loc)) + continue + if(require_facing && !is_source_facing_target(affected_mob, to_infect)) + continue + if(!disease_air_spread_walk(mob_loc, infect_loc)) + continue + to_infect.contract_airborne_disease(src) + return TRUE +/// Helper for checking if there is an air path between two turfs /proc/disease_air_spread_walk(turf/start, turf/end) if(!start || !end) return FALSE @@ -307,6 +330,7 @@ return "[type]" /datum/disease/proc/remove_disease() + unregister_disease_signals() LAZYREMOVE(affected_mob.diseases, src) //remove the datum from the list affected_mob.med_hud_set_status() affected_mob = null @@ -346,6 +370,13 @@ return TRUE +/// Handles spreading via air when our mob breathes +/datum/disease/proc/on_breath(datum/source, seconds_per_tick, ...) + SIGNAL_HANDLER + + if(SPT_PROB(infectivity * 4, seconds_per_tick)) + airborne_spread() + //Use this to compare severities /proc/get_disease_severity_value(severity) switch(severity) diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index 93edea10b41..8c8e8e02169 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -266,12 +266,13 @@ properties["severity"] = round((properties["severity"] / 2), 1) properties["severity"] *= (symptoms.len / VIRUS_SYMPTOM_LIMIT) //fewer symptoms, less severity properties["severity"] = clamp(properties["severity"], 1, 7) + properties["capacity"] = get_symptom_weights() // Assign the properties that are in the list. /datum/disease/advance/proc/assign_properties() if(properties?.len) - if(properties["stealth"] >= 2) + if(properties["stealth"] >= properties["severity"] && properties["severity"] > 0) visibility_flags |= HIDDEN_SCANNER else visibility_flags &= ~HIDDEN_SCANNER @@ -287,7 +288,7 @@ spreading_modifier = max(CEILING(0.4 * properties["transmittable"], 1), 1) cure_chance = clamp(7.5 - (0.5 * properties["resistance"]), 1, 10) // can be between 1 and 10 - stage_prob = max(0.5 * properties["stage_rate"], 1) + stage_prob = max(0.3 * properties["stage_rate"], 1) set_severity(round(properties["severity"]), 1) generate_cure(properties) else @@ -298,22 +299,22 @@ /datum/disease/advance/proc/set_spread(spread_id) switch(spread_id) if(DISEASE_SPREAD_NON_CONTAGIOUS) - spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS + update_spread_flags(DISEASE_SPREAD_NON_CONTAGIOUS) spread_text = "None" if(DISEASE_SPREAD_SPECIAL) - spread_flags = DISEASE_SPREAD_SPECIAL + update_spread_flags(DISEASE_SPREAD_SPECIAL) spread_text = "None" if(DISEASE_SPREAD_BLOOD) - spread_flags = DISEASE_SPREAD_BLOOD + update_spread_flags(DISEASE_SPREAD_BLOOD) spread_text = "Blood" if(DISEASE_SPREAD_CONTACT_FLUIDS) - spread_flags = DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_CONTACT_FLUIDS + update_spread_flags(DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_CONTACT_FLUIDS) spread_text = "Fluids" if(DISEASE_SPREAD_CONTACT_SKIN) - spread_flags = DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_CONTACT_FLUIDS | DISEASE_SPREAD_CONTACT_SKIN + update_spread_flags(DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_CONTACT_FLUIDS | DISEASE_SPREAD_CONTACT_SKIN) spread_text = "Skin contact" if(DISEASE_SPREAD_AIRBORNE) - spread_flags = DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_CONTACT_FLUIDS | DISEASE_SPREAD_CONTACT_SKIN | DISEASE_SPREAD_AIRBORNE + update_spread_flags(DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_CONTACT_FLUIDS | DISEASE_SPREAD_CONTACT_SKIN | DISEASE_SPREAD_AIRBORNE) spread_text = "Respiration" /datum/disease/advance/proc/set_severity(level_sev) @@ -341,7 +342,7 @@ // Will generate a random cure, the more resistance the symptoms have, the harder the cure. /datum/disease/advance/proc/generate_cure() if(properties?.len) - var/res = clamp(properties["resistance"] - (symptoms.len / 2), 1, advance_cures.len) + var/res = clamp(properties["resistance"] - (symptoms.len * 0.5), 1, advance_cures.len) if(res == oldres) return cures = list(pick(advance_cures[res])) @@ -402,11 +403,9 @@ // Add a symptom, if it is over the limit we take a random symptom away and add the new one. /datum/disease/advance/proc/AddSymptom(datum/symptom/S) - if(HasSymptom(S)) return - - if(symptoms.len >= VIRUS_SYMPTOM_LIMIT) + while(get_symptom_weights() + S.weight > VIRUS_SYMPTOM_LIMIT) RemoveSymptom(pick(symptoms)) symptoms += S S.OnAdd(src) @@ -423,6 +422,12 @@ S.name += " (neutered)" S.OnRemove(src) +/// How much of the symptom capacity is currently being used? +/datum/disease/advance/proc/get_symptom_weights() + . = 0 + for(var/datum/symptom/symptom as anything in symptoms) + . += symptom.weight + /* Static Procs diff --git a/code/datums/diseases/advance/symptoms/cough.dm b/code/datums/diseases/advance/symptoms/cough.dm index 7368e99acc8..6b46667741c 100644 --- a/code/datums/diseases/advance/symptoms/cough.dm +++ b/code/datums/diseases/advance/symptoms/cough.dm @@ -10,6 +10,7 @@ name = "Cough" desc = "The virus irritates the throat of the host, causing occasional coughing. Each cough will try to infect bystanders who are within 1 tile of the host with the virus." illness = "Jest Infection" + weight = 2 stealth = -1 resistance = 3 stage_speed = 1 @@ -67,8 +68,7 @@ off_cooldown_coughed = TRUE else off_cooldown_coughed = FALSE - if(affected_mob.CanSpreadAirborneDisease()) - active_disease.spread(spread_range) + active_disease.airborne_spread(spread_range) if(power >= 1.5) var/obj/item/held_object = affected_mob.get_active_held_item() if(held_object && held_object.w_class == WEIGHT_CLASS_TINY) diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm index 0708841fca0..3ec095feb5c 100644 --- a/code/datums/diseases/advance/symptoms/fire.dm +++ b/code/datums/diseases/advance/symptoms/fire.dm @@ -65,7 +65,7 @@ warn_mob(living_mob) if(infective) - A.spread(advanced_stage ? 4 : 2) + A.airborne_spread(advanced_stage ? 4 : 2) /datum/symptom/fire/proc/warn_mob(mob/living/living_mob) if(prob(33.33)) diff --git a/code/datums/diseases/advance/symptoms/narcolepsy.dm b/code/datums/diseases/advance/symptoms/narcolepsy.dm index cbf6462f2c4..a137e8acd91 100644 --- a/code/datums/diseases/advance/symptoms/narcolepsy.dm +++ b/code/datums/diseases/advance/symptoms/narcolepsy.dm @@ -64,8 +64,7 @@ if(yawning) M.emote("yawn") - if(M.CanSpreadAirborneDisease()) - A.spread(6) + A.airborne_spread(6) if(5) if(prob(50)) @@ -75,5 +74,4 @@ if(yawning) M.emote("yawn") - if(M.CanSpreadAirborneDisease()) - A.spread(6) + A.airborne_spread(6) diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm index 14a087da123..a35e700f7b4 100644 --- a/code/datums/diseases/advance/symptoms/sneeze.dm +++ b/code/datums/diseases/advance/symptoms/sneeze.dm @@ -10,6 +10,7 @@ name = "Sneezing" desc = "The virus causes irritation of the nasal cavity, making the host sneeze occasionally. Sneezes from this symptom will spread the virus in a 4 meter cone in front of the host." illness = "Bard Flu" + weight = 2 stealth = -2 resistance = 3 stage_speed = 0 @@ -52,10 +53,7 @@ if(!suppress_warning) affected_mob.emote("sniff") else - if(affected_mob.CanSpreadAirborneDisease()) //don't spread germs if they covered their mouth - for(var/mob/living/exposed_mob in oview(spread_range, affected_mob)) - if(is_source_facing_target(affected_mob, exposed_mob) && disease_air_spread_walk(get_turf(affected_mob), get_turf(exposed_mob))) - exposed_mob.AirborneContractDisease(active_disease, TRUE) + active_disease.airborne_spread(spread_range, force_spread = TRUE, require_facing = TRUE) if(cartoon_sneezing) //Yeah, this can fling you around even if you have a space suit helmet on. It's, uh, bluespace snot, yeah. affected_mob.emote("sneeze") to_chat(affected_mob, span_userdanger("You are launched violently backwards by an all-mighty sneeze!")) diff --git a/code/datums/diseases/advance/symptoms/symptoms.dm b/code/datums/diseases/advance/symptoms/symptoms.dm index 28ba45f8de4..5a4331b3c61 100644 --- a/code/datums/diseases/advance/symptoms/symptoms.dm +++ b/code/datums/diseases/advance/symptoms/symptoms.dm @@ -39,6 +39,8 @@ var/naturally_occuring = TRUE ///If the symptom requires an organ for the effects to function, robotic organs are immune to disease unless inorganic biology symptom is present var/required_organ + /// How much space does this symptom use? + var/weight = 1 /datum/symptom/New() var/list/S = SSdisease.list_symptoms @@ -106,6 +108,7 @@ var/list/data = list() data["name"] = name data["desc"] = desc + data["weight"] = weight data["stealth"] = stealth data["resistance"] = resistance data["stage_speed"] = stage_speed diff --git a/code/datums/elements/corrupted_organ.dm b/code/datums/elements/corrupted_organ.dm index e7f8524b851..666ca3460fc 100644 --- a/code/datums/elements/corrupted_organ.dm +++ b/code/datums/elements/corrupted_organ.dm @@ -27,7 +27,7 @@ return ..() /// When we're taken out of someone, do something spooky -/datum/element/corrupted_organ/proc/on_removed(atom/organ, mob/living/carbon/loser) +/datum/element/corrupted_organ/proc/on_removed(atom/organ, mob/living/remover, mob/living/carbon/loser) SIGNAL_HANDLER if (loser.has_reagent(/datum/reagent/water/holywater) || loser.can_block_magic(MAGIC_RESISTANCE|MAGIC_RESISTANCE_HOLY) || prob(20)) return diff --git a/code/datums/elements/decals/_decal.dm b/code/datums/elements/decals/_decal.dm index fda646c03c9..ed28565d6c7 100644 --- a/code/datums/elements/decals/_decal.dm +++ b/code/datums/elements/decals/_decal.dm @@ -113,7 +113,7 @@ return TRUE /datum/element/decal/Detach(atom/source) - UnregisterSignal(source, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_ATOM_EXAMINE, COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_TURF_ON_SHUTTLE_MOVE, COMSIG_ATOM_SMOOTHED_ICON)) + UnregisterSignal(source, list(COMSIG_ATOM_DIR_CHANGE, COMSIG_COMPONENT_CLEAN_ACT, COMSIG_ATOM_EXAMINE, COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_TURF_ON_SHUTTLE_MOVE, COMSIG_ATOM_SMOOTHED_ICON, COMSIG_ATOM_DECALS_ROTATING)) SSdcs.UnregisterSignal(source, COMSIG_ATOM_DIR_CHANGE) source.update_appearance(UPDATE_OVERLAYS) if(isitem(source)) diff --git a/code/datums/elements/elevation.dm b/code/datums/elements/elevation.dm index 92fba97a094..b83548c6b5f 100644 --- a/code/datums/elements/elevation.dm +++ b/code/datums/elements/elevation.dm @@ -18,8 +18,9 @@ if(ismovable(target)) RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved)) - var/turf/turf = get_turf(target) - if(turf) + var/atom/atom_target = target + if(isturf(atom_target.loc)) + var/turf/turf = atom_target.loc if(!HAS_TRAIT(turf, TRAIT_TURF_HAS_ELEVATED_OBJ(pixel_shift))) RegisterSignal(turf, COMSIG_TURF_RESET_ELEVATION, PROC_REF(check_elevation)) RegisterSignal(turf, COMSIG_TURF_CHANGE, PROC_REF(pre_change_turf)) diff --git a/code/datums/elements/lazy_fishing_spot.dm b/code/datums/elements/lazy_fishing_spot.dm index 82323372e6a..901b163af15 100644 --- a/code/datums/elements/lazy_fishing_spot.dm +++ b/code/datums/elements/lazy_fishing_spot.dm @@ -14,11 +14,12 @@ if(!ispath(configuration, /datum/fish_source) || configuration == /datum/fish_source) CRASH("Lazy fishing spot has incorrect configuration passed in: [configuration].") src.configuration = configuration - + ADD_TRAIT(target, TRAIT_FISHING_SPOT, REF(src)) RegisterSignal(target, COMSIG_PRE_FISHING, PROC_REF(create_fishing_spot)) /datum/element/lazy_fishing_spot/Detach(datum/target) UnregisterSignal(target, COMSIG_PRE_FISHING) + REMOVE_TRAIT(target, TRAIT_FISHING_SPOT, REF(src)) return ..() /datum/element/lazy_fishing_spot/proc/create_fishing_spot(datum/source) diff --git a/code/datums/elements/ranged_armour.dm b/code/datums/elements/ranged_armour.dm index 61a3bc647d6..6d1322c687b 100644 --- a/code/datums/elements/ranged_armour.dm +++ b/code/datums/elements/ranged_armour.dm @@ -53,7 +53,7 @@ /// Ignore thrown damage based on projectile properties. There's no elegant way to multiply the damage because throwforce is persistent. /datum/element/ranged_armour/proc/pre_thrown_impact(atom/parent, obj/item/hit_atom, datum/thrownthing/throwingdatum) SIGNAL_HANDLER - if (!isitem(hit_atom)) + if (!isitem(hit_atom) || HAS_TRAIT(hit_atom, TRAIT_BYPASS_RANGED_ARMOR)) return if (hit_atom.throwforce >= minimum_thrown_force) return diff --git a/code/datums/elements/rust.dm b/code/datums/elements/rust.dm index 060de19494f..396307197c4 100644 --- a/code/datums/elements/rust.dm +++ b/code/datums/elements/rust.dm @@ -98,6 +98,8 @@ UnregisterSignal(source, COMSIG_ATOM_EXITED) for(var/obj/effect/glowing_rune/rune_to_remove in source) qdel(rune_to_remove) + for(var/mob/living/victim in source) + victim.remove_status_effect(/datum/status_effect/rust_corruption) /datum/element/rust/heretic/proc/on_entered(turf/source, atom/movable/entered, ...) SIGNAL_HANDLER diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm index c751c676ff5..c79e9f61822 100644 --- a/code/datums/looping_sounds/machinery_sounds.dm +++ b/code/datums/looping_sounds/machinery_sounds.dm @@ -120,7 +120,7 @@ mid_sounds = list('sound/machines/gravgen/gravgen_mid1.ogg' = 1, 'sound/machines/gravgen/gravgen_mid2.ogg' = 1, 'sound/machines/gravgen/gravgen_mid3.ogg' = 1, 'sound/machines/gravgen/gravgen_mid4.ogg' = 1) mid_length = 1.8 SECONDS extra_range = 10 - volume = 40 + volume = 20 falloff_distance = 5 falloff_exponent = 20 diff --git a/code/datums/mapgen/CaveGenerator.dm b/code/datums/mapgen/CaveGenerator.dm index 5a7844f20bf..ccda08a2d30 100644 --- a/code/datums/mapgen/CaveGenerator.dm +++ b/code/datums/mapgen/CaveGenerator.dm @@ -126,30 +126,31 @@ // If we've spawned something yet var/spawned_something = FALSE - ///Spawning isn't done in procs to save on overhead on the 60k turfs we're going through. - //FLORA SPAWNING HERE - if(flora_allowed && prob(flora_spawn_chance)) - var/flora_type = pick(flora_spawn_list) - new flora_type(target_turf) - spawned_something = TRUE - - //FEATURE SPAWNING HERE - //we may have generated something from the flora list on the target turf, so let's not place - //a feature here if that's the case (because it would look stupid) - if(feature_allowed && !spawned_something && prob(feature_spawn_chance)) - var/can_spawn = TRUE - - var/atom/picked_feature = pick(feature_spawn_list) - - for(var/obj/structure/existing_feature in range(7, target_turf)) - if(istype(existing_feature, picked_feature)) - can_spawn = FALSE - break - - if(can_spawn) - new picked_feature(target_turf) + if(!(target_turf.turf_flags & TURF_BLOCKS_POPULATE_TERRAIN_FLORAFEATURES)) + ///Spawning isn't done in procs to save on overhead on the 60k turfs we're going through. + //FLORA SPAWNING HERE + if(flora_allowed && prob(flora_spawn_chance)) + var/flora_type = pick(flora_spawn_list) + new flora_type(target_turf) spawned_something = TRUE + //FEATURE SPAWNING HERE + //we may have generated something from the flora list on the target turf, so let's not place + //a feature here if that's the case (because it would look stupid) + if(feature_allowed && !spawned_something && prob(feature_spawn_chance)) + var/can_spawn = TRUE + + var/atom/picked_feature = pick(feature_spawn_list) + + for(var/obj/structure/existing_feature in range(7, target_turf)) + if(istype(existing_feature, picked_feature)) + can_spawn = FALSE + break + + if(can_spawn) + new picked_feature(target_turf) + spawned_something = TRUE + //MOB SPAWNING HERE if(mobs_allowed && !spawned_something && prob(mob_spawn_chance)) var/atom/picked_mob = pick(mob_spawn_list) diff --git a/code/datums/mapgen/Cavegens/IcemoonCaves.dm b/code/datums/mapgen/Cavegens/IcemoonCaves.dm index a9bafcad780..1d983582625 100644 --- a/code/datums/mapgen/Cavegens/IcemoonCaves.dm +++ b/code/datums/mapgen/Cavegens/IcemoonCaves.dm @@ -5,7 +5,6 @@ /turf/closed/mineral/gibtonite/ice/icemoon = 4, ) - weighted_mob_spawn_list = list( /mob/living/basic/mining/goldgrub = 10, /mob/living/basic/mining/legion/snow = 50, @@ -16,6 +15,7 @@ /obj/structure/spawner/ice_moon = 3, /obj/structure/spawner/ice_moon/polarbear = 3, ) + weighted_flora_spawn_list = list( /obj/structure/flora/ash/chilly = 2, /obj/structure/flora/grass/both/style_random = 6, @@ -23,6 +23,7 @@ /obj/structure/flora/rock/pile/icy/style_random = 2, /obj/structure/flora/tree/pine/style_random = 2, ) + ///Note that this spawn list is also in the lavaland generator weighted_feature_spawn_list = list( /obj/structure/geyser/hollowwater = 10, diff --git a/code/datums/mind/_mind.dm b/code/datums/mind/_mind.dm index f4e106c92a5..84e33874c35 100644 --- a/code/datums/mind/_mind.dm +++ b/code/datums/mind/_mind.dm @@ -560,7 +560,7 @@ /// Sets us to the passed job datum, then greets them to their new job. /// Use this one for when you're assigning this mind to a new job for the first time, -/// or for when someone's recieving a job they'd really want to be greeted to. +/// or for when someone's receiving a job they'd really want to be greeted to. /datum/mind/proc/set_assigned_role_with_greeting(datum/job/new_role, client/incoming_client, alt_title) // SKYRAT EDIT CHANGE - ALTERNATIVE_JOB_TITLES - ORIGINAL: /datum/mind/proc/set_assigned_role_with_greeting(datum/job/new_role, client/incoming_client) . = set_assigned_role(new_role) if(assigned_role != new_role) diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index 0e54c21e702..e6cf8f2d3d8 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -469,7 +469,7 @@ mood_change = -3 timeout = 5 MINUTES -/datum/mood_event/amulette_insanity +/datum/mood_event/amulet_insanity description = "I sEe THe LiGHt, It mUsT BE stOPPed" mood_change = -6 timeout = 5 MINUTES diff --git a/code/datums/mutations/telekinesis.dm b/code/datums/mutations/telekinesis.dm index 956b266dd65..effe2763bd7 100644 --- a/code/datums/mutations/telekinesis.dm +++ b/code/datums/mutations/telekinesis.dm @@ -13,8 +13,7 @@ /datum/mutation/human/telekinesis/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) ..() if(!(type in visual_indicators)) - visual_indicators[type] = list(mutable_appearance('modular_skyrat/master_files/icons/effects/tele_effects.dmi', "telekinesishead", -MUTATIONS_LAYER)) //SKYRAT EDIT, Old icon location: "icons/effects/genetics.dmi" - //visual_indicators[type] = list(mutable_appearance('icons/mob/effects/genetics.dmi', "telekinesishead", -MUTATIONS_LAYER)) //non Skyrat version + visual_indicators[type] = list(mutable_appearance('modular_skyrat/master_files/icons/effects/tele_effects.dmi', "telekinesishead", -MUTATIONS_LAYER)) //SKYRAT EDIT CHANGE - ORIGINAL: visual_indicators[type] = list(mutable_appearance('icons/mob/effects/genetics.dmi', "telekinesishead", -MUTATIONS_LAYER)) /datum/mutation/human/telekinesis/on_acquiring(mob/living/carbon/human/H) . = ..() diff --git a/code/datums/quirks/negative_quirks/allergic.dm b/code/datums/quirks/negative_quirks/allergic.dm index 64b4c560bde..8588b95e6e3 100644 --- a/code/datums/quirks/negative_quirks/allergic.dm +++ b/code/datums/quirks/negative_quirks/allergic.dm @@ -55,14 +55,19 @@ return var/mob/living/carbon/carbon_quirk_holder = quirk_holder + //Just halts the progression, I'd suggest you run to medbay asap to get it fixed + if(carbon_quirk_holder.reagents.has_reagent(/datum/reagent/medicine/epinephrine)) + for(var/allergy in allergies) + var/datum/reagent/instantiated_med = carbon_quirk_holder.reagents.has_reagent(allergy) + if(!instantiated_med) + continue + instantiated_med.reagent_removal_skip_list |= ALLERGIC_REMOVAL_SKIP + return //block damage so long as epinephrine exists + for(var/allergy in allergies) var/datum/reagent/instantiated_med = carbon_quirk_holder.reagents.has_reagent(allergy) if(!instantiated_med) continue - //Just halts the progression, I'd suggest you run to medbay asap to get it fixed - if(carbon_quirk_holder.reagents.has_reagent(/datum/reagent/medicine/epinephrine)) - instantiated_med.reagent_removal_skip_list |= ALLERGIC_REMOVAL_SKIP - return //intentionally stops the entire proc so we avoid the organ damage after the loop instantiated_med.reagent_removal_skip_list -= ALLERGIC_REMOVAL_SKIP carbon_quirk_holder.adjustToxLoss(3 * seconds_per_tick) carbon_quirk_holder.reagents.add_reagent(/datum/reagent/toxin/histamine, 3 * seconds_per_tick) diff --git a/code/datums/shuttles/emergency.dm b/code/datums/shuttles/emergency.dm index 984c0b34ea9..aabb144b5a1 100644 --- a/code/datums/shuttles/emergency.dm +++ b/code/datums/shuttles/emergency.dm @@ -1,6 +1,6 @@ #define EMAG_LOCKED_SHUTTLE_COST (CARGO_CRATE_VALUE * 50) -/datum/map_template/shuttle/emergency // SKYRAT EDIT OVERRIDE - OVERRIDEN IN ADVANCED_SHUTTLES - shuttles.dm +/datum/map_template/shuttle/emergency // SKYRAT EDIT OVERRIDE - OVERRIDDEN IN ADVANCED_SHUTTLES - shuttles.dm port_id = "emergency" name = "Base Shuttle Template (Emergency)" ///assoc list of shuttle events to add to this shuttle on spawn (typepath = weight) diff --git a/code/datums/sprite_accessories.dm b/code/datums/sprite_accessories.dm index 2c31b61ea1a..202471d620f 100644 --- a/code/datums/sprite_accessories.dm +++ b/code/datums/sprite_accessories.dm @@ -1167,8 +1167,6 @@ gender = MALE use_static = TRUE - - /* SKYRAT EDIT REMOVAL START - Underwear and bra split //FEMALE UNDERWEAR /datum/sprite_accessory/underwear/female_bikini @@ -1467,6 +1465,7 @@ name = "Short-sleeved Shirt (White)" icon_state = "whiteshortsleeve" gender = NEUTER + /* SKYRAT EDIT REMOVAL START - Underwear and bra split /datum/sprite_accessory/undershirt/sports_bra name = "Sports Bra" @@ -1478,6 +1477,7 @@ icon_state = "sports_bra_alt" gender = NEUTER */ // SKYRAT EDIT END + /datum/sprite_accessory/undershirt/blueshirtsport name = "Sports Shirt (Blue)" icon_state = "blueshirtsport" @@ -1890,18 +1890,6 @@ name = "Angeler" icon_state = "angler" -/datum/sprite_accessory/horns/broken - name = "Broken" - icon_state = "broken" - -/datum/sprite_accessory/horns/broken_right - name = "Broken(right)" - icon_state = "rbroken" - -/datum/sprite_accessory/horns/broken_left - name = "Broken(left)" - icon_state = "lbroken" - /datum/sprite_accessory/ears icon = 'icons/mob/human/cat_features.dmi' em_block = TRUE @@ -2178,17 +2166,10 @@ color_src = HAIR_COLOR em_block = TRUE -/datum/sprite_accessory/caps/none - name = "None" - icon_state = "none" - /datum/sprite_accessory/caps/round name = "Round" icon_state = "round" - - - /datum/sprite_accessory/moth_wings icon = 'icons/mob/human/species/moth/moth_wings.dmi' color_src = null diff --git a/code/datums/station_traits/_station_trait.dm b/code/datums/station_traits/_station_trait.dm index 4c8b19a1358..493f036e191 100644 --- a/code/datums/station_traits/_station_trait.dm +++ b/code/datums/station_traits/_station_trait.dm @@ -35,6 +35,8 @@ GLOBAL_LIST_EMPTY(lobby_station_traits) var/dynamic_threat_id /// If ran during dynamic, do we reduce the total threat? Will be overriden by config if set var/threat_reduction = 0 + /// Which ruleset flags to allow dynamic to use. null to disregard + var/dynamic_category = null /// Trait should not be instantiated in a round if its type matches this type var/abstract_type = /datum/station_trait @@ -45,6 +47,8 @@ GLOBAL_LIST_EMPTY(lobby_station_traits) if(threat_reduction) GLOB.dynamic_station_traits[src] = threat_reduction + if(dynamic_category) + GLOB.dynamic_ruleset_categories = dynamic_category if(sign_up_button) GLOB.lobby_station_traits += src if(trait_processes) diff --git a/code/datums/station_traits/neutral_traits.dm b/code/datums/station_traits/neutral_traits.dm index 9df85756c21..67b24dc744d 100644 --- a/code/datums/station_traits/neutral_traits.dm +++ b/code/datums/station_traits/neutral_traits.dm @@ -562,3 +562,15 @@ #undef SKUB_IDFC #undef RANDOM_SKUB +/// Crew don't ever spawn as enemies of the station. Obsesseds, blob infection, space changelings etc can still happen though +/datum/station_trait/background_checks + name = "Station-Wide Background Checks" + report_message = "We replaced the intern doing your crew's background checks with a trained screener for this shift! That said, our enemies may just find another way to infiltrate the station, so be careful." + trait_type = STATION_TRAIT_NEUTRAL + weight = 1 + show_in_report = TRUE + can_revert = FALSE + + dynamic_category = RULESET_CATEGORY_NO_WITTING_CREW_ANTAGONISTS + threat_reduction = 15 + dynamic_threat_id = "Background Checks" diff --git a/code/datums/station_traits/positive_traits.dm b/code/datums/station_traits/positive_traits.dm index f93ce4989d4..88a5aed2d83 100644 --- a/code/datums/station_traits/positive_traits.dm +++ b/code/datums/station_traits/positive_traits.dm @@ -1,7 +1,6 @@ #define PARTY_COOLDOWN_LENGTH_MIN (6 MINUTES) #define PARTY_COOLDOWN_LENGTH_MAX (12 MINUTES) - /datum/station_trait/lucky_winner name = "Lucky winner" trait_type = STATION_TRAIT_POSITIVE @@ -31,6 +30,9 @@ new /obj/item/reagent_containers/cup/glass/bottle/beer(toLaunch) new /obj/effect/pod_landingzone(T, toLaunch) +#undef PARTY_COOLDOWN_LENGTH_MIN +#undef PARTY_COOLDOWN_LENGTH_MAX + /datum/station_trait/galactic_grant name = "Galactic grant" trait_type = STATION_TRAIT_POSITIVE @@ -369,6 +371,3 @@ trait_to_give = STATION_TRAIT_ASSISTANT_GIMMICKS show_in_report = TRUE blacklist = list(/datum/station_trait/colored_assistants) - -#undef PARTY_COOLDOWN_LENGTH_MIN -#undef PARTY_COOLDOWN_LENGTH_MAX diff --git a/code/datums/status_effects/debuffs/tox_vomit.dm b/code/datums/status_effects/debuffs/tox_vomit.dm new file mode 100644 index 00000000000..c1f5aa651ef --- /dev/null +++ b/code/datums/status_effects/debuffs/tox_vomit.dm @@ -0,0 +1,23 @@ +/// Simple status effect applied when a mob has high toxins and starts to vomit regularly +/datum/status_effect/tox_vomit + id = "vomitting_from_toxins" + tick_interval = 2 SECONDS + alert_type = null + /// Has a chance to count up every tick, until it reaches a threshold, which causes the mob to vomit and resets + VAR_PRIVATE/puke_counter = 0 + +/datum/status_effect/tox_vomit/tick(seconds_between_ticks) + if(!AT_TOXIN_VOMIT_THRESHOLD(owner)) + qdel(src) + return + + if(owner.stat == DEAD || HAS_TRAIT(owner, TRAIT_STASIS)) + return + + puke_counter += SPT_PROB(30, seconds_between_ticks) + if(puke_counter < 50) // This is like 150 seconds apparently according to old comments + return + + var/mob/living/carbon/human/sick_guy = owner + sick_guy.vomit(VOMIT_CATEGORY_DEFAULT, lost_nutrition = 20) + puke_counter = 0 diff --git a/code/datums/storage/storage.dm b/code/datums/storage/storage.dm index 90e5a00334a..023cc066747 100644 --- a/code/datums/storage/storage.dm +++ b/code/datums/storage/storage.dm @@ -455,6 +455,7 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) return FALSE SEND_SIGNAL(parent, COMSIG_STORAGE_STORED_ITEM, to_insert, user, force) + SEND_SIGNAL(src, COMSIG_STORAGE_STORED_ITEM, to_insert, user, force) to_insert.forceMove(real_location) item_insertion_feedback(user, to_insert, override) parent.update_appearance() @@ -549,6 +550,9 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) refresh_views() parent.update_appearance() + + SEND_SIGNAL(parent, COMSIG_ATOM_REMOVED_ITEM, thing, remove_to_loc, silent) + SEND_SIGNAL(src, COMSIG_STORAGE_REMOVED_ITEM, thing, remove_to_loc, silent) return TRUE /** diff --git a/code/datums/storage/subtypes/cards.dm b/code/datums/storage/subtypes/cards.dm index 8e6a2bfb369..bf9cc6d0d5b 100644 --- a/code/datums/storage/subtypes/cards.dm +++ b/code/datums/storage/subtypes/cards.dm @@ -15,19 +15,6 @@ . = ..() set_holdable(/obj/item/tcgcard) -/datum/storage/tcg/attempt_remove(obj/item/thing, atom/remove_to_loc, silent = FALSE) - . = ..() - if(!.) - return - - var/obj/item/tcgcard_deck/deck = parent - var/obj/item/tcgcard/card = thing - card.flipped = deck.flipped - card.update_appearance(UPDATE_ICON_STATE) - - if(length(real_location.contents) == 0) - qdel(parent) - /datum/storage/tcg/show_contents(mob/to_show) // sometimes, show contents is called when the mob is already seeing the contents of the deck, to refresh the view. // to avoid spam, we only show the message if they weren't already seeing the contents. diff --git a/code/datums/wounds/_wounds.dm b/code/datums/wounds/_wounds.dm index a2b3647df01..cde13ea2d20 100644 --- a/code/datums/wounds/_wounds.dm +++ b/code/datums/wounds/_wounds.dm @@ -215,13 +215,13 @@ var/msg = span_danger("[victim]'s [limb.plaintext_zone] [occur_text]!") var/vis_dist = COMBAT_MESSAGE_RANGE - if(severity > WOUND_SEVERITY_MODERATE) + if(severity > WOUND_SEVERITY_SEVERE) msg = "[msg]" vis_dist = DEFAULT_MESSAGE_RANGE victim.visible_message(msg, span_userdanger("Your [limb.plaintext_zone] [occur_text]!"), vision_distance = vis_dist) if(sound_effect) - playsound(L.owner, sound_effect, sound_volume + (20 * severity), TRUE) + playsound(L.owner, sound_effect, sound_volume + (20 * severity), TRUE, falloff_exponent = SOUND_FALLOFF_EXPONENT + 2, ignore_walls = FALSE, falloff_distance = 0) wound_injury(old_wound, attack_direction = attack_direction) if(!demoted) diff --git a/code/datums/wounds/burns.dm b/code/datums/wounds/burns.dm index 18d710ca0d3..6c35cedd33c 100644 --- a/code/datums/wounds/burns.dm +++ b/code/datums/wounds/burns.dm @@ -286,7 +286,7 @@ flesh_damage = 5 scar_keyword = "burnmoderate" - simple_desc = "Patient's skin is burned, weakening the limb and multiplying percieved damage!" + simple_desc = "Patient's skin is burned, weakening the limb and multiplying perceived damage!" simple_treat_text = "Ointment will speed up recovery, as will regenerative mesh. Risk of infection is negligible." homemade_treat_text = "Healthy tea will speed up recovery. Salt, or preferably a salt-water mixture, will sanitize the wound, but the former will cause skin irritation, increasing the risk of infection." diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 786ab5d2108..be675535830 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -73,7 +73,7 @@ var/atom/movable/pulling var/grab_state = GRAB_PASSIVE /// The strongest grab we can acomplish - var/max_grab = GRAB_KILL + var/max_grab = GRAB_PASSIVE var/throwforce = 0 var/datum/component/orbiter/orbiting @@ -289,7 +289,7 @@ // We're gonna build a light, and mask it with the base turf's appearance // grab a 32x32 square of it // I would like to use GLOB.starbright_overlays here - // But that breaks down for... some? reason. I think recieving a render relay breaks keep_together or something + // But that breaks down for... some? reason. I think receiving a render relay breaks keep_together or something // So we're just gonna accept that this'll break with starlight color changing. hardly matters since this is really only for offset stuff, but I'd love to fix it someday var/mutable_appearance/light = new(GLOB.starlight_objects[GET_TURF_PLANE_OFFSET(generate_for) + 1]) light.render_target = "" diff --git a/code/game/gamemodes/objective_items.dm b/code/game/gamemodes/objective_items.dm index 448e43893b8..b6563d3bc5f 100644 --- a/code/game/gamemodes/objective_items.dm +++ b/code/game/gamemodes/objective_items.dm @@ -514,12 +514,12 @@ if(istype(potential_storage, /obj/item/aicard)) var/obj/item/aicard/card = potential_storage being = card.AI // why is this one capitalized and the other one not? i wish i knew. - // SKYRAT REMOVAL START - MOD PAI + // SKYRAT EDIT REMOVAL START - MOD PAI /*else if(istype(potential_storage, /obj/item/mod/control)) var/obj/item/mod/control/suit = potential_storage if(isAI(suit.ai_assistant)) being = suit.ai_assistant - */ // SKYRAT REMOVAL END + */ // SKYRAT EDIT REMOVAL END else stack_trace("check_special_completion() called on [src] with [potential_storage] ([potential_storage.type])! That's not supposed to happen!") return FALSE diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 296a9031ae2..9b33a901d9e 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -353,6 +353,7 @@ created.pixel_x = created.base_pixel_x + rand(-6, 6) created.pixel_y = created.base_pixel_y + rand(-6, 6) created.forceMove(target) + SSblackbox.record_feedback("nested tally", "lathe_printed_items", 1, list("[type]", "[created.type]")) if(is_stack) items_remaining = 0 diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 43c25921a62..5699d181a9f 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -104,7 +104,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) JOB_HEAD_OF_SECURITY = 10, JOB_WARDEN = 11, JOB_SECURITY_OFFICER = 12, - /* SKYRAT REMOVAL - We need those slots for our own jobs, these jobs aren't on Skyrat anymore anyway. + /* SKYRAT EDIT REMOVAL - We need those slots for our own jobs, these jobs aren't on Skyrat anymore anyway. JOB_SECURITY_OFFICER_MEDICAL = 13, JOB_SECURITY_OFFICER_ENGINEERING = 14, JOB_SECURITY_OFFICER_SCIENCE = 15, diff --git a/code/game/machinery/computer/orders/order_computer/order_computer.dm b/code/game/machinery/computer/orders/order_computer/order_computer.dm index 718fa2bc218..770897a2fe4 100644 --- a/code/game/machinery/computer/orders/order_computer/order_computer.dm +++ b/code/game/machinery/computer/orders/order_computer/order_computer.dm @@ -208,7 +208,7 @@ GLOBAL_LIST_EMPTY(order_console_products) return TRUE /** - * Checks if an ID card is able to afford the total cost of the current console's grocieries + * Checks if an ID card is able to afford the total cost of the current console's groceries * and deducts the cost if they can. * Args: * card - The ID card we check for balance diff --git a/code/game/machinery/computer/orders/order_items/cook/order_milk_eggs.dm b/code/game/machinery/computer/orders/order_items/cook/order_milk_eggs.dm index fcd0737675b..9e5413f8548 100644 --- a/code/game/machinery/computer/orders/order_items/cook/order_milk_eggs.dm +++ b/code/game/machinery/computer/orders/order_items/cook/order_milk_eggs.dm @@ -134,3 +134,13 @@ name = "Mothic Pantry Pack" item_path = /obj/item/storage/box/mothic_cans_sauces cost_per_order = 120 + +/datum/orderable_item/milk_eggs/armorfish + name = "Cleaned Armorfish" + item_path = /obj/item/food/fishmeat/armorfish + cost_per_order = 30 + +/datum/orderable_item/milk_eggs/moonfish + name = "Moonfish" + item_path = /obj/item/food/fishmeat/moonfish + cost_per_order = 30 diff --git a/code/game/machinery/computer/orders/order_items/cook/order_reagents.dm b/code/game/machinery/computer/orders/order_items/cook/order_reagents.dm index d6b4728d104..39fb38df550 100644 --- a/code/game/machinery/computer/orders/order_items/cook/order_reagents.dm +++ b/code/game/machinery/computer/orders/order_items/cook/order_reagents.dm @@ -95,3 +95,13 @@ name = "Grounding Solution" item_path = /obj/item/reagent_containers/condiment/grounding_solution cost_per_order = 30 + +/datum/orderable_item/reagents/honey + name = "Honey" + item_path = /obj/item/reagent_containers/condiment/honey + cost_per_order = 125 //its high quality honey :) + +/datum/orderable_item/reagents/mayonnaise + name = "Mayonnaise" + item_path = /obj/item/reagent_containers/condiment/mayonnaise + cost_per_order = 30 diff --git a/code/game/machinery/computer/orders/order_items/cook/order_veggies.dm b/code/game/machinery/computer/orders/order_items/cook/order_veggies.dm index 506920986dd..f96562724d2 100644 --- a/code/game/machinery/computer/orders/order_items/cook/order_veggies.dm +++ b/code/game/machinery/computer/orders/order_items/cook/order_veggies.dm @@ -89,3 +89,91 @@ name = "Pickled Voltvine" item_path = /obj/item/food/pickled_voltvine cost_per_order = 5 + +/datum/orderable_item/veggies/chili + name = "Chili" + item_path = /obj/item/food/grown/chili + +/datum/orderable_item/veggies/berries + name = "Berries" + item_path = /obj/item/food/grown/berries + +/datum/orderable_item/veggies/pineapple + name = "Pineapple" + item_path = /obj/item/food/grown/pineapple + +/datum/orderable_item/veggies/peas + name = "Peas" + item_path = /obj/item/food/grown/peas + +/datum/orderable_item/veggies/korta_nut //nanotrasen does not devote as much of their resources to pathetic lizard crops + name = "Korta Nut" + item_path = /obj/item/food/grown/korta_nut + cost_per_order = 15 + +/datum/orderable_item/veggies/parsnip + name = "Parsnip" + item_path = /obj/item/food/grown/parsnip + +/datum/orderable_item/veggies/redbeet + name = "Red Beet" + item_path = /obj/item/food/grown/redbeet + +/datum/orderable_item/veggies/orange + name = "Orange" + item_path = /obj/item/food/grown/citrus/orange + +/datum/orderable_item/veggies/vanillapod + name = "Vanilla" + item_path = /obj/item/food/grown/vanillapod + cost_per_order = 25 //food items that are treated as mutations in game should be more expensive. groceries shouldnt include ACTUAL mutations but i think real foods are ok + +/datum/orderable_item/veggies/sweetkorta + name = "Sweet Korta Nut" + item_path = /obj/item/food/grown/korta_nut/sweet + cost_per_order = 30 + +/datum/orderable_item/veggies/redonion + name = "Red Onion" + item_path = /obj/item/food/grown/onion/red + cost_per_order = 25 + +/datum/orderable_item/veggies/peanut + name = "Peanut" + item_path = /obj/item/food/grown/peanut + +/datum/orderable_item/veggies/sweetpotato + name = "Sweet Potato" + item_path = /obj/item/food/grown/potato/sweet + cost_per_order = 25 + +/datum/orderable_item/veggies/oat + name = "Oat" + item_path = /obj/item/food/grown/oat + +/datum/orderable_item/veggies/trumpet + name = "Spaceman's Trumpet" + item_path = /obj/item/food/grown/trumpet + cost_per_order = 25 + +/datum/orderable_item/veggies/banana + name = "Banana" + item_path = /obj/item/food/grown/banana + +/datum/orderable_item/veggies/ghostchili + name = "Ghost Chili" + item_path = /obj/item/food/grown/ghost_chili + cost_per_order = 25 + +/datum/orderable_item/veggies/lemon + name = "Lemon" + item_path = /obj/item/food/grown/citrus/lemon + +/datum/orderable_item/veggies/lime + name = "Lime" + item_path = /obj/item/food/grown/citrus/lime + +/datum/orderable_item/veggies/toechtauese + name = "Töchtaüse berries" + item_path = /obj/item/food/grown/toechtauese + cost_per_order = 15 diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 661e9035f01..5c27f24776b 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -147,9 +147,9 @@ var/previous_airlock = /obj/structure/door_assembly /// Material of inner filling; if its an airlock with glass, this should be set to "glass" var/airlock_material - var/overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' //OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + var/overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' //OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE /// Used for papers and photos pinned to the airlock - var/note_overlay_file = 'icons/obj/doors/airlocks/station/overlays.dmi'//OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + var/note_overlay_file = 'icons/obj/doors/airlocks/station/overlays.dmi'//OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE var/cyclelinkeddir = 0 var/obj/machinery/door/airlock/cyclelinkedairlock @@ -1545,10 +1545,12 @@ var/obj/item/electronics/airlock/ae if(!electronics) ae = new/obj/item/electronics/airlock(loc) + if(closeOtherId) + ae.passed_cycle_id = closeOtherId if(length(req_one_access)) ae.one_access = 1 ae.accesses = req_one_access - else + else if(length(req_access)) ae.accesses = req_access else ae = electronics diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index d166d06fa7f..b893f7543ae 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -760,7 +760,7 @@ /obj/machinery/door/firedoor/heavy name = "heavy firelock" - icon = 'icons/obj/doors/Doorfire.dmi' //SKYRAT EDIT - ICON OVERRIDEN IN AESTHETICS MODULE + icon = 'icons/obj/doors/Doorfire.dmi' // SKYRAT EDIT - ICON OVERRIDDEN IN AESTHETICS MODULE glass = FALSE explosion_block = 2 assemblytype = /obj/structure/firelock_frame/heavy @@ -775,7 +775,7 @@ /obj/structure/firelock_frame name = "firelock frame" desc = "A partially completed firelock." - icon = 'icons/obj/doors/Doorfire.dmi' //SKYRAT EDIT - ICON OVERRIDEN IN AESTHETICS MODULE + icon = 'icons/obj/doors/Doorfire.dmi' // SKYRAT EDIT - ICON OVERRIDDEN IN AESTHETICS MODULE icon_state = "frame1" base_icon_state = "frame" anchored = FALSE diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index deb8341b0ba..1d92cd69d07 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -1,7 +1,7 @@ /obj/machinery/door/poddoor name = "blast door" desc = "A heavy duty blast door that opens mechanically." - icon = 'icons/obj/doors/blastdoor.dmi' //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/doors/blastdoor.dmi' //ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "closed" layer = BLASTDOOR_LAYER closingLayer = CLOSED_BLASTDOOR_LAYER diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm index dc3b917705f..be3730fd57c 100644 --- a/code/game/machinery/embedded_controller/access_controller.dm +++ b/code/game/machinery/embedded_controller/access_controller.dm @@ -31,7 +31,7 @@ return TRUE /obj/machinery/door_buttons/access_button - icon = 'icons/obj/machines/wallmounts.dmi' // SKYRAT EDIT CHANGE - ICON OVERRIDEN BY AESTHETICS - SEE MODULE + icon = 'icons/obj/machines/wallmounts.dmi' // SKYRAT EDIT CHANGE - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE icon_state = "access_button_standby" base_icon_state = "access_button" name = "access button" diff --git a/code/game/machinery/embedded_controller/airlock_controller.dm b/code/game/machinery/embedded_controller/airlock_controller.dm index 359ab48945b..fe0ca05c760 100644 --- a/code/game/machinery/embedded_controller/airlock_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_controller.dm @@ -6,7 +6,7 @@ #define AIRLOCK_STATE_OUTOPEN "outopen" /obj/machinery/airlock_controller - icon = 'icons/obj/machines/wallmounts.dmi' // SKYRAT EDIT CHANGE - ICON OVERRIDEN BY AESTHETICS - SEE MODULE + icon = 'icons/obj/machines/wallmounts.dmi' // SKYRAT EDIT CHANGE - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE icon_state = "airlock_control_standby" base_icon_state = "airlock_control" diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index d2041f80659..96da9e8b57c 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -596,7 +596,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ /obj/machinery/holopad/proc/SetLightsAndPower() var/total_users = LAZYLEN(masters) + LAZYLEN(holo_calls) update_use_power(total_users > 0 ? ACTIVE_POWER_USE : IDLE_POWER_USE) - update_mode_power_usage(ACTIVE_POWER_USE, active_power_usage + HOLOPAD_PASSIVE_POWER_USAGE + (HOLOGRAM_POWER_USAGE * total_users)) + update_mode_power_usage(ACTIVE_POWER_USE, initial(active_power_usage) + HOLOPAD_PASSIVE_POWER_USAGE + (HOLOGRAM_POWER_USAGE * total_users)) if(total_users || replay_mode) set_light(2) else diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index f02a3eb1759..03ee57eb389 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -1,7 +1,7 @@ /// The light switch. Can have multiple per area. /obj/machinery/light_switch name = "light switch" - icon = 'icons/obj/machines/wallmounts.dmi' //SKYRAT EDIT CHANGE - ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/machines/wallmounts.dmi' //SKYRAT EDIT CHANGE - ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "light-nopower" base_icon_state = "light" desc = "Make dark." diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 1e641f02460..a28f9600dc9 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -283,7 +283,7 @@ /obj/machinery/power/shieldwallgen name = "shield wall generator" desc = "A shield generator." - icon ='icons/obj/machines/shield_generator.dmi' //SKYRAT EDIT CHANGE - ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon ='icons/obj/machines/shield_generator.dmi' //SKYRAT EDIT CHANGE - ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "shield_wall_gen" base_icon_state = "shield_wall_gen" anchored = FALSE diff --git a/code/game/machinery/sleepers.dm b/code/game/machinery/sleepers.dm index 33e255badb2..836ea2cf09a 100644 --- a/code/game/machinery/sleepers.dm +++ b/code/game/machinery/sleepers.dm @@ -309,6 +309,12 @@ /obj/machinery/sleeper/syndie/fullupgrade circuit = /obj/item/circuitboard/machine/sleeper/fullupgrade +///Fully upgraded, not deconstructable, while using the normal sprite. +/obj/machinery/sleeper/syndie/fullupgrade/nt + icon_state = "sleeper" + base_icon_state = "sleeper" + deconstructable = FALSE + /obj/machinery/sleeper/self_control controls_inside = TRUE diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 3f2bb0b0c9e..d5a36824fce 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -8,7 +8,7 @@ anchored = FALSE density = TRUE interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN - icon = 'icons/obj/pipes_n_cables/atmos.dmi' // SKYRAT EDIT CHANGE - ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/pipes_n_cables/atmos.dmi' // SKYRAT EDIT CHANGE - ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "sheater-off" base_icon_state = "sheater" name = "space heater" diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index fd0cb504c84..277af76c56e 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -8,13 +8,13 @@ #define LINE1_Y -4 #define LINE2_X 1 #define LINE2_Y -11 -#define STATUS_DISPLAY_FONT_DATUM /datum/font/tiny_unicode/size_12pt +GLOBAL_DATUM_INIT(status_font, /datum/font, new /datum/font/tiny_unicode/size_12pt()) /// Status display which can show images and scrolling text. /obj/machinery/status_display name = "status display" desc = null - icon = 'icons/obj/machines/status_display.dmi' //// SKYRAT EDIT CHANGE - ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/machines/status_display.dmi' //// SKYRAT EDIT CHANGE - ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "frame" verb_say = "beeps" verb_ask = "beeps" @@ -22,8 +22,11 @@ density = FALSE layer = ABOVE_WINDOW_LAYER - var/obj/effect/overlay/status_display_text/message1_overlay - var/obj/effect/overlay/status_display_text/message2_overlay + // We store overlays as keys, so multiple displays can use the same object safely + /// String key we use to index the first effect overlay displayed on us + var/message_key_1 + /// String key we use to index the second effect overlay displayed on us + var/message_key_2 var/current_picture = "" var/current_mode = SD_BLANK var/message1 = "" @@ -109,10 +112,26 @@ * Don't call this in subclasses. */ /obj/machinery/status_display/proc/remove_messages() - if(message1_overlay) - QDEL_NULL(message1_overlay) - if(message2_overlay) - QDEL_NULL(message2_overlay) + var/obj/effect/overlay/status_display_text/overlay_1 = get_status_text(message_key_1) + message_key_1 = null + overlay_1?.disown(src) + var/obj/effect/overlay/status_display_text/overlay_2 = get_status_text(message_key_2) + message_key_2 = null + overlay_2?.disown(src) + +// List in the form key -> status display that shows said key +GLOBAL_LIST_EMPTY(key_to_status_display) + +/proc/generate_status_text(line_y, message, x_offset, text_color, header_text_color, line_pair) + var/key = "[line_y]-[message]-[x_offset]-[text_color]-[header_text_color]-[line_pair]" + var/obj/effect/overlay/status_display_text/new_overlay = GLOB.key_to_status_display[key] + if(!new_overlay) + new_overlay = new(null, line_y, message, text_color, header_text_color, x_offset, line_pair, key) + GLOB.key_to_status_display[key] = new_overlay + return new_overlay + +/proc/get_status_text(key) + return GLOB.key_to_status_display[key] /** * Create/update message overlay. @@ -125,19 +144,16 @@ * * message - the new message text. * Returns new /obj/effect/overlay/status_display_text or null if unchanged. */ -/obj/machinery/status_display/proc/update_message(obj/effect/overlay/status_display_text/overlay, line_y, message, x_offset, line_pair) - if(overlay && message == overlay.message) - return null +/obj/machinery/status_display/proc/update_message(current_key, line_y, message, x_offset, line_pair) + var/obj/effect/overlay/status_display_text/current_overlay = get_status_text(current_key) + var/obj/effect/overlay/status_display_text/new_overlay = generate_status_text(line_y, message, text_color, header_text_color, x_offset, line_pair) - if(overlay) - qdel(overlay) + if(current_overlay == new_overlay) + return current_key - var/obj/effect/overlay/status_display_text/new_status_display_text = new(src, line_y, message, text_color, header_text_color, x_offset, line_pair) - // Draw our object visually "in front" of this display, taking advantage of sidemap - new_status_display_text.pixel_y = -32 - new_status_display_text.pixel_z = 32 - vis_contents += new_status_display_text - return new_status_display_text + current_overlay?.disown(src) + new_overlay.own(src) + return new_overlay.status_key /obj/machinery/status_display/update_appearance(updates=ALL) . = ..() @@ -171,17 +187,12 @@ var/line1_metric var/line2_metric var/line_pair - var/datum/font/display_font = new STATUS_DISPLAY_FONT_DATUM() - line1_metric = display_font.get_metrics(message1) - line2_metric = display_font.get_metrics(message2) + line1_metric = GLOB.status_font.get_metrics(message1) + line2_metric = GLOB.status_font.get_metrics(message2) line_pair = (line1_metric > line2_metric ? line1_metric : line2_metric) - var/overlay = update_message(message1_overlay, LINE1_Y, message1, LINE1_X, line_pair) - if(overlay) - message1_overlay = overlay - overlay = update_message(message2_overlay, LINE2_Y, message2, LINE2_X, line_pair) - if(overlay) - message2_overlay = overlay + message_key_1 = update_message(message_key_1, LINE1_Y, message1, LINE1_X, line_pair) + message_key_2 = update_message(message_key_2, LINE2_Y, message2, LINE2_X, line_pair) // Turn off backlight if message is blank if(message1 == "" && message2 == "") @@ -215,6 +226,8 @@ /obj/machinery/status_display/examine(mob/user) . = ..() + var/obj/effect/overlay/status_display_text/message1_overlay = get_status_text(message_key_1) + var/obj/effect/overlay/status_display_text/message2_overlay = get_status_text(message_key_2) if (message1_overlay || message2_overlay) . += "The display says:" if (message1_overlay.message) @@ -247,30 +260,37 @@ /obj/effect/overlay/status_display_text icon = 'icons/obj/machines/status_display.dmi' vis_flags = VIS_INHERIT_LAYER | VIS_INHERIT_PLANE | VIS_INHERIT_ID + // physically shift down to render correctly + pixel_y = -32 + pixel_z = 32 /// The message this overlay is displaying. var/message + /// Amount of usage this overlay is getting + var/use_count = 0 + /// The status key we represent + var/status_key // If the line is short enough to not marquee, and it matches this, it's a header. var/static/regex/header_regex = regex("^-.*-$") -/obj/effect/overlay/status_display_text/Initialize(mapload, yoffset, line, text_color, header_text_color, xoffset = 0, line_pair) +/obj/effect/overlay/status_display_text/Initialize(mapload, maptext_y, message, text_color, header_text_color, xoffset = 0, line_pair, status_key) . = ..() - maptext_y = yoffset - message = line + src.maptext_y = maptext_y + src.message = message + src.status_key = status_key - var/datum/font/display_font = new STATUS_DISPLAY_FONT_DATUM() - var/line_width = display_font.get_metrics(line) + var/line_width = GLOB.status_font.get_metrics(message) if(line_width > MAX_STATIC_WIDTH) // Marquee text - var/marquee_message = "[line] [line] [line]" + var/marquee_message = "[message] [message] [message]" // Width of full content. Must of these is never revealed unless the user inputted a single character. - var/full_marquee_width = display_font.get_metrics("[marquee_message] ") + var/full_marquee_width = GLOB.status_font.get_metrics("[marquee_message] ") // We loop after only this much has passed. - var/looping_marquee_width = (display_font.get_metrics("[line] ]") - SCROLL_PADDING) + var/looping_marquee_width = (GLOB.status_font.get_metrics("[message] ]") - SCROLL_PADDING) maptext = generate_text(marquee_message, center = FALSE, text_color = text_color) maptext_width = full_marquee_width @@ -285,10 +305,28 @@ animate(maptext_x = MAX_STATIC_WIDTH, time = 0) else // Centered text - var/color = header_regex.Find(line) ? header_text_color : text_color - maptext = generate_text(line, center = TRUE, text_color = color) + var/color = header_regex.Find(message) ? header_text_color : text_color + maptext = generate_text(message, center = TRUE, text_color = color) maptext_x = xoffset //Defaults to 0, this would be centered unless overided +/obj/effect/overlay/status_display_text/Destroy(force) + GLOB.key_to_status_display -= status_key + return ..() + +/// Status displays are static, shared by everyone who needs them +/// This marks us as being used by one more guy +/obj/effect/overlay/status_display_text/proc/own(atom/movable/owned_by) + owned_by.vis_contents += src + use_count += 1 + +/// Status displays are static, shared by everyone who needs them +/// This marks us as no longer being used by a guy +/obj/effect/overlay/status_display_text/proc/disown(atom/movable/disowned_by) + disowned_by.vis_contents -= src + use_count -= 1 + if(use_count <= 0) + qdel(src) + /** * Generate the actual maptext. * Arguments: @@ -566,6 +604,4 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/status_display/random_message, 32) #undef LINE1_Y #undef LINE2_X #undef LINE2_Y -#undef STATUS_DISPLAY_FONT_DATUM - #undef SCROLL_PADDING diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index e59732b6fc0..4a6151c94f4 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -74,45 +74,43 @@ com.target_ref = null visible_message(span_alert("Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.")) return - if(!ismovable(M)) - return - var/turf/start_turf = get_turf(M) - if(!do_teleport(M, target, channel = TELEPORT_CHANNEL_BLUESPACE)) - return - use_energy(active_power_usage) - new /obj/effect/temp_visual/portal_animation(start_turf, src, M) - if(!calibrated && ishuman(M) && prob(30 - ((accuracy) * 10))) //oh dear a problem - var/mob/living/carbon/human/human = M - /*SKYRAT EDIT REMOVAL START - if(!(human.mob_biotypes & (MOB_ROBOTIC|MOB_MINERAL|MOB_UNDEAD|MOB_SPIRIT))) - var/datum/species/species_to_transform = /datum/species/fly - if(check_holidays(MOTH_WEEK)) - species_to_transform = /datum/species/moth - if(human.dna && human.dna.species.id != initial(species_to_transform.id)) - to_chat(M, span_hear("You hear a buzzing in your ears.")) - human.set_species(species_to_transform) - human.log_message("was turned into a [initial(species_to_transform.name)] through [src].", LOG_GAME) - SKYRAT EDIT REMOVAL END*/ - // SKYRAT EDIT ADDITION START - if(!HAS_TRAIT(human, TRAIT_NODISMEMBER)) - to_chat(human, span_danger("Your limbs lose molecular cohesion as you teleport!")) - var/list/bodyparts_dismember = list() - var/rad_mod = 0 - for(var/obj/item/bodypart/BP in human.bodyparts) - if(BP.body_zone == BODY_ZONE_CHEST || BP.body_zone== BODY_ZONE_HEAD) - continue - bodyparts_dismember.Add(BP) - for(var/i in 1 to 2) //Removing two bodyparts. - var/obj/item/bodypart/BP = pick(bodyparts_dismember) - if(!istype(BP)) - rad_mod += 300 //Bad snowflake, take more rads! - break - bodyparts_dismember.Remove(BP) //GC optimisation - human.log_message("lost a [initial(BP.name)] to the [src].", LOG_GAME) - BP.dismember() - qdel(BP) - // SKYRAT ADDITION END - calibrated = FALSE + if (ismovable(M)) + if(do_teleport(M, target, channel = TELEPORT_CHANNEL_BLUESPACE)) + use_energy(active_power_usage) + if(!calibrated && prob(30 - ((accuracy) * 10))) //oh dear a problem + if(ishuman(M))//don't remove people from the round randomly you jerks + var/mob/living/carbon/human/human = M + /* - SKYRAT EDIT CHANGE ORIGINAL + if(!(human.mob_biotypes & (MOB_ROBOTIC|MOB_MINERAL|MOB_UNDEAD|MOB_SPIRIT))) + var/datum/species/species_to_transform = /datum/species/fly + if(check_holidays(MOTH_WEEK)) + species_to_transform = /datum/species/moth + if(human.dna && human.dna.species.id != initial(species_to_transform.id)) + to_chat(M, span_hear("You hear a buzzing in your ears.")) + human.set_species(species_to_transform) + log_game("[human] ([key_name(human)]) was turned into a [initial(species_to_transform.name)] through [src].") + + */ //SKYRAT EDIT REMOVAL END + // SKYRAT EDIT ADDITION BEGIN + if(!HAS_TRAIT(human, TRAIT_NODISMEMBER)) + to_chat(human, span_danger("Your limbs lose molecular cohesion as you teleport!")) + var/list/bodyparts_dismember = list() + var/rad_mod = 0 + for(var/obj/item/bodypart/BP in human.bodyparts) + if(BP.body_zone == BODY_ZONE_CHEST || BP.body_zone== BODY_ZONE_HEAD) + continue + bodyparts_dismember.Add(BP) + for(var/i in 1 to 2) //Removing two bodyparts. + var/obj/item/bodypart/BP = pick(bodyparts_dismember) + if(!istype(BP)) + rad_mod += 300 //Bad snowflake, take more rads! + break + bodyparts_dismember.Remove(BP) //GC optimisation + BP.dismember() + qdel(BP) + //SKYRAT EDIT ADDITION END + calibrated = FALSE + return /obj/machinery/teleport/hub/update_icon_state() icon_state = "[base_icon_state][panel_open ? "-o" : (is_ready() ? 1 : 0)]" diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 483a1bd563b..08675597f13 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -176,7 +176,7 @@ GLOBAL_LIST_INIT(dye_registry, list( /obj/machinery/washing_machine name = "washing machine" desc = "Gets rid of those pesky bloodstains, or your money back!" - icon = 'icons/obj/machines/washing_machine.dmi' //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/machines/washing_machine.dmi' //ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "wm_1_0" density = TRUE state_open = TRUE diff --git a/code/game/objects/effects/anomalies/anomalies_bioscrambler.dm b/code/game/objects/effects/anomalies/anomalies_bioscrambler.dm index f1034c5541f..3b7a0d17cc7 100644 --- a/code/game/objects/effects/anomalies/anomalies_bioscrambler.dm +++ b/code/game/objects/effects/anomalies/anomalies_bioscrambler.dm @@ -11,9 +11,9 @@ /// Cooldown for every anomaly pulse COOLDOWN_DECLARE(pulse_cooldown) /// How many seconds between each anomaly pulses - var/pulse_delay = 15 SECONDS + var/pulse_delay = 10 SECONDS /// Range of the anomaly pulse - var/range = 5 + var/range = 2 /obj/effect/anomaly/bioscrambler/Initialize(mapload, new_lifespan, drops_core) . = ..() @@ -24,6 +24,8 @@ if(!COOLDOWN_FINISHED(src, pulse_cooldown)) return + new /obj/effect/temp_visual/bioscrambler_wave(get_turf(src)) + playsound(src, 'sound/magic/cosmic_energy.ogg', vol = 50, vary = TRUE) COOLDOWN_START(src, pulse_cooldown, pulse_delay) for(var/mob/living/carbon/nearby in hearers(range, src)) nearby.bioscramble(name) @@ -77,3 +79,20 @@ /obj/effect/anomaly/bioscrambler/docile/update_target() return + +/// Visual effect spawned when the bioscrambler scrambles your bio +/obj/effect/temp_visual/bioscrambler_wave + icon = 'icons/effects/64x64.dmi' + icon_state = "circle_wave" + pixel_x = -16 + pixel_y = -16 + duration = 0.5 SECONDS + color = COLOR_LIME + +/obj/effect/temp_visual/bioscrambler_wave/Initialize(mapload) + transform = matrix().Scale(0.1) + animate(src, transform = matrix().Scale(2), time = duration, flags = ANIMATION_PARALLEL) + animate(src, alpha = 255, time = duration * 0.6, flags = ANIMATION_PARALLEL) + animate(alpha = 0, time = duration * 0.4) + apply_wibbly_filters(src) + return ..() diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm index 8c0788e2fd7..0dfa3030985 100644 --- a/code/game/objects/effects/decals/cleanable/humans.dm +++ b/code/game/objects/effects/decals/cleanable/humans.dm @@ -111,8 +111,6 @@ drydesc = "They look bloody and gruesome while some terrible smell fills the air." decal_reagent = /datum/reagent/consumable/liquidgibs reagent_amount = 5 - ///Information about the diseases our streaking spawns - var/list/streak_diseases /obj/effect/decal/cleanable/blood/gibs/Initialize(mapload, list/datum/disease/diseases) . = ..() @@ -120,7 +118,6 @@ RegisterSignal(src, COMSIG_MOVABLE_PIPE_EJECTING, PROC_REF(on_pipe_eject)) /obj/effect/decal/cleanable/blood/gibs/Destroy() - LAZYNULL(streak_diseases) return ..() /obj/effect/decal/cleanable/blood/gibs/replace_decal(obj/effect/decal/cleanable/C) @@ -147,8 +144,7 @@ streak(dirs) /obj/effect/decal/cleanable/blood/gibs/proc/streak(list/directions, mapload=FALSE) - LAZYINITLIST(streak_diseases) - SEND_SIGNAL(src, COMSIG_GIBS_STREAK, directions, streak_diseases) + SEND_SIGNAL(src, COMSIG_GIBS_STREAK, directions) var/direction = pick(directions) var/delay = 2 var/range = pick(0, 200; 1, 150; 2, 50; 3, 17; 50) //the 3% chance of 50 steps is intentional and played for laughs. @@ -170,7 +166,7 @@ SIGNAL_HANDLER if(NeverShouldHaveComeHere(loc)) return - new /obj/effect/decal/cleanable/blood/splatter(loc, streak_diseases) + new /obj/effect/decal/cleanable/blood/splatter(loc) /obj/effect/decal/cleanable/blood/gibs/up icon_state = "gibup1" diff --git a/code/game/objects/effects/spawners/random/lavaland_mobs.dm b/code/game/objects/effects/spawners/random/lavaland_mobs.dm index b0957ed84e9..4c6cf035324 100644 --- a/code/game/objects/effects/spawners/random/lavaland_mobs.dm +++ b/code/game/objects/effects/spawners/random/lavaland_mobs.dm @@ -56,10 +56,10 @@ icon = 'icons/mob/simple/lavaland/raptor_big.dmi' icon_state = "raptor_red" loot = list( - /mob/living/basic/mining/raptor/red = 20, - /mob/living/basic/mining/raptor/white = 20, - /mob/living/basic/mining/raptor/purple = 20, - /mob/living/basic/mining/raptor/green = 20, - /mob/living/basic/mining/raptor/yellow = 20, - /mob/living/basic/mining/raptor/black = 1, + /mob/living/basic/raptor/red = 20, + /mob/living/basic/raptor/white = 20, + /mob/living/basic/raptor/purple = 20, + /mob/living/basic/raptor/green = 20, + /mob/living/basic/raptor/yellow = 20, + /mob/living/basic/raptor/black = 1, ) diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index b99b5817699..ffd2f61541c 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -266,9 +266,8 @@ /obj/effect/temp_visual/telekinesis name = "telekinetic force" - //icon_state = "empdisable" //Non-Skyrat version - icon_state = "telekinesis_throw" //Skyrat edit, was "empdisable" - icon = 'modular_skyrat/master_files/icons/effects/tele_effects.dmi' //Skyrat Addition + icon_state = "telekinesis_throw" // SKYRAT EDIT CHANGE - ORIGINAL: icon_state = "empdisable" + icon = 'modular_skyrat/master_files/icons/effects/tele_effects.dmi' // SKYRAT EDIT ADDITION duration = 5 /obj/effect/temp_visual/emp diff --git a/code/game/objects/items/AI_modules/_AI_modules.dm b/code/game/objects/items/AI_modules/_AI_modules.dm index 55c1d09fe8d..1405dc6880c 100644 --- a/code/game/objects/items/AI_modules/_AI_modules.dm +++ b/code/game/objects/items/AI_modules/_AI_modules.dm @@ -104,7 +104,7 @@ affected_cyborgs += owned_borg borg_flw += "[ADMIN_LOOKUPFLW(owned_borg)], " borg_txt += "[owned_borg.name]([owned_borg.key]), " - owned_borg.lawsync() //SKYRAT ADDITION + owned_borg.lawsync() // SKYRAT EDIT ADDITION borg_txt = borg_txt.Join() GLOB.lawchanges.Add("[time] : [user.name]([user.key]) used [src.name] on [ainame]([aikey]).[law2log ? " The law specified [law2log]" : ""], [length(affected_cyborgs) ? ", impacting synced borgs [borg_txt]" : ""]") diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 0d8874099e8..4d35e193213 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -454,7 +454,7 @@ if(!COOLDOWN_FINISHED(src, last_holopay_projection)) balloon_alert(user, "still recharging") return - if(can_be_used_in_payment(user)) + if(!can_be_used_in_payment(user)) balloon_alert(user, "no account!") to_chat(user, span_warning("You need a valid bank account to do this.")) return diff --git a/code/game/objects/items/choice_beacon.dm b/code/game/objects/items/choice_beacon.dm index 06385b765cf..75a3f35c80b 100644 --- a/code/game/objects/items/choice_beacon.dm +++ b/code/game/objects/items/choice_beacon.dm @@ -139,7 +139,7 @@ icon_state = "self_delivery" inhand_icon_state = "self_delivery" company_source = "S.E.L.F." - company_message = span_bold("Request status: Recieved. Package status: Delivered. Notes: To assure optimal value, use supplied Interdyne-brand autosurgeons to change implantment status.") + company_message = span_bold("Request status: Received. Package status: Delivered. Notes: To assure optimal value, use supplied Interdyne-brand autosurgeons to change implantment status.") /obj/item/choice_beacon/augments/generate_display_names() var/static/list/augment_list diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index 27fa0031485..52ba71a2538 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -233,6 +233,22 @@ M.emote("flip") COOLDOWN_START(src, golden_horn_cooldown, 1 SECONDS) +/obj/item/bikehorn/rubberducky/plasticducky + name = "plastic ducky" + desc = "It's a cheap plastic knockoff of a loveable bathtime toy." + custom_materials = list(/datum/material/plastic = HALF_SHEET_MATERIAL_AMOUNT) + +/obj/item/bikehorn/rubberducky + name = "rubber ducky" + desc = "Rubber ducky you're so fine, you make bathtime lots of fuuun. Rubber ducky I'm awfully fooooond of yooooouuuu~" //thanks doohl + icon = 'icons/obj/watercloset.dmi' + icon_state = "rubberducky" + inhand_icon_state = "rubberducky" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' + worn_icon_state = "duck" + sound_file = 'sound/effects/quack.ogg' + //canned laughter /obj/item/reagent_containers/cup/soda_cans/canned_laughter name = "Canned Laughter" diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 2a5569bd430..375ddd49d2d 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -283,11 +283,14 @@ return TRUE return FALSE -/obj/item/lightreplacer/proc/Charge(mob/user) - charge += 1 - if(charge > 3) - add_uses(1) - charge = 1 +#define LIGHT_CHARGE_COEFF 30000 +/obj/item/lightreplacer/proc/Charge(mob/user, coeff) + charge += coeff + if(charge > LIGHT_CHARGE_COEFF) + add_uses(floor(charge / LIGHT_CHARGE_COEFF)) + charge = charge % LIGHT_CHARGE_COEFF + +#undef LIGHT_CHARGE_COEFF /obj/item/lightreplacer/proc/replace_light(obj/machinery/light/target, mob/living/user) //Confirm that it's a light we're testing, because afterattack runs this for everything on a given turf and will runtime diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 2308a566413..e3587b44066 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -1,4 +1,4 @@ -/obj/item/radio/intercom //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE +/obj/item/radio/intercom //ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE name = "station intercom" desc = "A trusty station intercom, ready to spring into action even when the headsets go silent." icon = 'icons/obj/machines/wallmounts.dmi' @@ -11,7 +11,7 @@ item_flags = NO_BLOOD_ON_ITEM overlay_speaker_idle = "intercom_s" - overlay_speaker_active = "intercom_recieve" + overlay_speaker_active = "intercom_receive" overlay_mic_idle = "intercom_m" overlay_mic_active = null diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index ebcbc411592..a24cdf4fe28 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -76,7 +76,7 @@ /// overlay when speaker is on var/overlay_speaker_idle = "s_idle" - /// overlay when recieving a message + /// overlay when receiving a message var/overlay_speaker_active = "s_active" /// overlay when mic is on diff --git a/code/game/objects/items/devices/scanners/health_analyzer.dm b/code/game/objects/items/devices/scanners/health_analyzer.dm index 1a2817340f6..e5c841e7872 100644 --- a/code/game/objects/items/devices/scanners/health_analyzer.dm +++ b/code/game/objects/items/devices/scanners/health_analyzer.dm @@ -315,7 +315,7 @@ Status" for(var/obj/item/organ/organ as anything in humantarget.organs) - var/status = organ.get_status_text() + var/status = organ.get_status_text(advanced) if (status != "") render = TRUE toReport += "[organ.name]:\ diff --git a/code/game/objects/items/emags.dm b/code/game/objects/items/emags.dm index f197a9b5fdb..37c5c6698a2 100644 --- a/code/game/objects/items/emags.dm +++ b/code/game/objects/items/emags.dm @@ -9,7 +9,8 @@ */ /obj/item/card/emag desc = "It's a card with a magnetic strip attached to some circuitry." - name = "cryptographic sequencer" //SKYRAT COMMENT: Everyone knows what an emag is, both IC and OOC, they even make toy lookalikes. + // SKYRAT EDIT ADDITION COMMENT: Everyone knows what an emag is, both IC and OOC, they even make toy lookalikes. + name = "cryptographic sequencer" icon_state = "emag" item_flags = NO_MAT_REDEMPTION | NOBLUDGEON special_desc_requirement = EXAMINE_CHECK_SYNDICATE // SKYRAT EDIT ADDITION diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index f7a177f322c..ecf6ebd4dbe 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -1,7 +1,7 @@ /obj/item/extinguisher name = "fire extinguisher" desc = "A traditional red fire extinguisher." - icon = 'icons/obj/tools.dmi' // SKYRAT EDIT CHANGE - ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/tools.dmi' // SKYRAT EDIT CHANGE - ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "fire_extinguisher0" worn_icon_state = "fire_extinguisher" inhand_icon_state = "fire_extinguisher" diff --git a/code/game/objects/items/grenades/emgrenade.dm b/code/game/objects/items/grenades/emgrenade.dm index 30e73dfe5ef..f1173e45513 100644 --- a/code/game/objects/items/grenades/emgrenade.dm +++ b/code/game/objects/items/grenades/emgrenade.dm @@ -1,4 +1,4 @@ -/obj/item/grenade/empgrenade//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/item/grenade/empgrenade //SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "classic EMP grenade" desc = "It is designed to wreak havoc on electronic systems." icon_state = "emp" diff --git a/code/game/objects/items/implants/implantcase.dm b/code/game/objects/items/implants/implantcase.dm index 56a16f3058c..6e320514a17 100644 --- a/code/game/objects/items/implants/implantcase.dm +++ b/code/game/objects/items/implants/implantcase.dm @@ -1,7 +1,7 @@ /** * Item used to store implants. Can be renamed with a pen. Implants are moved between those and implanters when a mob uses an implanter on a case. */ -/obj/item/implantcase//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/item/implantcase//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "implant case" desc = "A glass case containing an implant." icon = 'icons/obj/medical/syringe.dmi' diff --git a/code/game/objects/items/implants/implanter.dm b/code/game/objects/items/implants/implanter.dm index d44b42d7a9f..feaa6f324b4 100644 --- a/code/game/objects/items/implants/implanter.dm +++ b/code/game/objects/items/implants/implanter.dm @@ -1,7 +1,7 @@ /** * Players can use this item to put obj/item/implant's in living mobs. Can be renamed with a pen. */ -/obj/item/implanter//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/item/implanter//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "implanter" desc = "A sterile automatic implant injector." icon = 'icons/obj/medical/syringe.dmi' diff --git a/code/game/objects/items/implants/implantpad.dm b/code/game/objects/items/implants/implantpad.dm index dffd7aa77a4..add6a12ae51 100644 --- a/code/game/objects/items/implants/implantpad.dm +++ b/code/game/objects/items/implants/implantpad.dm @@ -1,4 +1,4 @@ -/obj/item/implantpad//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/item/implantpad//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "implant pad" desc = "Used to modify implants." icon = 'icons/obj/devices/tool.dmi' diff --git a/code/game/objects/items/pillow.dm b/code/game/objects/items/pillow.dm index 659cc38f58b..f1c96e2baa0 100644 --- a/code/game/objects/items/pillow.dm +++ b/code/game/objects/items/pillow.dm @@ -51,10 +51,10 @@ if(!iscarbon(target_mob)) return if(bricked || HAS_TRAIT(src, TRAIT_WIELDED)) - user.apply_damage(5, STAMINA) // when hitting with such force we should prolly be getting tired too hit_sound = 'sound/items/pillow_hit2.ogg' else hit_sound = 'sound/items/pillow_hit.ogg' + user.apply_damage(5, STAMINA) //Had to be done so one person cannot keep multiple people stam critted last_fighter = user playsound(user, hit_sound, 80) //the basic 50 vol is barely audible diff --git a/code/game/objects/items/rcd/RCD.dm b/code/game/objects/items/rcd/RCD.dm index 88daf279c59..8aefc4cf44f 100644 --- a/code/game/objects/items/rcd/RCD.dm +++ b/code/game/objects/items/rcd/RCD.dm @@ -506,6 +506,7 @@ max_matter = INFINITY matter = INFINITY upgrade = RCD_ALL_UPGRADES & ~RCD_UPGRADE_SILO_LINK + delay_mod = 0.1 // Ranged RCD /obj/item/construction/rcd/arcd diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index e68a1b8c883..cb5fe172879 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -418,8 +418,8 @@ /obj/item/claymore/weak desc = "This one is rusted." - force = 30 - armour_penetration = 15 + force = 24 + armour_penetration = 10 /obj/item/claymore/weak/ceremonial desc = "A rusted claymore, once at the heart of a powerful scottish clan struck down and oppressed by tyrants, it has been passed down the ages as a symbol of defiance." diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index f1f922ba5a6..5232e205205 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -433,6 +433,8 @@ for(var/obj/item/reagent_containers/borghypo/H in R.model.modules) H.bypass_protection = TRUE found_hypo = TRUE + for(var/obj/item/reagent_containers/borghypo/H in R.model.emag_modules) + H.bypass_protection = TRUE if(!found_hypo) to_chat(user, span_warning("This unit is already equipped with a piercing hypospray upgrade!")) //check to see if we already have this module @@ -443,6 +445,8 @@ if (.) for(var/obj/item/reagent_containers/borghypo/H in R.model.modules) H.bypass_protection = initial(H.bypass_protection) + for(var/obj/item/reagent_containers/borghypo/H in R.model.emag_modules) + H.bypass_protection = initial(H.bypass_protection) /obj/item/borg/upgrade/surgery_omnitool name = "cyborg surgical omni-tool upgrade" @@ -665,7 +669,7 @@ //R.update_transform(0.5) // Original R.update_transform(0.8) // SKYRAT EDIT CHANGE -/obj/item/borg/upgrade/rped//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/item/borg/upgrade/rped//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "engineering cyborg RPED" desc = "A rapid part exchange device for the engineering cyborg." icon = 'icons/obj/storage/storage.dmi' diff --git a/code/game/objects/items/shrapnel.dm b/code/game/objects/items/shrapnel.dm index c07bc780c91..9b024cfbb97 100644 --- a/code/game/objects/items/shrapnel.dm +++ b/code/game/objects/items/shrapnel.dm @@ -31,6 +31,7 @@ shrapnel_type = /obj/item/shrapnel ricochet_incidence_leeway = 60 hit_prone_targets = TRUE + ignore_range_hit_prone_targets = TRUE sharpness = SHARP_EDGED wound_bonus = 30 embedding = list(embed_chance=70, ignore_throwspeed_threshold=TRUE, fall_chance=1) @@ -73,6 +74,7 @@ /obj/projectile/bullet/pellet/stingball/on_ricochet(atom/A) hit_prone_targets = TRUE // ducking will save you from the first wave, but not the rebounds + ignore_range_hit_prone_targets = TRUE /obj/projectile/bullet/pellet/stingball/mega name = "megastingball pellet" diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 68d2f84494c..1cd760e6964 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -440,6 +440,13 @@ new /obj/item/grenade/empgrenade(src) new /obj/item/implanter/emp(src) +/obj/item/storage/box/syndie_kit/smoke + name = "smoke kit" + +/obj/item/storage/box/syndie_kit/smoke/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/grenade/smokebomb(src) + /obj/item/storage/box/syndie_kit/mail_counterfeit name = "mail counterfeit kit" desc = "A box full of mail counterfeit devices. Nothing stops the mail." diff --git a/code/game/objects/items/tcg/tcg.dm b/code/game/objects/items/tcg/tcg.dm index 61d0dbe071d..fc2eeba82ff 100644 --- a/code/game/objects/items/tcg/tcg.dm +++ b/code/game/objects/items/tcg/tcg.dm @@ -196,6 +196,7 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) /obj/item/tcgcard_deck/Initialize(mapload) . = ..() create_storage(storage_type = /datum/storage/tcg) + RegisterSignal(atom_storage, COMSIG_STORAGE_REMOVED_ITEM, PROC_REF(on_item_removed)) /obj/item/tcgcard_deck/update_icon_state() if(!flipped) @@ -314,6 +315,21 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) nu_card.update_icon_state() update_icon_state() +/** + * Signal handler for COMSIG_STORAGE_REMOVED_ITEM. Qdels src if contents are empty, flips the removed card if needed. + */ +/obj/item/tcgcard_deck/proc/on_item_removed(datum/storage/storage_datum, obj/item/thing, atom/remove_to_loc, silent = FALSE) + SIGNAL_HANDLER + + if (!istype(thing, /obj/item/tcgcard)) + return + var/obj/item/tcgcard/card = thing + card.flipped = flipped + card.update_appearance(UPDATE_ICON_STATE) + + if(length(contents) == 0) + qdel(src) + /obj/item/cardpack name = "Trading Card Pack: Coder" desc = "Contains six complete fuckups by the coders. Report this on github please!" diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index e7e4dbe699a..46b33edc79a 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -63,7 +63,7 @@ playsound(loc, usesound, 50, TRUE, -1) return BRUTELOSS -/obj/item/wirecutters/abductor//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/item/wirecutters/abductor//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "alien wirecutters" desc = "Extremely sharp wirecutters, made out of a silvery-green metal." icon = 'icons/obj/antags/abductor.dmi' diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index b2cc7544e10..7f0e28c95e6 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -127,10 +127,6 @@ throw_range = 7 force = 0 var/random_color = TRUE - /// the string of the dmi state the balloon has while on the floor. - var/world_state - /// the string of the dmi state the balloon has while in your inventory. - var/storage_state /// the string describing the name of balloon's current colour. var/current_color @@ -159,13 +155,6 @@ list("orange", "purple") = /obj/item/toy/balloon_animal/plasmaman, ) -/obj/item/toy/balloon/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change) - . = ..() - if(isturf(loc)) - icon_state = "[world_state]" - else - icon_state = "[storage_state]" - update_appearance() /obj/item/toy/balloon/long/attackby(obj/item/attacking_item, mob/living/user, params) if(!istype(attacking_item, /obj/item/toy/balloon/long) || !HAS_TRAIT(user, TRAIT_BALLOON_SUTRA)) @@ -217,14 +206,30 @@ /obj/item/toy/balloon/Initialize(mapload) . = ..() - if(random_color) - var/chosen_balloon_color = pick(BALLOON_COLORS) - current_color = "[chosen_balloon_color]" - name = "[chosen_balloon_color] [name]" - icon_state = "[icon_state]_[chosen_balloon_color]" - inhand_icon_state = icon_state - world_state = "[icon_state]" - storage_state = "[icon_state]_storage" + AddElement(/datum/element/update_icon_updates_onmob) + if(!random_color) + return + current_color = pick(BALLOON_COLORS) + update_appearance() + +/obj/item/toy/balloon/update_name(updates) + . = ..() + name = "[current_color ? "[current_color] ":null][initial(name)]" + +/obj/item/toy/balloon/vv_edit_var(vname, vval) + . = ..() + if(vname == NAMEOF(src, current_color)) + update_appearance() + +/obj/item/toy/balloon/update_icon_state() + . = ..() + var/new_icon = "[initial(icon_state)][current_color ? "_[current_color]":null]" + inhand_icon_state = new_icon + icon_state = "[new_icon][isturf(loc) ? null : "_storage"]" + +/obj/item/toy/balloon/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change) + . = ..() + update_appearance() /obj/item/toy/balloon/corgi name = "corgi balloon" @@ -280,7 +285,9 @@ name = "balloon animal" desc = "You shouldn't have this." icon = 'icons/obj/toys/balloons.dmi' - icon_state = "balloon_guy" + inhand_icon_state = "balloon" + lefthand_file = 'icons/mob/inhands/items/balloons_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items/balloons_righthand.dmi' throwforce = 0 throw_speed = 2 throw_range = 5 diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 3d976b72cca..f43cc8dfa1c 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -26,7 +26,7 @@ icon_state = "" GLOB.cameranet.updateVisibility(src) -/obj/structure/Destroy() +/obj/structure/Destroy(force) GLOB.cameranet.updateVisibility(src) if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) QUEUE_SMOOTH_NEIGHBORS(src) diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm index 6d8e8ca701e..f0c855e7c74 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -276,6 +276,10 @@ //we are the parent node parent_node = src + return INITIALIZE_HINT_LATELOAD + +// we do this in LateInitialize() because weeds on the same loc may not be done initializing yet (as in create_and_destroy) +/obj/structure/alien/weeds/node/LateInitialize() //destroy any non-node weeds on turf var/obj/structure/alien/weeds/check_weed = locate(/obj/structure/alien/weeds) in loc if(check_weed && check_weed != src) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm new file mode 100644 index 00000000000..aead6fafb01 --- /dev/null +++ b/code/game/objects/structures/curtains.dm @@ -0,0 +1,156 @@ +/** + * Shower Curtains + */ +/obj/structure/curtain + name = "curtain" + desc = "Contains less than 1% mercury." + icon = 'icons/obj/watercloset.dmi' + icon_state = "bathroom-open" + color = "#ACD1E9" //Default color, didn't bother hardcoding other colors, mappers can and should easily change it. + alpha = 200 //Mappers can also just set this to 255 if they want curtains that can't be seen through + layer = SIGN_LAYER + anchored = TRUE + opacity = FALSE + density = FALSE + /// used in making the icon state + var/icon_type = "bathroom" + var/open = TRUE + /// if it can be seen through when closed + var/opaque_closed = FALSE + +/obj/structure/curtain/Initialize(mapload) + // see-through curtains should let emissives shine through + if(!opaque_closed) + blocks_emissive = EMISSIVE_BLOCK_NONE + return ..() + +/obj/structure/curtain/proc/toggle() + open = !open + if(open) + layer = SIGN_LAYER + set_opacity(FALSE) + else + layer = WALL_OBJ_LAYER + if(opaque_closed) + set_opacity(TRUE) + + update_appearance() + +/obj/structure/curtain/update_icon_state() + icon_state = "[icon_type]-[open ? "open" : "closed"]" + return ..() + +/obj/structure/curtain/attackby(obj/item/W, mob/user) + if (istype(W, /obj/item/toy/crayon)) + color = input(user,"","Choose Color",color) as color + else + return ..() + +/obj/structure/curtain/wrench_act(mob/living/user, obj/item/tool) + . = ..() + default_unfasten_wrench(user, tool, time = 5 SECONDS) + return TRUE + +/obj/structure/curtain/wirecutter_act(mob/living/user, obj/item/I) + ..() + if(anchored) + return TRUE + + user.visible_message(span_warning("[user] cuts apart [src]."), + span_notice("You start to cut apart [src]."), span_hear("You hear cutting.")) + if(I.use_tool(src, user, 50, volume=100) && !anchored) + to_chat(user, span_notice("You cut apart [src].")) + deconstruct() + + return TRUE + + +/obj/structure/curtain/attack_hand(mob/user, list/modifiers) + . = ..() + if(.) + return + playsound(loc, 'sound/effects/curtain.ogg', 50, TRUE) + toggle() + +/obj/structure/curtain/atom_deconstruct(disassembled = TRUE) + new /obj/item/stack/sheet/cloth (loc, 2) + new /obj/item/stack/sheet/plastic (loc, 2) + new /obj/item/stack/rods (loc, 1) + +/obj/structure/curtain/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) + switch(damage_type) + if(BRUTE) + if(damage_amount) + playsound(src.loc, 'sound/weapons/slash.ogg', 80, TRUE) + else + playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE) + if(BURN) + playsound(loc, 'sound/items/welder.ogg', 80, TRUE) + +/obj/structure/curtain/bounty + icon_type = "bounty" + icon_state = "bounty-open" + color = null + alpha = 255 + opaque_closed = TRUE + +/obj/structure/curtain/bounty/start_closed + icon_state = "bounty-closed" + +/obj/structure/curtain/bounty/start_closed/Initialize(mapload) + . = ..() + if(open) + toggle() + +/obj/structure/curtain/cloth + color = null + alpha = 255 + opaque_closed = TRUE + +/obj/structure/curtain/cloth/atom_deconstruct(disassembled = TRUE) + new /obj/item/stack/sheet/cloth (loc, 4) + new /obj/item/stack/rods (loc, 1) + +/obj/structure/curtain/cloth/fancy + icon_type = "cur_fancy" + icon_state = "cur_fancy-open" + +/obj/structure/curtain/cloth/fancy/mechanical + var/id = null + +/obj/structure/curtain/cloth/fancy/mechanical/Destroy() + GLOB.curtains -= src + return ..() + +/obj/structure/curtain/cloth/fancy/mechanical/Initialize(mapload) + . = ..() + GLOB.curtains += src + +/obj/structure/curtain/cloth/fancy/mechanical/connect_to_shuttle(mapload, obj/docking_port/mobile/port, obj/docking_port/stationary/dock) + id = "[port.shuttle_id]_[id]" + +/obj/structure/curtain/cloth/fancy/mechanical/proc/open() + icon_state = "[icon_type]-open" + layer = SIGN_LAYER + SET_PLANE_IMPLICIT(src, GAME_PLANE) + set_density(FALSE) + open = TRUE + set_opacity(FALSE) + +/obj/structure/curtain/cloth/fancy/mechanical/proc/close() + icon_state = "[icon_type]-closed" + layer = WALL_OBJ_LAYER + set_density(TRUE) + open = FALSE + if(opaque_closed) + set_opacity(TRUE) + +/obj/structure/curtain/cloth/fancy/mechanical/attack_hand(mob/user, list/modifiers) + return + +/obj/structure/curtain/cloth/fancy/mechanical/start_closed + icon_state = "cur_fancy-closed" + +/obj/structure/curtain/cloth/fancy/mechanical/start_closed/Initialize(mapload) + . = ..() + close() diff --git a/code/game/objects/structures/deployable_turret.dm b/code/game/objects/structures/deployable_turret.dm index 7b03348288a..b2bb5fe51c5 100644 --- a/code/game/objects/structures/deployable_turret.dm +++ b/code/game/objects/structures/deployable_turret.dm @@ -213,7 +213,7 @@ /obj/machinery/deployable_turret/hmg name = "heavy machine gun turret" - desc = "A heavy calibre machine gun commonly used by Nanotrasen forces, famed for it's ability to give people on the recieving end more holes than normal." + desc = "A heavy caliber machine gun commonly used by Nanotrasen forces, famed for it's ability to give people on the receiving end more holes than normal." icon_state = "hmg" max_integrity = 250 projectile_type = /obj/projectile/bullet/manned_turret/hmg diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index f75a8b9ce72..5daf96a01b8 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -61,9 +61,6 @@ /obj/structure/door_assembly/examine(mob/user) . = ..() - var/doorname = "" - if(created_name) - doorname = ", written on it is '[created_name]'" switch(state) if(AIRLOCK_ASSEMBLY_NEEDS_WIRES) if(anchored) @@ -80,8 +77,8 @@ . += span_notice("There are empty slots for mineral covers.") else if(!glass && !noglass) . += span_notice("There are empty slots for glass windows.") - if(doorname) - . += span_notice("There is a small paper placard on the assembly labelled \"[doorname]\".") + if(created_name) + . += span_notice("There is a small paper placard on the assembly, written on it is '[created_name]'.") /obj/structure/door_assembly/attackby(obj/item/W, mob/living/user, params) if(istype(W, /obj/item/pen) && !user.combat_mode) diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index 18332de296d..1f8f3a69903 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -1,6 +1,6 @@ //THIS FILE HAS BEEN EDITED BY SKYRAT EDIT -/obj/structure/dresser//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/structure/dresser//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "dresser" desc = "A nicely-crafted wooden dresser. It's filled with lots of undies." icon = 'icons/obj/fluff/general.dmi' diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index f218f4d77f7..1791d72aa12 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -1,7 +1,7 @@ /obj/structure/extinguisher_cabinet name = "extinguisher cabinet" desc = "A small wall mounted cabinet designed to hold a fire extinguisher." - icon = 'icons/obj/wallmounts.dmi' //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/wallmounts.dmi' //ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "extinguisher_closed" anchored = TRUE density = FALSE diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index 7f3e4195810..c13e8f7e4ae 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -1,6 +1,6 @@ #define MEATSPIKE_IRONROD_REQUIREMENT 4 -/obj/structure/kitchenspike_frame//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/structure/kitchenspike_frame//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "meatspike frame" icon = 'icons/obj/service/kitchen.dmi' icon_state = "spikeframe" @@ -64,7 +64,7 @@ return balloon_alert(user, "[MEATSPIKE_IRONROD_REQUIREMENT] rods needed!") -/obj/structure/kitchenspike//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/structure/kitchenspike//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "meat spike" icon = 'icons/obj/service/kitchen.dmi' icon_state = "spike" diff --git a/code/game/objects/structures/lavaland/ore_vent.dm b/code/game/objects/structures/lavaland/ore_vent.dm index c8961a5769c..18be9e12c54 100644 --- a/code/game/objects/structures/lavaland/ore_vent.dm +++ b/code/game/objects/structures/lavaland/ore_vent.dm @@ -82,6 +82,8 @@ icon_state = icon_state_tapped update_appearance(UPDATE_ICON_STATE) add_overlay(mutable_appearance('icons/obj/mining_zones/terrain.dmi', "well", ABOVE_MOB_LAYER)) + + RegisterSignal(src, COMSIG_SPAWNER_SPAWNED_DEFAULT, PROC_REF(anti_cheese)) return ..() /obj/structure/ore_vent/Destroy() @@ -214,6 +216,7 @@ node = new /mob/living/basic/node_drone(loc) node.arrive(src) RegisterSignal(node, COMSIG_QDELETING, PROC_REF(handle_wave_conclusion)) + RegisterSignal(node, COMSIG_MOVABLE_MOVED, PROC_REF(handle_wave_conclusion)) particles = new /particles/smoke/ash() for(var/i in 1 to 5) // Clears the surroundings of the ore vent before starting wave defense. for(var/turf/closed/mineral/rock in oview(i)) @@ -266,8 +269,18 @@ SEND_SIGNAL(src, COMSIG_VENT_WAVE_CONCLUDED) COOLDOWN_RESET(src, wave_cooldown) particles = null - if(!QDELETED(node)) ///The Node Drone has survived the wave defense, and the ore vent is tapped. - tapped = TRUE + + if(!QDELETED(node)) + if(get_turf(node) != get_turf(src)) + visible_message(span_danger("The [node] detaches from the [src], and the vent closes back up!")) + icon_state = initial(icon_state) + update_appearance(UPDATE_ICON_STATE) + UnregisterSignal(node, COMSIG_MOVABLE_MOVED) + node.pre_escape(success = FALSE) + node = null + return //Start over! + + tapped = TRUE //The Node Drone has survived the wave defense, and the ore vent is tapped. SSore_generation.processed_vents += src balloon_alert_to_viewers("vent tapped!") icon_state = icon_state_tapped @@ -407,6 +420,13 @@ COOLDOWN_START(src, manual_vent_cooldown, 10 SECONDS) return new_rock +/** + * When the ore vent cannot spawn a mob due to being blocked from all sides, we cause some MILD, MILD explosions. + * Explosion matches a gibtonite light explosion, as a way to clear neartby solid structures, with a high likelyhood of breaking the NODE drone. + */ +/obj/structure/ore_vent/proc/anti_cheese() + explosion(src, heavy_impact_range = 1, light_impact_range = 3, flame_range = 0, flash_range = 0, adminlog = FALSE) + //comes with the station, and is already tapped. /obj/structure/ore_vent/starter_resources name = "active ore vent" diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 691c2ce0602..c1fbf81761c 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -31,7 +31,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants and other ghosties. /obj/structure/bodycontainer - icon = 'icons/obj/structures.dmi'//ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/structures.dmi'//ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "morgue1" density = TRUE anchored = TRUE diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index 71890f72613..090de37aef9 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -2,7 +2,7 @@ name = "airtight plastic flaps" desc = "Heavy duty, airtight, plastic flaps. Definitely can't get past those. No way." gender = PLURAL - icon = 'icons/obj/structures.dmi'//ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/structures.dmi'//ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "plasticflaps" armor_type = /datum/armor/structure_plasticflaps density = FALSE diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm index 2651684e39b..c3d9b115f01 100644 --- a/code/game/objects/structures/railings.dm +++ b/code/game/objects/structures/railings.dm @@ -8,14 +8,13 @@ density = TRUE anchored = TRUE pass_flags_self = LETPASSTHROW|PASSSTRUCTURE - layer = ABOVE_MOB_LAYER + layer = ABOVE_TREE_LAYER + plane = ABOVE_GAME_PLANE /// armor is a little bit less than a grille. max_integrity about half that of a grille. armor_type = /datum/armor/structure_railing max_integrity = 25 var/climbable = TRUE - ///Initial direction of the railing. - var/ini_dir ///item released when deconstructed var/item_deconstruct = /obj/item/stack/rods @@ -39,7 +38,6 @@ /obj/structure/railing/Initialize(mapload) . = ..() - ini_dir = dir if(climbable) AddElement(/datum/element/climbable) @@ -168,8 +166,8 @@ adjust_dir_layer(new_dir) /obj/structure/railing/wooden_fence/proc/adjust_dir_layer(direction) - var/new_layer = (direction & NORTH) ? MOB_LAYER : ABOVE_MOB_LAYER - layer = new_layer + layer = (direction & NORTH) ? MOB_LAYER : initial(layer) + plane = (direction & NORTH) ? GAME_PLANE : initial(plane) /obj/structure/railing/corner/end/wooden_fence diff --git a/code/game/objects/structures/signs/signs_departments.dm b/code/game/objects/structures/signs/signs_departments.dm index 37015a59cb0..e663ef2411e 100644 --- a/code/game/objects/structures/signs/signs_departments.dm +++ b/code/game/objects/structures/signs/signs_departments.dm @@ -8,7 +8,7 @@ /obj/structure/sign/departments/med name = "\improper Medbay sign" sign_change_name = "Department - Medbay" - desc = "A sign labeling an area of medical department." + desc = "A sign labelling an area of the medical department." icon_state = "med" MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/med, 32) @@ -23,7 +23,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/med_alt, 32) /obj/structure/sign/departments/medbay name = "\improper Medbay sign" sign_change_name = "Generic Medical" - desc = "The Intergalactic symbol of Medical institutions. You'll probably get help here." + desc = "The intergalactic symbol of medical institutions. You'll probably get help here." icon_state = "bluecross" MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/medbay, 32) @@ -84,7 +84,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/virology, 32) /obj/structure/sign/departments/morgue name = "\improper Morgue sign" sign_change_name = "Department - Medbay: Morgue" - desc = "A sign labelling an area where station stores its ever-piling bodies." + desc = "A sign labelling an area where the station stores its ever-piling bodies." icon_state = "morgue" MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/departments/morgue, 32) diff --git a/code/game/objects/structures/signs/signs_warning.dm b/code/game/objects/structures/signs/signs_warning.dm index b33d05a163a..db44c75669d 100644 --- a/code/game/objects/structures/signs/signs_warning.dm +++ b/code/game/objects/structures/signs/signs_warning.dm @@ -199,7 +199,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/gas_mask, 32) /obj/structure/sign/warning/chem_diamond name = "\improper REACTIVE CHEMICALS sign" sign_change_name = "Warning - Hazardous Chemicals sign" - desc = "A sign that warns of potentially reactive chemicals nearby, be they explosive, flamable, or acidic." + desc = "A sign that warns of potentially reactive chemicals nearby, be they explosive, flammable, or acidic." icon_state = "chemdiamond" MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/warning/chem_diamond, 32) diff --git a/code/game/objects/structures/syndicate_uplink_beacon.dm b/code/game/objects/structures/syndicate_uplink_beacon.dm index 2106fade55a..33e260e8d20 100644 --- a/code/game/objects/structures/syndicate_uplink_beacon.dm +++ b/code/game/objects/structures/syndicate_uplink_beacon.dm @@ -3,7 +3,7 @@ name = "suspicious beacon" icon = 'icons/obj/machines/telecomms.dmi' icon_state = "relay_traitor" - desc = "This ramshackle device seems capable of recieving and sending signals for some nefarious purpose." + desc = "This ramshackle device seems capable of receiving and sending signals for some nefarious purpose." density = TRUE anchored = TRUE /// Traitor's code that they speak into the radio diff --git a/code/game/objects/structures/water_structures/sink.dm b/code/game/objects/structures/water_structures/sink.dm new file mode 100644 index 00000000000..f4c9d5a28f4 --- /dev/null +++ b/code/game/objects/structures/water_structures/sink.dm @@ -0,0 +1,301 @@ +/obj/structure/sink + name = "sink" + icon = 'icons/obj/watercloset.dmi' + icon_state = "sink" + desc = "A sink used for washing one's hands and face. Passively reclaims water over time." + anchored = TRUE + layer = ABOVE_OBJ_LAYER + pixel_z = 1 + ///Something's being washed at the moment + var/busy = FALSE + ///What kind of reagent is produced by this sink by default? (We now have actual plumbing, Arcane, August 2020) + var/dispensedreagent = /datum/reagent/water + ///Material to drop when broken or deconstructed. + var/buildstacktype = /obj/item/stack/sheet/iron + ///Number of sheets of material to drop when broken or deconstructed. + var/buildstackamount = 1 + ///Does the sink have a water recycler to recollect it's water supply? + var/has_water_reclaimer = TRUE + ///Units of water to reclaim per second + var/reclaim_rate = 0.5 + ///Amount of shift the pixel for placement + var/pixel_shift = 14 + +MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink, (-14)) + +/obj/structure/sink/Initialize(mapload, ndir = 0, has_water_reclaimer = null) + . = ..() + + if(ndir) + dir = ndir + + if(has_water_reclaimer != null) + src.has_water_reclaimer = has_water_reclaimer + + switch(dir) + if(NORTH) + pixel_x = 0 + pixel_y = -pixel_shift + if(SOUTH) + pixel_x = 0 + pixel_y = pixel_shift + if(EAST) + pixel_x = -pixel_shift + pixel_y = 0 + if(WEST) + pixel_x = pixel_shift + pixel_y = 0 + + create_reagents(100, NO_REACT) + if(src.has_water_reclaimer) + reagents.add_reagent(dispensedreagent, 100) + AddComponent(/datum/component/plumbing/simple_demand, extend_pipe_to_edge = TRUE) + +/obj/structure/sink/examine(mob/user) + . = ..() + if(has_water_reclaimer) + . += span_notice("A water recycler is installed. It looks like you could pry it out.") + . += span_notice("[reagents.total_volume]/[reagents.maximum_volume] liquids remaining.") + +/obj/structure/sink/attack_hand(mob/living/user, list/modifiers) + . = ..() + if(.) + return + if(!user || !istype(user)) + return + if(!iscarbon(user)) + return + if(!Adjacent(user)) + return + if(reagents.total_volume < 5) + to_chat(user, span_warning("The sink has no more contents left!")) + return + if(busy) + to_chat(user, span_warning("Someone's already washing here!")) + return + var/selected_area = user.parse_zone_with_bodypart(user.zone_selected) + var/washing_face = 0 + if(selected_area in list(BODY_ZONE_HEAD, BODY_ZONE_PRECISE_MOUTH, BODY_ZONE_PRECISE_EYES)) + washing_face = 1 + user.visible_message(span_notice("[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]..."), \ + span_notice("You start washing your [washing_face ? "face" : "hands"]...")) + busy = TRUE + + if(!do_after(user, 4 SECONDS, target = src)) + busy = FALSE + return + + busy = FALSE + reagents.remove_all(5) + reagents.expose(user, TOUCH, 5 / max(reagents.total_volume, 5)) + begin_reclamation() + if(washing_face) + SEND_SIGNAL(user, COMSIG_COMPONENT_CLEAN_FACE_ACT, CLEAN_WASH) + else if(ishuman(user)) + var/mob/living/carbon/human/human_user = user + if(!human_user.wash_hands(CLEAN_WASH)) + to_chat(user, span_warning("Your hands are covered by something!")) + return + else + user.wash(CLEAN_WASH) + + user.visible_message(span_notice("[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src]."), \ + span_notice("You wash your [washing_face ? "face" : "hands"] using [src].")) + +/obj/structure/sink/attackby(obj/item/O, mob/living/user, params) + if(busy) + to_chat(user, span_warning("Someone's already washing here!")) + return + + if(is_reagent_container(O)) + var/obj/item/reagent_containers/RG = O + if(reagents.total_volume <= 0) + to_chat(user, span_notice("\The [src] is dry.")) + return FALSE + if(RG.is_refillable()) + if(!RG.reagents.holder_full()) + reagents.trans_to(RG, RG.amount_per_transfer_from_this, transferred_by = user) + begin_reclamation() + to_chat(user, span_notice("You fill [RG] from [src].")) + return TRUE + to_chat(user, span_notice("\The [RG] is full.")) + return FALSE + + if(istype(O, /obj/item/melee/baton/security)) + var/obj/item/melee/baton/security/baton = O + if(baton.cell?.charge && baton.active) + flick("baton_active", src) + user.Paralyze(baton.knockdown_time) + user.set_stutter(baton.knockdown_time) + baton.cell.use(baton.cell_hit_cost) + user.visible_message(span_warning("[user] shocks [user.p_them()]self while attempting to wash the active [baton.name]!"), \ + span_userdanger("You unwisely attempt to wash [baton] while it's still on.")) + playsound(src, baton.on_stun_sound, 50, TRUE) + return + + if(istype(O, /obj/item/mop)) + if(reagents.total_volume <= 0) + to_chat(user, span_notice("\The [src] is dry.")) + return FALSE + reagents.trans_to(O, 5, transferred_by = user) + begin_reclamation() + to_chat(user, span_notice("You wet [O] in [src].")) + playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) + return + + if(O.tool_behaviour == TOOL_WRENCH) + O.play_tool_sound(src) + deconstruct() + return + + if(O.tool_behaviour == TOOL_CROWBAR) + if(!has_water_reclaimer) + to_chat(user, span_warning("There isn't a water recycler to remove.")) + return + + O.play_tool_sound(src) + has_water_reclaimer = FALSE + new/obj/item/stock_parts/water_recycler(get_turf(loc)) + to_chat(user, span_notice("You remove the water reclaimer from [src]")) + return + + if(istype(O, /obj/item/stack/medical/gauze)) + var/obj/item/stack/medical/gauze/G = O + new /obj/item/reagent_containers/cup/rag(src.loc) + to_chat(user, span_notice("You tear off a strip of gauze and make a rag.")) + G.use(1) + return + + if(istype(O, /obj/item/stack/sheet/cloth)) + var/obj/item/stack/sheet/cloth/cloth = O + new /obj/item/reagent_containers/cup/rag(loc) + to_chat(user, span_notice("You tear off a strip of cloth and make a rag.")) + cloth.use(1) + return + + if(istype(O, /obj/item/stack/ore/glass)) + new /obj/item/stack/sheet/sandblock(loc) + to_chat(user, span_notice("You wet the sand in the sink and form it into a block.")) + O.use(1) + return + + if(istype(O, /obj/item/stock_parts/water_recycler)) + if(has_water_reclaimer) + to_chat(user, span_warning("There is already has a water recycler installed.")) + return + + playsound(src, 'sound/machines/click.ogg', 20, TRUE) + qdel(O) + has_water_reclaimer = TRUE + begin_reclamation() + return + + if(istype(O, /obj/item/storage/fancy/pickles_jar)) + if(O.contents.len) + to_chat(user, span_notice("Looks like there's something left in the jar")) + return + new /obj/item/reagent_containers/cup/beaker/large(loc) + to_chat(user, span_notice("You washed the jar, ridding it of the brine.")) + qdel(O) + return + + if(!istype(O)) + return + if(O.item_flags & ABSTRACT) //Abstract items like grabs won't wash. No-drop items will though because it's still technically an item in your hand. + return + + if(!user.combat_mode) + to_chat(user, span_notice("You start washing [O]...")) + busy = TRUE + if(!do_after(user, 4 SECONDS, target = src)) + busy = FALSE + return 1 + busy = FALSE + O.wash(CLEAN_WASH) + reagents.expose(O, TOUCH, 5 / max(reagents.total_volume, 5)) + user.visible_message(span_notice("[user] washes [O] using [src]."), \ + span_notice("You wash [O] using [src].")) + return 1 + else + return ..() + +/obj/structure/sink/atom_deconstruct(dissambled = TRUE) + drop_materials() + if(has_water_reclaimer) + new /obj/item/stock_parts/water_recycler(drop_location()) + +/obj/structure/sink/process(seconds_per_tick) + // Water reclamation complete? + if(!has_water_reclaimer || reagents.total_volume >= reagents.maximum_volume) + return PROCESS_KILL + + reagents.add_reagent(dispensedreagent, reclaim_rate * seconds_per_tick) + +/obj/structure/sink/proc/drop_materials() + if(buildstacktype) + new buildstacktype(loc,buildstackamount) + else + for(var/i in custom_materials) + var/datum/material/M = i + new M.sheet_type(loc, FLOOR(custom_materials[M] / SHEET_MATERIAL_AMOUNT, 1)) + +/obj/structure/sink/proc/begin_reclamation() + START_PROCESSING(SSplumbing, src) + +/obj/structure/sink/kitchen + name = "kitchen sink" + icon_state = "sink_alt" + pixel_z = 4 + pixel_shift = 16 + +MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink/kitchen, (-16)) + +/obj/structure/sink/greyscale + icon_state = "sink_greyscale" + material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS + buildstacktype = null + +/obj/structure/sinkframe + name = "sink frame" + icon = 'icons/obj/watercloset.dmi' + icon_state = "sink_frame" + desc = "A sink frame, that needs a water recycler to finish construction." + anchored = FALSE + material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS + +/obj/structure/sinkframe/Initialize(mapload) + . = ..() + AddComponent(/datum/component/simple_rotation) + +/obj/structure/sinkframe/attackby(obj/item/tool, mob/living/user, params) + if(istype(tool, /obj/item/stock_parts/water_recycler)) + qdel(tool) + var/obj/structure/sink/greyscale/new_sink = new(loc, REVERSE_DIR(dir), TRUE) + new_sink.set_custom_materials(custom_materials) + qdel(src) + playsound(new_sink, 'sound/machines/click.ogg', 20, TRUE) + return + return ..() + +/obj/structure/sinkframe/wrench_act(mob/living/user, obj/item/tool) + . = ..() + + tool.play_tool_sound(src) + var/obj/structure/sink/greyscale/new_sink = new(loc, REVERSE_DIR(dir), FALSE) + new_sink.set_custom_materials(custom_materials) + qdel(src) + + return TRUE + +/obj/structure/sinkframe/wrench_act_secondary(mob/living/user, obj/item/tool) + . = ..() + tool.play_tool_sound(src) + deconstruct() + return TRUE + +/obj/structure/sinkframe/atom_deconstruct(dissambled = TRUE) + drop_materials() + +/obj/structure/sinkframe/proc/drop_materials() + for(var/datum/material/material as anything in custom_materials) + new material.sheet_type(loc, FLOOR(custom_materials[material] / SHEET_MATERIAL_AMOUNT, 1)) diff --git a/code/game/objects/structures/water_structures/toilet.dm b/code/game/objects/structures/water_structures/toilet.dm new file mode 100644 index 00000000000..ab6ebc38fad --- /dev/null +++ b/code/game/objects/structures/water_structures/toilet.dm @@ -0,0 +1,271 @@ +/obj/structure/toilet + name = "toilet" + desc = "The HT-451, a torque rotation-based, waste disposal unit for small matter. This one seems remarkably clean." + icon = 'icons/obj/watercloset.dmi' + icon_state = "toilet00" //The first number represents if the toilet lid is up, the second is if the cistern is open. + base_icon_state = "toilet" + density = FALSE + anchored = TRUE + + ///Boolean if whether the toilet is currently flushing. + var/flushing = FALSE + ///Boolean if the toilet seat is up. + var/cover_open = FALSE + ///Boolean if the cistern is up, allowing items to be put in/out. + var/cistern_open = FALSE + ///The combined weight of all items in the cistern put together. + var/w_items = 0 + ///Reference to the mob being given a swirlie. + var/mob/living/swirlie + ///The type of material used to build the toilet. + var/buildstacktype = /obj/item/stack/sheet/iron + ///How much of the buildstacktype is needed to construct the toilet. + var/buildstackamount = 1 + ///Lazylist of items in the cistern. + var/list/cistern_items + ///Lazylist of fish in the toilet, not to be mixed with the items in the cistern. Max of 3 + var/list/fishes + ///Static toilet water overlay given to toilets that are facing a direction we can see the water in. + var/static/mutable_appearance/toilet_water_overlay + +/obj/structure/toilet/Initialize(mapload) + . = ..() + if(isnull(toilet_water_overlay)) + toilet_water_overlay = mutable_appearance(icon, "[base_icon_state]-water") + cover_open = round(rand(0, 1)) + update_appearance(UPDATE_ICON) + if(mapload && SSmapping.level_trait(z, ZTRAIT_STATION)) + AddElement(/datum/element/lazy_fishing_spot, /datum/fish_source/toilet) + register_context() + +/obj/structure/toilet/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + if(user.pulling && isliving(user.pulling)) + context[SCREENTIP_CONTEXT_LMB] = "Give Swirlie" + else if(cover_open && istype(held_item, /obj/item/fish)) + context[SCREENTIP_CONTEXT_LMB] = "Insert Fish" + else if(cover_open && LAZYLEN(fishes)) + context[SCREENTIP_CONTEXT_LMB] = "Grab Fish" + else if(cistern_open) + if(isnull(held_item)) + context[SCREENTIP_CONTEXT_LMB] = "Check Cistern" + else + context[SCREENTIP_CONTEXT_LMB] = "Insert Item" + context[SCREENTIP_CONTEXT_RMB] = "Flush" + context[SCREENTIP_CONTEXT_ALT_LMB] = "[cover_open ? "Close" : "Open"] Lid" + return CONTEXTUAL_SCREENTIP_SET + +/obj/structure/toilet/examine(mob/user) + . = ..() + if(cover_open && LAZYLEN(fishes)) + . += span_notice("You can see fish in the toilet, you can probably take one out.") + +/obj/structure/toilet/examine_more(mob/user) + . = ..() + if(cistern_open && LAZYLEN(cistern_items)) + . += span_notice("You can see [cistern_items.len] items inside of the cistern.") + +/obj/structure/toilet/Destroy(force) + . = ..() + QDEL_LAZYLIST(fishes) + QDEL_LAZYLIST(cistern_items) + +/obj/structure/toilet/Exited(atom/movable/gone, direction) + . = ..() + if(gone in cistern_items) + LAZYREMOVE(cistern_items, gone) + return + if(gone in fishes) + LAZYREMOVE(fishes, gone) + return + +/obj/structure/toilet/attack_hand(mob/living/user, list/modifiers) + . = ..() + if(.) + return + + if(swirlie) + user.changeNext_move(CLICK_CD_MELEE) + playsound(src.loc, SFX_SWING_HIT, 25, TRUE) + swirlie.visible_message(span_danger("[user] slams the toilet seat onto [swirlie]'s head!"), span_userdanger("[user] slams the toilet seat onto your head!"), span_hear("You hear reverberating porcelain.")) + log_combat(user, swirlie, "swirlied (brute)") + swirlie.adjustBruteLoss(5) + return + + if(user.pulling && isliving(user.pulling)) + user.changeNext_move(CLICK_CD_MELEE) + var/mob/living/grabbed_mob = user.pulling + if(user.grab_state < GRAB_AGGRESSIVE) + to_chat(user, span_warning("You need a tighter grip!")) + return + if(grabbed_mob.loc != get_turf(src)) + to_chat(user, span_warning("[grabbed_mob] needs to be on [src]!")) + return + if(swirlie) + return + if(cover_open) + grabbed_mob.visible_message(span_danger("[user] starts to give [grabbed_mob] a swirlie!"), span_userdanger("[user] starts to give you a swirlie...")) + swirlie = grabbed_mob + var/was_alive = (swirlie.stat != DEAD) + if(!do_after(user, 3 SECONDS, target = src, timed_action_flags = IGNORE_HELD_ITEM)) + swirlie = null + return + grabbed_mob.visible_message(span_danger("[user] gives [grabbed_mob] a swirlie!"), span_userdanger("[user] gives you a swirlie!"), span_hear("You hear a toilet flushing.")) + if(iscarbon(grabbed_mob)) + var/mob/living/carbon/carbon_grabbed = grabbed_mob + if(!carbon_grabbed.internal) + log_combat(user, carbon_grabbed, "swirlied (oxy)") + carbon_grabbed.adjustOxyLoss(5) + else + log_combat(user, grabbed_mob, "swirlied (oxy)") + grabbed_mob.adjustOxyLoss(5) + if(was_alive && swirlie.stat == DEAD && swirlie.client) + swirlie.client.give_award(/datum/award/achievement/misc/swirlie, swirlie) // just like space high school all over again! + swirlie = null + else + playsound(src.loc, 'sound/effects/bang.ogg', 25, TRUE) + grabbed_mob.visible_message(span_danger("[user] slams [grabbed_mob.name] into [src]!"), span_userdanger("[user] slams you into [src]!")) + log_combat(user, grabbed_mob, "toilet slammed") + grabbed_mob.adjustBruteLoss(5) + return + + if(cistern_open && !cover_open && user.CanReach(src)) + if(!LAZYLEN(cistern_items)) + to_chat(user, span_notice("The cistern is empty.")) + return + var/obj/item/random_cistern_item = pick(cistern_items) + if(ishuman(user)) + user.put_in_hands(random_cistern_item) + else + random_cistern_item.forceMove(drop_location()) + to_chat(user, span_notice("You find [random_cistern_item] in the cistern.")) + w_items -= random_cistern_item.w_class + return + + if(!flushing && LAZYLEN(fishes) && cover_open) + var/obj/item/random_fish = pick(fishes) + if(ishuman(user)) + user.put_in_hands(random_fish) + else + random_fish.forceMove(drop_location()) + to_chat(user, span_notice("You take [random_fish] out of the toilet, poor thing.")) + +/obj/structure/toilet/click_alt(mob/living/user) + if(flushing) + return CLICK_ACTION_BLOCKING + cover_open = !cover_open + update_appearance(UPDATE_ICON) + return CLICK_ACTION_SUCCESS + +/obj/structure/toilet/attack_hand_secondary(mob/user, list/modifiers) + . = ..() + if(flushing) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + flushing = TRUE + playsound(src, "sound/machines/toilet_flush.ogg", cover_open ? 40 : 20, TRUE) + if(cover_open && (dir & SOUTH)) + update_appearance(UPDATE_OVERLAYS) + flick_overlay_view(mutable_appearance(icon, "[base_icon_state]-water-flick"), 3 SECONDS) + addtimer(CALLBACK(src, PROC_REF(end_flushing)), 4 SECONDS) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + +/obj/structure/toilet/update_icon_state() + icon_state = "[base_icon_state][cover_open][cistern_open]" + return ..() + +/obj/structure/toilet/update_overlays() + . = ..() + if(!flushing && cover_open && (dir & SOUTH)) + . += toilet_water_overlay + +/obj/structure/toilet/atom_deconstruct(dissambled = TRUE) + for(var/obj/toilet_item in cistern_items) + toilet_item.forceMove(drop_location()) + if(buildstacktype) + new buildstacktype(loc,buildstackamount) + else + for(var/datum/material/M as anything in custom_materials) + new M.sheet_type(loc, FLOOR(custom_materials[M] / SHEET_MATERIAL_AMOUNT, 1)) + +/obj/structure/toilet/attackby(obj/item/attacking_item, mob/living/user, params) + add_fingerprint(user) + if(cover_open && istype(attacking_item, /obj/item/fish)) + if(fishes >= 3) + to_chat(user, span_warning("There's too many fishes, flush them down first.")) + return + if(!user.transferItemToLoc(attacking_item, src)) + to_chat(user, span_warning("\The [attacking_item] is stuck to your hand!")) + return + var/obj/item/fish/the_fish = attacking_item + if(the_fish.status == FISH_DEAD) + to_chat(user, span_warning("You place [attacking_item] into [src], may it rest in peace.")) + else + to_chat(user, span_notice("You place [attacking_item] into [src], hopefully no one will miss it!")) + LAZYADD(fishes, attacking_item) + return + + if(cistern_open && !user.combat_mode) + if(attacking_item.w_class > WEIGHT_CLASS_NORMAL) + to_chat(user, span_warning("[attacking_item] does not fit!")) + return + if(w_items + attacking_item.w_class > WEIGHT_CLASS_HUGE) + to_chat(user, span_warning("The cistern is full!")) + return + if(!user.transferItemToLoc(attacking_item, src)) + to_chat(user, span_warning("\The [attacking_item] is stuck to your hand, you cannot put it in the cistern!")) + return + LAZYADD(cistern_items, attacking_item) + w_items += attacking_item.w_class + to_chat(user, span_notice("You carefully place [attacking_item] into the cistern.")) + return + + if(is_reagent_container(attacking_item) && !user.combat_mode) + if (!cover_open) + return + if(istype(attacking_item, /obj/item/food/monkeycube)) + var/obj/item/food/monkeycube/cube = attacking_item + cube.Expand() + return + var/obj/item/reagent_containers/RG = attacking_item + RG.reagents.add_reagent(/datum/reagent/water, min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) + to_chat(user, span_notice("You fill [RG] from [src]. Gross.")) + return ..() + +/obj/structure/toilet/crowbar_act(mob/living/user, obj/item/tool) + to_chat(user, span_notice("You start to [cistern_open ? "replace the lid on" : "lift the lid off"] the cistern...")) + playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, TRUE) + if(tool.use_tool(src, user, 30)) + user.visible_message( + span_notice("[user] [cistern_open ? "replaces the lid on" : "lifts the lid off"] the cistern!"), + span_notice("You [cistern_open ? "replace the lid on" : "lift the lid off"] the cistern!"), + span_hear("You hear grinding porcelain.")) + cistern_open = !cistern_open + update_appearance(UPDATE_ICON_STATE) + return ITEM_INTERACT_SUCCESS + +/obj/structure/toilet/wrench_act(mob/living/user, obj/item/tool) + tool.play_tool_sound(src) + deconstruct() + return ITEM_INTERACT_SUCCESS + +///Ends the flushing animation and updates overlays if necessary +/obj/structure/toilet/proc/end_flushing() + flushing = FALSE + if(cover_open && (dir & SOUTH)) + update_appearance(UPDATE_OVERLAYS) + QDEL_LAZYLIST(fishes) + +/obj/structure/toilet/greyscale + material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS + buildstacktype = null + +/obj/structure/toilet/secret + var/secret_type = null + +/obj/structure/toilet/secret/Initialize(mapload) + . = ..() + if(secret_type) + var/obj/item/secret = new secret_type(src) + secret.desc += " It's a secret!" + w_items += secret.w_class + LAZYADD(cistern_items, secret) diff --git a/code/game/objects/structures/water_structures/urinal.dm b/code/game/objects/structures/water_structures/urinal.dm new file mode 100644 index 00000000000..3b34e2cc0e5 --- /dev/null +++ b/code/game/objects/structures/water_structures/urinal.dm @@ -0,0 +1,116 @@ +/obj/structure/urinal + name = "urinal" + desc = "The HU-452, an experimental urinal. Comes complete with experimental urinal cake." + icon = 'icons/obj/watercloset.dmi' + icon_state = "urinal" + density = FALSE + anchored = TRUE + /// Can you currently put an item inside + var/exposed = FALSE + /// What's in the urinal + var/obj/item/hidden_item + +MAPPING_DIRECTIONAL_HELPERS(/obj/structure/urinal, 32) + +/obj/structure/urinal/Initialize(mapload) + . = ..() + if(mapload) + hidden_item = new /obj/item/food/urinalcake(src) + find_and_hang_on_wall() + +/obj/structure/urinal/Exited(atom/movable/gone, direction) + . = ..() + if(gone == hidden_item) + hidden_item = null + +/obj/structure/urinal/attack_hand(mob/living/user, list/modifiers) + . = ..() + if(.) + return + + if(user.pulling && isliving(user.pulling)) + var/mob/living/grabbed_mob = user.pulling + if(user.grab_state >= GRAB_AGGRESSIVE) + if(grabbed_mob.loc != get_turf(src)) + to_chat(user, span_notice("[grabbed_mob.name] needs to be on [src].")) + return + user.changeNext_move(CLICK_CD_MELEE) + user.visible_message(span_danger("[user] slams [grabbed_mob] into [src]!"), span_danger("You slam [grabbed_mob] into [src]!")) + grabbed_mob.emote("scream") + grabbed_mob.adjustBruteLoss(8) + else + to_chat(user, span_warning("You need a tighter grip!")) + return + + if(exposed) + if(hidden_item) + to_chat(user, span_notice("You fish [hidden_item] out of the drain enclosure.")) + user.put_in_hands(hidden_item) + else + to_chat(user, span_warning("There is nothing in the drain holder!")) + return + return ..() + +/obj/structure/urinal/attackby(obj/item/attacking_item, mob/user, params) + if(exposed) + if(hidden_item) + to_chat(user, span_warning("There is already something in the drain enclosure!")) + return + if(attacking_item.w_class > WEIGHT_CLASS_TINY) + to_chat(user, span_warning("[attacking_item] is too large for the drain enclosure.")) + return + if(!user.transferItemToLoc(attacking_item, src)) + to_chat(user, span_warning("[attacking_item] is stuck to your hand, you cannot put it in the drain enclosure!")) + return + hidden_item = attacking_item + to_chat(user, span_notice("You place [attacking_item] into the drain enclosure.")) + return + return ..() + +/obj/structure/urinal/screwdriver_act(mob/living/user, obj/item/I) + if(..()) + return TRUE + to_chat(user, span_notice("You start to [exposed ? "screw the cap back into place" : "unscrew the cap to the drain protector"]...")) + playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, TRUE) + if(I.use_tool(src, user, 20)) + user.visible_message(span_notice("[user] [exposed ? "screws the cap back into place" : "unscrew the cap to the drain protector"]!"), + span_notice("You [exposed ? "screw the cap back into place" : "unscrew the cap on the drain"]!"), + span_hear("You hear metal and squishing noises.")) + exposed = !exposed + return TRUE + +/obj/structure/urinal/wrench_act_secondary(mob/living/user, obj/item/tool) + tool.play_tool_sound(user) + deconstruct(TRUE) + balloon_alert(user, "removed urinal") + return ITEM_INTERACT_SUCCESS + +/obj/structure/urinal/atom_deconstruct(disassembled = TRUE) + new /obj/item/wallframe/urinal(loc) + hidden_item?.forceMove(drop_location()) + +/obj/item/wallframe/urinal + name = "urinal frame" + desc = "An unmounted urinal. Attach it to a wall to use." + icon = 'icons/obj/watercloset.dmi' + icon_state = "urinal" + result_path = /obj/structure/urinal + pixel_shift = 32 + +/obj/item/food/urinalcake + name = "urinal cake" + desc = "The noble urinal cake, protecting the station's pipes from the station's pee. Do not eat." + icon = 'icons/obj/watercloset.dmi' + icon_state = "urinalcake" + w_class = WEIGHT_CLASS_TINY + food_reagents = list( + /datum/reagent/chlorine = 3, + /datum/reagent/ammonia = 1, + ) + foodtypes = TOXIC | GROSS + preserved_food = TRUE + +/obj/item/food/urinalcake/attack_self(mob/living/user) + user.visible_message(span_notice("[user] squishes [src]!"), span_notice("You squish [src]."), "You hear a squish.") + icon_state = "urinalcake_squish" + addtimer(VARSET_CALLBACK(src, icon_state, "urinalcake"), 0.8 SECONDS) diff --git a/code/game/objects/structures/water_structures/water_source.dm b/code/game/objects/structures/water_structures/water_source.dm new file mode 100644 index 00000000000..b7ad26a65ea --- /dev/null +++ b/code/game/objects/structures/water_structures/water_source.dm @@ -0,0 +1,149 @@ +//Water source, use the type water_source for unlimited water sources like classic sinks. +/obj/structure/water_source + name = "Water Source" + icon = 'icons/obj/watercloset.dmi' + icon_state = "sink" + desc = "A sink used for washing one's hands and face. This one seems to be infinite!" + anchored = TRUE + ///Boolean on whether something is currently being washed, preventing multiple people from cleaning at once. + var/busy = FALSE + ///The reagent that is dispensed from this source, by default it's water. + var/datum/reagent/dispensedreagent = /datum/reagent/water + +/obj/structure/water_source/Initialize(mapload) + . = ..() + create_reagents(INFINITY, NO_REACT) + reagents.add_reagent(dispensedreagent, INFINITY) + +/obj/structure/water_source/attack_hand(mob/living/user, list/modifiers) + . = ..() + if(.) + return + if(!iscarbon(user)) + return + if(!Adjacent(user)) + return + + if(busy) + to_chat(user, span_warning("Someone's already washing here!")) + return + var/selected_area = user.parse_zone_with_bodypart(user.zone_selected) + var/washing_face = FALSE + if(selected_area in list(BODY_ZONE_HEAD, BODY_ZONE_PRECISE_MOUTH, BODY_ZONE_PRECISE_EYES)) + washing_face = TRUE + user.visible_message( + span_notice("[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]..."), + span_notice("You start washing your [washing_face ? "face" : "hands"]...")) + busy = TRUE + + if(!do_after(user, 4 SECONDS, target = src)) + busy = FALSE + return + + busy = FALSE + + if(washing_face) + SEND_SIGNAL(user, COMSIG_COMPONENT_CLEAN_FACE_ACT, CLEAN_WASH) + else if(ishuman(user)) + var/mob/living/carbon/human/human_user = user + if(!human_user.wash_hands(CLEAN_WASH)) + to_chat(user, span_warning("Your hands are covered by something!")) + return + else + user.wash(CLEAN_WASH) + + user.visible_message( + span_notice("[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src]."), + span_notice("You wash your [washing_face ? "face" : "hands"] using [src]."), + ) + +/obj/structure/water_source/attackby(obj/item/attacking_item, mob/living/user, params) + if(busy) + to_chat(user, span_warning("Someone's already washing here!")) + return + + if(attacking_item.item_flags & ABSTRACT) //Abstract items like grabs won't wash. No-drop items will though because it's still technically an item in your hand. + return + + if(is_reagent_container(attacking_item)) + var/obj/item/reagent_containers/container = attacking_item + if(container.is_refillable()) + if(!container.reagents.holder_full()) + container.reagents.add_reagent(dispensedreagent, min(container.volume - container.reagents.total_volume, container.amount_per_transfer_from_this)) + to_chat(user, span_notice("You fill [container] from [src].")) + return TRUE + to_chat(user, span_notice("\The [container] is full.")) + return FALSE + + if(istype(attacking_item, /obj/item/melee/baton/security)) + var/obj/item/melee/baton/security/baton = attacking_item + if(baton.cell?.charge && baton.active) + flick("baton_active", src) + user.Paralyze(baton.knockdown_time) + user.set_stutter(baton.knockdown_time) + baton.cell.use(baton.cell_hit_cost) + user.visible_message( + span_warning("[user] shocks [user.p_them()]self while attempting to wash the active [baton.name]!"), + span_userdanger("You unwisely attempt to wash [baton] while it's still on.")) + playsound(src, baton.on_stun_sound, 50, TRUE) + return + + if(istype(attacking_item, /obj/item/mop)) + attacking_item.reagents.add_reagent(dispensedreagent, 5) + to_chat(user, span_notice("You wet [attacking_item] in [src].")) + playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) + return + + if(istype(attacking_item, /obj/item/stack/medical/gauze)) + var/obj/item/stack/medical/gauze/G = attacking_item + new /obj/item/reagent_containers/cup/rag(loc) + to_chat(user, span_notice("You tear off a strip of gauze and make a rag.")) + G.use(1) + return + + if(istype(attacking_item, /obj/item/stack/sheet/cloth)) + var/obj/item/stack/sheet/cloth/cloth = attacking_item + new /obj/item/reagent_containers/cup/rag(loc) + to_chat(user, span_notice("You tear off a strip of cloth and make a rag.")) + cloth.use(1) + return + + if(istype(attacking_item, /obj/item/stack/ore/glass)) + new /obj/item/stack/sheet/sandblock(loc) + to_chat(user, span_notice("You wet the sand and form it into a block.")) + attacking_item.use(1) + return + + if(!user.combat_mode) + to_chat(user, span_notice("You start washing [attacking_item]...")) + busy = TRUE + if(!do_after(user, 4 SECONDS, target = src)) + busy = FALSE + return TRUE + busy = FALSE + attacking_item.wash(CLEAN_WASH) + reagents.expose(attacking_item, TOUCH, 5 / max(reagents.total_volume, 5)) + user.visible_message( + span_notice("[user] washes [attacking_item] using [src]."), + span_notice("You wash [attacking_item] using [src].")) + return TRUE + + return ..() + +/obj/structure/water_source/puddle //splishy splashy ^_^ + name = "puddle" + desc = "A puddle used for washing one's hands and face." + icon_state = "puddle" + base_icon_state = "puddle" + resistance_flags = UNACIDABLE + +//ATTACK HAND IGNORING PARENT RETURN VALUE +/obj/structure/water_source/puddle/attack_hand(mob/user, list/modifiers) + icon_state = "[base_icon_state]-splash" + . = ..() + icon_state = base_icon_state + +/obj/structure/water_source/puddle/attackby(obj/item/attacking_item, mob/user, params) + icon_state = "[base_icon_state]-splash" + . = ..() + icon_state = base_icon_state diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm deleted file mode 100644 index 51d85d4583d..00000000000 --- a/code/game/objects/structures/watercloset.dm +++ /dev/null @@ -1,877 +0,0 @@ -/obj/structure/toilet - name = "toilet" - desc = "The HT-451, a torque rotation-based, waste disposal unit for small matter. This one seems remarkably clean." - icon = 'icons/obj/watercloset.dmi' - icon_state = "toilet00" - density = FALSE - anchored = TRUE - var/open = FALSE //if the lid is up - var/cistern = 0 //if the cistern bit is open - var/w_items = 0 //the combined w_class of all the items in the cistern - var/mob/living/swirlie = null //the mob being given a swirlie - var/buildstacktype = /obj/item/stack/sheet/iron //they're iron now, shut up - var/buildstackamount = 1 - -/obj/structure/toilet/Initialize(mapload) - . = ..() - open = round(rand(0, 1)) - update_appearance() - if(mapload && SSmapping.level_trait(z, ZTRAIT_STATION)) - AddElement(/datum/element/lazy_fishing_spot, /datum/fish_source/toilet) - -/obj/structure/toilet/attack_hand(mob/living/user, list/modifiers) - . = ..() - if(.) - return - if(swirlie) - user.changeNext_move(CLICK_CD_MELEE) - playsound(src.loc, SFX_SWING_HIT, 25, TRUE) - swirlie.visible_message(span_danger("[user] slams the toilet seat onto [swirlie]'s head!"), span_userdanger("[user] slams the toilet seat onto your head!"), span_hear("You hear reverberating porcelain.")) - log_combat(user, swirlie, "swirlied (brute)") - swirlie.adjustBruteLoss(5) - - else if(user.pulling && isliving(user.pulling)) - user.changeNext_move(CLICK_CD_MELEE) - var/mob/living/GM = user.pulling - if(user.grab_state >= GRAB_AGGRESSIVE) - if(GM.loc != get_turf(src)) - to_chat(user, span_warning("[GM] needs to be on [src]!")) - return - if(!swirlie) - if(open) - GM.visible_message(span_danger("[user] starts to give [GM] a swirlie!"), span_userdanger("[user] starts to give you a swirlie...")) - swirlie = GM - var/was_alive = (swirlie.stat != DEAD) - if(do_after(user, 3 SECONDS, target = src, timed_action_flags = IGNORE_HELD_ITEM)) - GM.visible_message(span_danger("[user] gives [GM] a swirlie!"), span_userdanger("[user] gives you a swirlie!"), span_hear("You hear a toilet flushing.")) - if(iscarbon(GM)) - var/mob/living/carbon/C = GM - if(!C.internal) - log_combat(user, C, "swirlied (oxy)") - C.adjustOxyLoss(5) - else - log_combat(user, GM, "swirlied (oxy)") - GM.adjustOxyLoss(5) - if(was_alive && swirlie.stat == DEAD && swirlie.client) - swirlie.client.give_award(/datum/award/achievement/misc/swirlie, swirlie) // just like space high school all over again! - swirlie = null - else - playsound(src.loc, 'sound/effects/bang.ogg', 25, TRUE) - GM.visible_message(span_danger("[user] slams [GM.name] into [src]!"), span_userdanger("[user] slams you into [src]!")) - log_combat(user, GM, "toilet slammed") - GM.adjustBruteLoss(5) - else - to_chat(user, span_warning("You need a tighter grip!")) - - else if(cistern && !open && user.CanReach(src)) - if(!contents.len) - to_chat(user, span_notice("The cistern is empty.")) - else - var/obj/item/I = pick(contents) - if(ishuman(user)) - user.put_in_hands(I) - else - I.forceMove(drop_location()) - to_chat(user, span_notice("You find [I] in the cistern.")) - w_items -= I.w_class - else - open = !open - update_appearance() - - -/obj/structure/toilet/update_icon_state() - icon_state = "toilet[open][cistern]" - return ..() - -/obj/structure/toilet/atom_deconstruct(dissambled = TRUE) - for(var/obj/toilet_item in contents) - toilet_item.forceMove(drop_location()) - if(buildstacktype) - new buildstacktype(loc,buildstackamount) - else - for(var/i in custom_materials) - var/datum/material/M = i - new M.sheet_type(loc, FLOOR(custom_materials[M] / SHEET_MATERIAL_AMOUNT, 1)) - -/obj/structure/toilet/attackby(obj/item/I, mob/living/user, params) - add_fingerprint(user) - if(I.tool_behaviour == TOOL_CROWBAR) - to_chat(user, span_notice("You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]...")) - playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, TRUE) - if(I.use_tool(src, user, 30)) - user.visible_message(span_notice("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!"), span_notice("You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!"), span_hear("You hear grinding porcelain.")) - cistern = !cistern - update_appearance() - return COMPONENT_CANCEL_ATTACK_CHAIN - else if(I.tool_behaviour == TOOL_WRENCH) - I.play_tool_sound(src) - deconstruct() - return TRUE - else if(cistern && !user.combat_mode) - if(I.w_class > WEIGHT_CLASS_NORMAL) - to_chat(user, span_warning("[I] does not fit!")) - return - if(w_items + I.w_class > WEIGHT_CLASS_HUGE) - to_chat(user, span_warning("The cistern is full!")) - return - if(!user.transferItemToLoc(I, src)) - to_chat(user, span_warning("\The [I] is stuck to your hand, you cannot put it in the cistern!")) - return - w_items += I.w_class - to_chat(user, span_notice("You carefully place [I] into the cistern.")) - return - - if(is_reagent_container(I) && !user.combat_mode) - if (!open) - return - if(istype(I, /obj/item/food/monkeycube)) - var/obj/item/food/monkeycube/cube = I - cube.Expand() - return - var/obj/item/reagent_containers/RG = I - RG.reagents.add_reagent(/datum/reagent/water, min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) - to_chat(user, span_notice("You fill [RG] from [src]. Gross.")) - . = ..() - -/obj/structure/toilet/secret - var/obj/item/secret - var/secret_type = null - -/obj/structure/toilet/secret/Initialize(mapload) - . = ..() - if (secret_type) - secret = new secret_type(src) - secret.desc += " It's a secret!" - w_items += secret.w_class - contents += secret - -/obj/structure/toilet/greyscale - material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS - buildstacktype = null - -/obj/structure/urinal - name = "urinal" - desc = "The HU-452, an experimental urinal. Comes complete with experimental urinal cake." - icon = 'icons/obj/watercloset.dmi' - icon_state = "urinal" - density = FALSE - anchored = TRUE - /// Can you currently put an item inside - var/exposed = FALSE - /// What's in the urinal - var/obj/item/hidden_item - -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/urinal, 32) - -/obj/structure/urinal/Initialize(mapload) - . = ..() - hidden_item = new /obj/item/food/urinalcake - find_and_hang_on_wall() - -/obj/structure/urinal/attack_hand(mob/living/user, list/modifiers) - . = ..() - if(.) - return - if(user.pulling && isliving(user.pulling)) - var/mob/living/GM = user.pulling - if(user.grab_state >= GRAB_AGGRESSIVE) - if(GM.loc != get_turf(src)) - to_chat(user, span_notice("[GM.name] needs to be on [src].")) - return - user.changeNext_move(CLICK_CD_MELEE) - user.visible_message(span_danger("[user] slams [GM] into [src]!"), span_danger("You slam [GM] into [src]!")) - GM.adjustBruteLoss(8) - else - to_chat(user, span_warning("You need a tighter grip!")) - - else if(exposed) - if(!hidden_item) - to_chat(user, span_warning("There is nothing in the drain holder!")) - else - if(ishuman(user)) - user.put_in_hands(hidden_item) - else - hidden_item.forceMove(get_turf(src)) - to_chat(user, span_notice("You fish [hidden_item] out of the drain enclosure.")) - hidden_item = null - else - ..() - -/obj/structure/urinal/attackby(obj/item/I, mob/living/user, params) - if(exposed) - if (hidden_item) - to_chat(user, span_warning("There is already something in the drain enclosure!")) - return - if(I.w_class > 1) - to_chat(user, span_warning("[I] is too large for the drain enclosure.")) - return - if(!user.transferItemToLoc(I, src)) - to_chat(user, span_warning("[I] is stuck to your hand, you cannot put it in the drain enclosure!")) - return - hidden_item = I - to_chat(user, span_notice("You place [I] into the drain enclosure.")) - else - return ..() - -/obj/structure/urinal/screwdriver_act(mob/living/user, obj/item/I) - if(..()) - return TRUE - to_chat(user, span_notice("You start to [exposed ? "screw the cap back into place" : "unscrew the cap to the drain protector"]...")) - playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, TRUE) - if(I.use_tool(src, user, 20)) - user.visible_message(span_notice("[user] [exposed ? "screws the cap back into place" : "unscrew the cap to the drain protector"]!"), - span_notice("You [exposed ? "screw the cap back into place" : "unscrew the cap on the drain"]!"), - span_hear("You hear metal and squishing noises.")) - exposed = !exposed - return TRUE - -/obj/structure/urinal/atom_deconstruct(disassembled = TRUE) - new /obj/item/wallframe/urinal(loc) - -/obj/item/wallframe/urinal - name = "urinal frame" - desc = "An unmounted urinal. Attach it to a wall to use." - icon = 'icons/obj/watercloset.dmi' - icon_state = "urinal" - result_path = /obj/structure/urinal - pixel_shift = 32 - -/obj/item/food/urinalcake - name = "urinal cake" - desc = "The noble urinal cake, protecting the station's pipes from the station's pee. Do not eat." - icon = 'icons/obj/watercloset.dmi' - icon_state = "urinalcake" - w_class = WEIGHT_CLASS_TINY - food_reagents = list( - /datum/reagent/chlorine = 3, - /datum/reagent/ammonia = 1, - ) - foodtypes = TOXIC | GROSS - preserved_food = TRUE - -/obj/item/food/urinalcake/attack_self(mob/living/user) - user.visible_message(span_notice("[user] squishes [src]!"), span_notice("You squish [src]."), "You hear a squish.") - icon_state = "urinalcake_squish" - addtimer(VARSET_CALLBACK(src, icon_state, "urinalcake"), 0.8 SECONDS) - -/obj/item/bikehorn/rubberducky/plasticducky - name = "plastic ducky" - desc = "It's a cheap plastic knockoff of a loveable bathtime toy." - custom_materials = list(/datum/material/plastic =HALF_SHEET_MATERIAL_AMOUNT) - -/obj/item/bikehorn/rubberducky - name = "rubber ducky" - desc = "Rubber ducky you're so fine, you make bathtime lots of fuuun. Rubber ducky I'm awfully fooooond of yooooouuuu~" //thanks doohl - icon = 'icons/obj/watercloset.dmi' - icon_state = "rubberducky" - inhand_icon_state = "rubberducky" - lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' - righthand_file = 'icons/mob/inhands/items_righthand.dmi' - worn_icon_state = "duck" - sound_file = 'sound/effects/quack.ogg' - -/obj/structure/sink - name = "sink" - icon = 'icons/obj/watercloset.dmi' - icon_state = "sink" - desc = "A sink used for washing one's hands and face. Passively reclaims water over time." - anchored = TRUE - layer = ABOVE_OBJ_LAYER - pixel_z = 1 - ///Something's being washed at the moment - var/busy = FALSE - ///What kind of reagent is produced by this sink by default? (We now have actual plumbing, Arcane, August 2020) - var/dispensedreagent = /datum/reagent/water - ///Material to drop when broken or deconstructed. - var/buildstacktype = /obj/item/stack/sheet/iron - ///Number of sheets of material to drop when broken or deconstructed. - var/buildstackamount = 1 - ///Does the sink have a water recycler to recollect it's water supply? - var/has_water_reclaimer = TRUE - ///Units of water to reclaim per second - var/reclaim_rate = 0.5 - ///Amount of shift the pixel for placement - var/pixel_shift = 14 - -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink, (-14)) - -/obj/structure/sink/Initialize(mapload, ndir = 0, has_water_reclaimer = null) - . = ..() - - if(ndir) - dir = ndir - - if(has_water_reclaimer != null) - src.has_water_reclaimer = has_water_reclaimer - - switch(dir) - if(NORTH) - pixel_x = 0 - pixel_y = -pixel_shift - if(SOUTH) - pixel_x = 0 - pixel_y = pixel_shift - if(EAST) - pixel_x = -pixel_shift - pixel_y = 0 - if(WEST) - pixel_x = pixel_shift - pixel_y = 0 - - create_reagents(100, NO_REACT) - if(src.has_water_reclaimer) - reagents.add_reagent(dispensedreagent, 100) - AddComponent(/datum/component/plumbing/simple_demand, extend_pipe_to_edge = TRUE) - -/obj/structure/sink/examine(mob/user) - . = ..() - if(has_water_reclaimer) - . += span_notice("A water recycler is installed. It looks like you could pry it out.") - . += span_notice("[reagents.total_volume]/[reagents.maximum_volume] liquids remaining.") - -/obj/structure/sink/attack_hand(mob/living/user, list/modifiers) - . = ..() - if(.) - return - if(!user || !istype(user)) - return - if(!iscarbon(user)) - return - if(!Adjacent(user)) - return - if(reagents.total_volume < 5) - to_chat(user, span_warning("The sink has no more contents left!")) - return - if(busy) - to_chat(user, span_warning("Someone's already washing here!")) - return - var/selected_area = user.parse_zone_with_bodypart(user.zone_selected) - var/washing_face = 0 - if(selected_area in list(BODY_ZONE_HEAD, BODY_ZONE_PRECISE_MOUTH, BODY_ZONE_PRECISE_EYES)) - washing_face = 1 - user.visible_message(span_notice("[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]..."), \ - span_notice("You start washing your [washing_face ? "face" : "hands"]...")) - busy = TRUE - - if(!do_after(user, 4 SECONDS, target = src)) - busy = FALSE - return - - busy = FALSE - reagents.remove_all(5) - reagents.expose(user, TOUCH, 5 / max(reagents.total_volume, 5)) - begin_reclamation() - if(washing_face) - SEND_SIGNAL(user, COMSIG_COMPONENT_CLEAN_FACE_ACT, CLEAN_WASH) - else if(ishuman(user)) - var/mob/living/carbon/human/human_user = user - if(!human_user.wash_hands(CLEAN_WASH)) - to_chat(user, span_warning("Your hands are covered by something!")) - return - else - user.wash(CLEAN_WASH) - - user.visible_message(span_notice("[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src]."), \ - span_notice("You wash your [washing_face ? "face" : "hands"] using [src].")) - -/obj/structure/sink/attackby(obj/item/O, mob/living/user, params) - if(busy) - to_chat(user, span_warning("Someone's already washing here!")) - return - - if(is_reagent_container(O)) - var/obj/item/reagent_containers/RG = O - if(reagents.total_volume <= 0) - to_chat(user, span_notice("\The [src] is dry.")) - return FALSE - if(RG.is_refillable()) - if(!RG.reagents.holder_full()) - reagents.trans_to(RG, RG.amount_per_transfer_from_this, transferred_by = user) - begin_reclamation() - to_chat(user, span_notice("You fill [RG] from [src].")) - return TRUE - to_chat(user, span_notice("\The [RG] is full.")) - return FALSE - - if(istype(O, /obj/item/melee/baton/security)) - var/obj/item/melee/baton/security/baton = O - if(baton.cell?.charge && baton.active) - flick("baton_active", src) - user.Paralyze(baton.knockdown_time) - user.set_stutter(baton.knockdown_time) - baton.cell.use(baton.cell_hit_cost) - user.visible_message(span_warning("[user] shocks [user.p_them()]self while attempting to wash the active [baton.name]!"), \ - span_userdanger("You unwisely attempt to wash [baton] while it's still on.")) - playsound(src, baton.on_stun_sound, 50, TRUE) - return - - if(istype(O, /obj/item/mop)) - if(reagents.total_volume <= 0) - to_chat(user, span_notice("\The [src] is dry.")) - return FALSE - reagents.trans_to(O, 5, transferred_by = user) - begin_reclamation() - to_chat(user, span_notice("You wet [O] in [src].")) - playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) - return - - if(O.tool_behaviour == TOOL_WRENCH) - O.play_tool_sound(src) - deconstruct() - return - - if(O.tool_behaviour == TOOL_CROWBAR) - if(!has_water_reclaimer) - to_chat(user, span_warning("There isn't a water recycler to remove.")) - return - - O.play_tool_sound(src) - has_water_reclaimer = FALSE - new/obj/item/stock_parts/water_recycler(get_turf(loc)) - to_chat(user, span_notice("You remove the water reclaimer from [src]")) - return - - if(istype(O, /obj/item/stack/medical/gauze)) - var/obj/item/stack/medical/gauze/G = O - new /obj/item/reagent_containers/cup/rag(src.loc) - to_chat(user, span_notice("You tear off a strip of gauze and make a rag.")) - G.use(1) - return - - if(istype(O, /obj/item/stack/sheet/cloth)) - var/obj/item/stack/sheet/cloth/cloth = O - new /obj/item/reagent_containers/cup/rag(loc) - to_chat(user, span_notice("You tear off a strip of cloth and make a rag.")) - cloth.use(1) - return - - if(istype(O, /obj/item/stack/ore/glass)) - new /obj/item/stack/sheet/sandblock(loc) - to_chat(user, span_notice("You wet the sand in the sink and form it into a block.")) - O.use(1) - return - - if(istype(O, /obj/item/stock_parts/water_recycler)) - if(has_water_reclaimer) - to_chat(user, span_warning("There is already has a water recycler installed.")) - return - - playsound(src, 'sound/machines/click.ogg', 20, TRUE) - qdel(O) - has_water_reclaimer = TRUE - begin_reclamation() - return - - if(istype(O, /obj/item/storage/fancy/pickles_jar)) - if(O.contents.len) - to_chat(user, span_notice("Looks like there's something left in the jar")) - return - new /obj/item/reagent_containers/cup/beaker/large(loc) - to_chat(user, span_notice("You washed the jar, ridding it of the brine.")) - qdel(O) - return - - if(!istype(O)) - return - if(O.item_flags & ABSTRACT) //Abstract items like grabs won't wash. No-drop items will though because it's still technically an item in your hand. - return - - if(!user.combat_mode) - to_chat(user, span_notice("You start washing [O]...")) - busy = TRUE - if(!do_after(user, 4 SECONDS, target = src)) - busy = FALSE - return 1 - busy = FALSE - O.wash(CLEAN_WASH) - reagents.expose(O, TOUCH, 5 / max(reagents.total_volume, 5)) - user.visible_message(span_notice("[user] washes [O] using [src]."), \ - span_notice("You wash [O] using [src].")) - return 1 - else - return ..() - -/obj/structure/sink/atom_deconstruct(dissambled = TRUE) - drop_materials() - if(has_water_reclaimer) - new /obj/item/stock_parts/water_recycler(drop_location()) - -/obj/structure/sink/process(seconds_per_tick) - // Water reclamation complete? - if(!has_water_reclaimer || reagents.total_volume >= reagents.maximum_volume) - return PROCESS_KILL - - reagents.add_reagent(dispensedreagent, reclaim_rate * seconds_per_tick) - -/obj/structure/sink/proc/drop_materials() - if(buildstacktype) - new buildstacktype(loc,buildstackamount) - else - for(var/i in custom_materials) - var/datum/material/M = i - new M.sheet_type(loc, FLOOR(custom_materials[M] / SHEET_MATERIAL_AMOUNT, 1)) - -/obj/structure/sink/proc/begin_reclamation() - START_PROCESSING(SSplumbing, src) - -/obj/structure/sink/kitchen - name = "kitchen sink" - icon_state = "sink_alt" - pixel_z = 4 - pixel_shift = 16 - -MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sink/kitchen, (-16)) - -/obj/structure/sink/greyscale - icon_state = "sink_greyscale" - material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS - buildstacktype = null - -/obj/structure/sinkframe - name = "sink frame" - icon = 'icons/obj/watercloset.dmi' - icon_state = "sink_frame" - desc = "A sink frame, that needs a water recycler to finish construction." - anchored = FALSE - material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS - -/obj/structure/sinkframe/Initialize(mapload) - . = ..() - AddComponent(/datum/component/simple_rotation) - -/obj/structure/sinkframe/attackby(obj/item/tool, mob/living/user, params) - if(istype(tool, /obj/item/stock_parts/water_recycler)) - qdel(tool) - var/obj/structure/sink/greyscale/new_sink = new(loc, REVERSE_DIR(dir), TRUE) - new_sink.set_custom_materials(custom_materials) - qdel(src) - playsound(new_sink, 'sound/machines/click.ogg', 20, TRUE) - return - return ..() - -/obj/structure/sinkframe/wrench_act(mob/living/user, obj/item/tool) - . = ..() - - tool.play_tool_sound(src) - var/obj/structure/sink/greyscale/new_sink = new(loc, REVERSE_DIR(dir), FALSE) - new_sink.set_custom_materials(custom_materials) - qdel(src) - - return TRUE - -/obj/structure/sinkframe/wrench_act_secondary(mob/living/user, obj/item/tool) - . = ..() - tool.play_tool_sound(src) - deconstruct() - return TRUE - -/obj/structure/sinkframe/atom_deconstruct(dissambled = TRUE) - drop_materials() - -/obj/structure/sinkframe/proc/drop_materials() - for(var/datum/material/material as anything in custom_materials) - new material.sheet_type(loc, FLOOR(custom_materials[material] / SHEET_MATERIAL_AMOUNT, 1)) - return - -//Water source, use the type water_source for unlimited water sources like classic sinks. -/obj/structure/water_source - name = "Water Source" - icon = 'icons/obj/watercloset.dmi' - icon_state = "sink" - desc = "A sink used for washing one's hands and face. This one seems to be infinite!" - anchored = TRUE - var/busy = FALSE //Something's being washed at the moment - var/dispensedreagent = /datum/reagent/water // for whenever plumbing happens - -/obj/structure/water_source/Initialize(mapload) - . = ..() - - create_reagents(INFINITY, NO_REACT) - reagents.add_reagent(dispensedreagent, INFINITY) - -/obj/structure/water_source/attack_hand(mob/living/user, list/modifiers) - . = ..() - if(.) - return - if(!iscarbon(user)) - return - if(!Adjacent(user)) - return - - if(busy) - to_chat(user, span_warning("Someone's already washing here!")) - return - var/selected_area = user.parse_zone_with_bodypart(user.zone_selected) - var/washing_face = FALSE - if(selected_area in list(BODY_ZONE_HEAD, BODY_ZONE_PRECISE_MOUTH, BODY_ZONE_PRECISE_EYES)) - washing_face = TRUE - user.visible_message(span_notice("[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]..."), \ - span_notice("You start washing your [washing_face ? "face" : "hands"]...")) - busy = TRUE - - if(!do_after(user, 4 SECONDS, target = src)) - busy = FALSE - return - - busy = FALSE - - if(washing_face) - SEND_SIGNAL(user, COMSIG_COMPONENT_CLEAN_FACE_ACT, CLEAN_WASH) - else if(ishuman(user)) - var/mob/living/carbon/human/human_user = user - if(!human_user.wash_hands(CLEAN_WASH)) - to_chat(user, span_warning("Your hands are covered by something!")) - return - else - user.wash(CLEAN_WASH) - - user.visible_message(span_notice("[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src]."), \ - span_notice("You wash your [washing_face ? "face" : "hands"] using [src].")) - -/obj/structure/water_source/attackby(obj/item/O, mob/living/user, params) - if(busy) - to_chat(user, span_warning("Someone's already washing here!")) - return - - if(is_reagent_container(O)) - var/obj/item/reagent_containers/container = O - if(container.is_refillable()) - if(!container.reagents.holder_full()) - container.reagents.add_reagent(dispensedreagent, min(container.volume - container.reagents.total_volume, container.amount_per_transfer_from_this)) - to_chat(user, span_notice("You fill [container] from [src].")) - return TRUE - to_chat(user, span_notice("\The [container] is full.")) - return FALSE - - if(istype(O, /obj/item/melee/baton/security)) - var/obj/item/melee/baton/security/baton = O - if(baton.cell?.charge && baton.active) - flick("baton_active", src) - user.Paralyze(baton.knockdown_time) - user.set_stutter(baton.knockdown_time) - baton.cell.use(baton.cell_hit_cost) - user.visible_message(span_warning("[user] shocks [user.p_them()]self while attempting to wash the active [baton.name]!"), \ - span_userdanger("You unwisely attempt to wash [baton] while it's still on.")) - playsound(src, baton.on_stun_sound, 50, TRUE) - return - - if(istype(O, /obj/item/mop)) - O.reagents.add_reagent(dispensedreagent, 5) - to_chat(user, span_notice("You wet [O] in [src].")) - playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) - return - - if(istype(O, /obj/item/stack/medical/gauze)) - var/obj/item/stack/medical/gauze/G = O - new /obj/item/reagent_containers/cup/rag(loc) - to_chat(user, span_notice("You tear off a strip of gauze and make a rag.")) - G.use(1) - return - - if(istype(O, /obj/item/stack/sheet/cloth)) - var/obj/item/stack/sheet/cloth/cloth = O - new /obj/item/reagent_containers/cup/rag(loc) - to_chat(user, span_notice("You tear off a strip of cloth and make a rag.")) - cloth.use(1) - return - - if(istype(O, /obj/item/stack/ore/glass)) - new /obj/item/stack/sheet/sandblock(loc) - to_chat(user, span_notice("You wet the sand and form it into a block.")) - O.use(1) - return - - if(O.item_flags & ABSTRACT) //Abstract items like grabs won't wash. No-drop items will though because it's still technically an item in your hand. - return - - if(!user.combat_mode) - to_chat(user, span_notice("You start washing [O]...")) - busy = TRUE - if(!do_after(user, 4 SECONDS, target = src)) - busy = FALSE - return TRUE - busy = FALSE - O.wash(CLEAN_WASH) - reagents.expose(O, TOUCH, 5 / max(reagents.total_volume, 5)) - user.visible_message(span_notice("[user] washes [O] using [src]."), \ - span_notice("You wash [O] using [src].")) - return TRUE - - return ..() - - -/obj/structure/water_source/puddle //splishy splashy ^_^ - name = "puddle" - desc = "A puddle used for washing one's hands and face." - icon_state = "puddle" - resistance_flags = UNACIDABLE - -//ATTACK HAND IGNORING PARENT RETURN VALUE -/obj/structure/water_source/puddle/attack_hand(mob/user, list/modifiers) - icon_state = "puddle-splash" - . = ..() - icon_state = "puddle" - -/obj/structure/water_source/puddle/attackby(obj/item/O, mob/user, params) - icon_state = "puddle-splash" - . = ..() - icon_state = "puddle" - -//End legacy sink - - -//Shower Curtains// -//Defines used are pre-existing in layers.dm// - -/obj/structure/curtain - name = "curtain" - desc = "Contains less than 1% mercury." - icon = 'icons/obj/watercloset.dmi' - icon_state = "bathroom-open" - var/icon_type = "bathroom"//used in making the icon state - color = "#ACD1E9" //Default color, didn't bother hardcoding other colors, mappers can and should easily change it. - alpha = 200 //Mappers can also just set this to 255 if they want curtains that can't be seen through - layer = SIGN_LAYER - anchored = TRUE - opacity = FALSE - density = FALSE - var/open = TRUE - /// if it can be seen through when closed - var/opaque_closed = FALSE - -/obj/structure/curtain/Initialize(mapload) - // see-through curtains should let emissives shine through - if(!opaque_closed) - blocks_emissive = EMISSIVE_BLOCK_NONE - return ..() - -/obj/structure/curtain/proc/toggle() - open = !open - if(open) - layer = SIGN_LAYER - set_opacity(FALSE) - else - layer = WALL_OBJ_LAYER - if(opaque_closed) - set_opacity(TRUE) - - update_appearance() - -/obj/structure/curtain/update_icon_state() - icon_state = "[icon_type]-[open ? "open" : "closed"]" - return ..() - -/obj/structure/curtain/attackby(obj/item/W, mob/user) - if (istype(W, /obj/item/toy/crayon)) - color = input(user,"","Choose Color",color) as color - else - return ..() - -/obj/structure/curtain/wrench_act(mob/living/user, obj/item/tool) - . = ..() - default_unfasten_wrench(user, tool, time = 5 SECONDS) - return TRUE - -/obj/structure/curtain/wirecutter_act(mob/living/user, obj/item/I) - ..() - if(anchored) - return TRUE - - user.visible_message(span_warning("[user] cuts apart [src]."), - span_notice("You start to cut apart [src]."), span_hear("You hear cutting.")) - if(I.use_tool(src, user, 50, volume=100) && !anchored) - to_chat(user, span_notice("You cut apart [src].")) - deconstruct() - - return TRUE - - -/obj/structure/curtain/attack_hand(mob/user, list/modifiers) - . = ..() - if(.) - return - playsound(loc, 'sound/effects/curtain.ogg', 50, TRUE) - toggle() - -/obj/structure/curtain/atom_deconstruct(disassembled = TRUE) - new /obj/item/stack/sheet/cloth (loc, 2) - new /obj/item/stack/sheet/plastic (loc, 2) - new /obj/item/stack/rods (loc, 1) - -/obj/structure/curtain/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) - switch(damage_type) - if(BRUTE) - if(damage_amount) - playsound(src.loc, 'sound/weapons/slash.ogg', 80, TRUE) - else - playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE) - if(BURN) - playsound(loc, 'sound/items/welder.ogg', 80, TRUE) - -/obj/structure/curtain/bounty - icon_type = "bounty" - icon_state = "bounty-open" - color = null - alpha = 255 - opaque_closed = TRUE - -/obj/structure/curtain/bounty/start_closed - icon_state = "bounty-closed" - -/obj/structure/curtain/bounty/start_closed/Initialize(mapload) - . = ..() - if(open) - toggle() - -/obj/structure/curtain/cloth - color = null - alpha = 255 - opaque_closed = TRUE - -/obj/structure/curtain/cloth/atom_deconstruct(disassembled = TRUE) - new /obj/item/stack/sheet/cloth (loc, 4) - new /obj/item/stack/rods (loc, 1) - -/obj/structure/curtain/cloth/fancy - icon_type = "cur_fancy" - icon_state = "cur_fancy-open" - -/obj/structure/curtain/cloth/fancy/mechanical - var/id = null - -/obj/structure/curtain/cloth/fancy/mechanical/Destroy() - GLOB.curtains -= src - return ..() - -/obj/structure/curtain/cloth/fancy/mechanical/Initialize(mapload) - . = ..() - GLOB.curtains += src - -/obj/structure/curtain/cloth/fancy/mechanical/connect_to_shuttle(mapload, obj/docking_port/mobile/port, obj/docking_port/stationary/dock) - id = "[port.shuttle_id]_[id]" - -/obj/structure/curtain/cloth/fancy/mechanical/proc/open() - icon_state = "[icon_type]-open" - layer = SIGN_LAYER - SET_PLANE_IMPLICIT(src, GAME_PLANE) - set_density(FALSE) - open = TRUE - set_opacity(FALSE) - -/obj/structure/curtain/cloth/fancy/mechanical/proc/close() - icon_state = "[icon_type]-closed" - layer = WALL_OBJ_LAYER - set_density(TRUE) - open = FALSE - if(opaque_closed) - set_opacity(TRUE) - -/obj/structure/curtain/cloth/fancy/mechanical/attack_hand(mob/user, list/modifiers) - return - -/obj/structure/curtain/cloth/fancy/mechanical/start_closed - icon_state = "cur_fancy-closed" - -/obj/structure/curtain/cloth/fancy/mechanical/start_closed/Initialize(mapload) - . = ..() - close() diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 818e3c43499..9c6c2307fca 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -665,7 +665,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/tinted/frosted/spaw anchored = FALSE /obj/structure/window/plasma/fulltile - icon = 'icons/obj/smooth_structures/plasma_window.dmi' //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/smooth_structures/plasma_window.dmi' //ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "plasma_window-0" base_icon_state = "plasma_window" max_integrity = 400 diff --git a/code/game/sound.dm b/code/game/sound.dm index ebf4151313c..83931d213e6 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -203,7 +203,7 @@ ///Used to convert a SFX define into a .ogg so we can add some variance to sounds. If soundin is already a .ogg, we simply return it /proc/get_sfx(soundin) - soundin = get_sfx_skyrat(soundin) //SKYRAT EDIT ADDITION - This overrides the default sound effects too, so use it to modularly change a sound effect output. + soundin = get_sfx_skyrat(soundin) // SKYRAT EDIT ADDITION - This overrides the default sound effects too, so use it to modularly change a sound effect output. if(!istext(soundin)) return soundin switch(soundin) diff --git a/code/game/turfs/closed/wall/reinf_walls.dm b/code/game/turfs/closed/wall/reinf_walls.dm index 34d3c879008..06bc0ebe02b 100644 --- a/code/game/turfs/closed/wall/reinf_walls.dm +++ b/code/game/turfs/closed/wall/reinf_walls.dm @@ -1,7 +1,7 @@ /turf/closed/wall/r_wall name = "reinforced wall" desc = "A huge chunk of reinforced metal used to separate rooms." - icon = 'icons/turf/walls/reinforced_wall.dmi' //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/turf/walls/reinforced_wall.dmi' //ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "reinforced_wall-0" base_icon_state = "reinforced_wall" opacity = TRUE diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm index 91344bb9a33..00b00ef6178 100644 --- a/code/game/turfs/closed/walls.dm +++ b/code/game/turfs/closed/walls.dm @@ -2,7 +2,7 @@ /turf/closed/wall name = "wall" - desc = "A huge chunk of iron used to separate rooms." //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + desc = "A huge chunk of iron used to separate rooms." //ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon = 'icons/turf/walls/wall.dmi' icon_state = "wall-0" base_icon_state = "wall" diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index 8c754c5d8a6..0c8a3f47aa6 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -1,7 +1,7 @@ /// Anything above a lattice should go here. /turf/open/floor name = "floor" - icon = 'icons/turf/floors.dmi' //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/turf/floors.dmi' //ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE base_icon_state = "floor" baseturfs = /turf/open/floor/plating diff --git a/code/game/turfs/open/floor/plating.dm b/code/game/turfs/open/floor/plating.dm index 1ff0d9261fb..b5f1e38faae 100644 --- a/code/game/turfs/open/floor/plating.dm +++ b/code/game/turfs/open/floor/plating.dm @@ -129,9 +129,10 @@ /turf/open/floor/plating/foam name = "metal foam plating" - desc = "Thin, fragile flooring created with metal foam." + desc = "Thin, fragile flooring created with metal foam. Designed to be easily replacable by tiling when applied to in a combat stance." icon_state = "foam_plating" upgradable = FALSE + attachment_holes = FALSE /turf/open/floor/plating/foam/burn_tile() return //jetfuel can't melt steel foam diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 10b9a58b870..5f40de037f4 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -286,14 +286,17 @@ ADMIN_VERB(create_or_modify_area, R_DEBUG, "Create Or Modify Area", "Create of m return TRUE -/client/proc/adminGreet(logout) - if(SSticker.HasRoundStarted()) - var/string - if(logout && CONFIG_GET(flag/announce_admin_logout)) - string = pick( - "Admin logout: [key_name(src)]") - else if(!logout && CONFIG_GET(flag/announce_admin_login) && (prefs.toggles & ANNOUNCE_LOGIN)) - string = pick( - "Admin login: [key_name(src)]") - if(string) - message_admins("[string]") +/// Sends a message to adminchat when anyone with a holder logs in or logs out. +/// Is dependent on admin preferences and configuration settings, which means that this proc can fire without sending a message. +/client/proc/adminGreet(logout = FALSE) + if(!SSticker.HasRoundStarted()) + return + + if(logout && CONFIG_GET(flag/announce_admin_logout)) + message_admins("Admin logout: [key_name(src)]") + return + + if(!logout && CONFIG_GET(flag/announce_admin_login) && (prefs.toggles & ANNOUNCE_LOGIN)) + message_admins("Admin login: [key_name(src)]") + return + diff --git a/code/modules/admin/fun_balloon.dm b/code/modules/admin/fun_balloon.dm index f7f9911d40e..19637e5e94f 100644 --- a/code/modules/admin/fun_balloon.dm +++ b/code/modules/admin/fun_balloon.dm @@ -38,6 +38,8 @@ desc = "When this pops, things are gonna get more aware around here." var/group_name = "a bunch of giant spiders" var/effect_range = 3 + var/antag_type = null + var/make_antag = FALSE /obj/effect/fun_balloon/sentience/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -49,6 +51,7 @@ var/list/data = list() data["group_name"] = group_name data["range"] = effect_range + data["antag"] = make_antag return data /obj/effect/fun_balloon/sentience/ui_state(mob/user) @@ -73,6 +76,11 @@ if("effect_range") effect_range = params["updated_range"] + if("select_antag") + var/list/paths = subtypesof(/datum/antagonist) + antag_type = input(usr,"Select antag", "Antagonist selection") as null|anything in sort_list(paths) + make_antag = TRUE + if("pop") if(!popped) popped = TRUE @@ -104,6 +112,9 @@ message_admins("[key_name_admin(C)] has taken control of ([key_name_admin(body)])") body.ghostize(FALSE) body.key = C.key + if (make_antag) + body.mind.add_antag_datum(antag_type) + continue new /obj/effect/temp_visual/gravpush(get_turf(body)) // ----------- Emergency Shuttle Balloon diff --git a/code/modules/admin/permissionedit.dm b/code/modules/admin/permissionedit.dm index e92ab1729e2..e508a104739 100644 --- a/code/modules/admin/permissionedit.dm +++ b/code/modules/admin/permissionedit.dm @@ -249,8 +249,8 @@ ADMIN_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit adm qdel(query_add_admin) var/datum/db_query/query_add_admin_log = SSdbcore.NewQuery({" INSERT INTO [format_table_name("admin_log")] (datetime, round_id, adminckey, adminip, operation, target, log) - VALUES (:time, :round_id, :adminckey, INET_ATON(:adminip), 'add admin', :target, CONCAT('New admin added: ', :target)) - "}, list("time" = SQLtime(), "round_id" = "[GLOB.round_id]", "adminckey" = usr.ckey, "adminip" = usr.client.address, "target" = .)) + VALUES (NOW(), :round_id, :adminckey, INET_ATON(:adminip), 'add admin', :target, CONCAT('New admin added: ', :target)) + "}, list("round_id" = "[GLOB.round_id]", "adminckey" = usr.ckey, "adminip" = usr.client.address, "target" = .)) if(!query_add_admin_log.warn_execute()) qdel(query_add_admin_log) return FALSE @@ -275,8 +275,8 @@ ADMIN_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit adm qdel(query_add_rank) var/datum/db_query/query_add_rank_log = SSdbcore.NewQuery({" INSERT INTO [format_table_name("admin_log")] (datetime, round_id, adminckey, adminip, operation, target, log) - VALUES (:time, :round_id, :adminckey, INET_ATON(:adminip), 'remove admin', :admin_ckey, CONCAT('Admin removed: ', :admin_ckey)) - "}, list("time" = SQLtime(), "round_id" = "[GLOB.round_id]", "adminckey" = usr.ckey, "adminip" = usr.client.address, "admin_ckey" = admin_ckey)) + VALUES (NOW(), :round_id, :adminckey, INET_ATON(:adminip), 'remove admin', :admin_ckey, CONCAT('Admin removed: ', :admin_ckey)) + "}, list("round_id" = "[GLOB.round_id]", "adminckey" = usr.ckey, "adminip" = usr.client.address, "admin_ckey" = admin_ckey)) if(!query_add_rank_log.warn_execute()) qdel(query_add_rank_log) return @@ -423,8 +423,8 @@ ADMIN_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit adm qdel(query_add_rank) var/datum/db_query/query_add_rank_log = SSdbcore.NewQuery({" INSERT INTO [format_table_name("admin_log")] (datetime, round_id, adminckey, adminip, operation, target, log) - VALUES (:time, :round_id, :adminckey, INET_ATON(:adminip), 'add rank', :new_rank, CONCAT('New rank added: ', :new_rank)) - "}, list("time" = SQLtime(), "round_id" = "[GLOB.round_id]", "adminckey" = usr.ckey, "adminip" = usr.client.address, "new_rank" = custom_rank.name)) + VALUES (NOW(), :round_id, :adminckey, INET_ATON(:adminip), 'add rank', :new_rank, CONCAT('New rank added: ', :new_rank)) + "}, list("round_id" = "[GLOB.round_id]", "adminckey" = usr.ckey, "adminip" = usr.client.address, "new_rank" = custom_rank.name)) if(!query_add_rank_log.warn_execute()) qdel(query_add_rank_log) return @@ -440,8 +440,8 @@ ADMIN_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit adm qdel(query_change_rank) var/datum/db_query/query_change_rank_log = SSdbcore.NewQuery({" INSERT INTO [format_table_name("admin_log")] (datetime, round_id, adminckey, adminip, operation, target, log) - VALUES (:time, :round_id, :adminckey, INET_ATON(:adminip), 'change admin rank', :target, CONCAT('Rank of ', :target, ' changed from ', :old_rank, ' to ', :new_rank)) - "}, list("time" = SQLtime(), "round_id" = "[GLOB.round_id]", "adminckey" = usr.ckey, "adminip" = usr.client.address, "target" = admin_ckey, "old_rank" = old_rank, "new_rank" = joined_rank)) + VALUES (NOW(), :round_id, :adminckey, INET_ATON(:adminip), 'change admin rank', :target, CONCAT('Rank of ', :target, ' changed from ', :old_rank, ' to ', :new_rank)) + "}, list("round_id" = "[GLOB.round_id]", "adminckey" = usr.ckey, "adminip" = usr.client.address, "target" = admin_ckey, "old_rank" = old_rank, "new_rank" = joined_rank)) if(!query_change_rank_log.warn_execute()) qdel(query_change_rank_log) return @@ -539,8 +539,8 @@ ADMIN_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit adm qdel(query_add_rank) var/datum/db_query/query_add_rank_log = SSdbcore.NewQuery({" INSERT INTO [format_table_name("admin_log")] (datetime, round_id, adminckey, adminip, operation, target, log) - VALUES (:time, :round_id, :adminckey, INET_ATON(:adminip), 'remove rank', :admin_rank, CONCAT('Rank removed: ', :admin_rank)) - "}, list("time" = SQLtime(), "round_id" = "[GLOB.round_id]", "adminckey" = usr.ckey, "adminip" = usr.client.address, "admin_rank" = admin_rank)) + VALUES (NOW(), :round_id, :adminckey, INET_ATON(:adminip), 'remove rank', :admin_rank, CONCAT('Rank removed: ', :admin_rank)) + "}, list("round_id" = "[GLOB.round_id]", "adminckey" = usr.ckey, "adminip" = usr.client.address, "admin_rank" = admin_rank)) if(!query_add_rank_log.warn_execute()) qdel(query_add_rank_log) return diff --git a/code/modules/admin/sql_ban_system.dm b/code/modules/admin/sql_ban_system.dm index 407f321a470..bb55aa3d83b 100644 --- a/code/modules/admin/sql_ban_system.dm +++ b/code/modules/admin/sql_ban_system.dm @@ -426,15 +426,14 @@ ROLE_REV, ROLE_REVENANT, ROLE_REV_HEAD, - ROLE_SENTIENT_DISEASE, ROLE_SPIDER, ROLE_SPY, ROLE_SYNDICATE, ROLE_TRAITOR, ROLE_WIZARD, - ROLE_BORER, //SKYRAT EDIT - ROLE_ASSAULT_OPERATIVE, //SKYRAT EDIT - ROLE_BLOODSUCKER,// BUBBER EDIT, + ROLE_BORER, // SKYRAT EDIT ADDITION + ROLE_ASSAULT_OPERATIVE, // SKYRAT EDIT ADDITION + ROLE_BLOODSUCKER,// BUBBER EDIT ROLE_VASSAL, // BUBBER EDIT ), "Skyrat Ban Options" = list( @@ -447,8 +446,8 @@ BAN_EORG, BAN_ANTAGONIST, BAN_OPFOR, - BAN_LOOC, //SKYRAT ADDITION - LOOC muting again - ),//SKYRAT EDIT ADDITION - EXTRA_BANS + BAN_LOOC, // SKYRAT EDIT ADDITION - LOOC muting again + ), // SKYRAT EDIT ADDITION - EXTRA_BANS ) for(var/department in long_job_lists) output += "
" @@ -871,7 +870,7 @@ return var/kn = key_name(usr) var/kna = key_name_admin(usr) - var/change_message = "[usr.client.key] unbanned [target] from [role] on [SQLtime()] during round #[GLOB.round_id]
" + var/change_message = "[usr.client.key] unbanned [target] from [role] on [ISOtime()] during round #[GLOB.round_id]
" var/datum/db_query/query_unban = SSdbcore.NewQuery({" UPDATE [format_table_name("ban")] SET unbanned_datetime = NOW(), @@ -916,7 +915,7 @@ var/kn = key_name(usr) var/kna = key_name_admin(usr) - var/change_message = "[usr.client.key] re-activated ban of [target] from [role] on [SQLtime()] during round #[GLOB.round_id]
" + var/change_message = "[usr.client.key] re-activated ban of [target] from [role] on [ISOtime()] during round #[GLOB.round_id]
" var/datum/db_query/query_reban = SSdbcore.NewQuery({" UPDATE [format_table_name("ban")] SET unbanned_datetime = NULL, diff --git a/code/modules/admin/sql_message_system.dm b/code/modules/admin/sql_message_system.dm index 9dee7ef38ee..400c4e05d8c 100644 --- a/code/modules/admin/sql_message_system.dm +++ b/code/modules/admin/sql_message_system.dm @@ -52,7 +52,7 @@ return if(isnull(expiry)) if(tgui_alert(usr, "Set an expiry time? Expired messages are hidden like deleted ones.", "Expiry time?", list("Yes", "No", "Cancel")) == "Yes") - var/expire_time = input("Set expiry time for [type] as format YYYY-MM-DD HH:MM:SS. All times in server time. HH:MM:SS is optional and 24-hour. Must be later than current time for obvious reasons.", "Set expiry time", SQLtime()) as null|text + var/expire_time = input("Set expiry time for [type] as format YYYY-MM-DD HH:MM:SS. All times in server time. HH:MM:SS is optional and 24-hour. Must be later than current time for obvious reasons.", "Set expiry time", ISOtime()) as null|text if(!expire_time) return var/datum/db_query/query_validate_expire_time = SSdbcore.NewQuery( @@ -184,7 +184,7 @@ if(!new_text) qdel(query_find_edit_message) return - var/edit_text = "Edited by [editor_key] on [SQLtime()] from
[old_text]
to
[new_text]
" + var/edit_text = "Edited by [editor_key] on [ISOtime()] from
[old_text]
to
[new_text]
" var/datum/db_query/query_edit_message = SSdbcore.NewQuery({" UPDATE [format_table_name("messages")] SET text = :text, lasteditor = :lasteditor, edits = CONCAT(IFNULL(edits,''),:edit_text) @@ -254,7 +254,7 @@ return new_expiry = query_validate_expire_time_edit.item[1] qdel(query_validate_expire_time_edit) - var/edit_text = "Expiration time edited by [editor_key] on [SQLtime()] from [(old_expiry ? old_expiry : "no expiration date")] to [new_expiry]
" + var/edit_text = "Expiration time edited by [editor_key] on [ISOtime()] from [(old_expiry ? old_expiry : "no expiration date")] to [new_expiry]
" var/datum/db_query/query_edit_message_expiry = SSdbcore.NewQuery({" UPDATE [format_table_name("messages")] SET expire_timestamp = :expire_time, lasteditor = :lasteditor, edits = CONCAT(IFNULL(edits,''),:edit_text) @@ -308,7 +308,7 @@ qdel(query_find_edit_note_severity) return new_severity = new_severity - var/edit_text = "Note severity edited by [editor_key] on [SQLtime()] from [old_severity] to [new_severity]
" + var/edit_text = "Note severity edited by [editor_key] on [ISOtime()] from [old_severity] to [new_severity]
" var/datum/db_query/query_edit_note_severity = SSdbcore.NewQuery({" UPDATE [format_table_name("messages")] SET severity = :severity, lasteditor = :lasteditor, edits = CONCAT(IFNULL(edits,''),:edit_text) @@ -352,7 +352,7 @@ var/target_key = query_find_message_secret.item[2] var/admin_key = query_find_message_secret.item[3] var/secret = text2num(query_find_message_secret.item[4]) - var/edit_text = "Made [secret ? "not secret" : "secret"] by [editor_key] on [SQLtime()]
" + var/edit_text = "Made [secret ? "not secret" : "secret"] by [editor_key] on [ISOtime()]
" var/datum/db_query/query_message_secret = SSdbcore.NewQuery({" UPDATE [format_table_name("messages")] SET secret = NOT secret, lasteditor = :lasteditor, edits = CONCAT(IFNULL(edits,''),:edit_text) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index dfbf55f79e1..6fa2140d219 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1776,7 +1776,7 @@ if(!paper_to_show) return paper_to_show.ui_interact(usr) - // SKYRAT ADDITION START + // SKYRAT EDIT ADDITION START else if(href_list["pass_opfor_candidate"]) if(!check_rights(R_ADMIN)) return @@ -1784,7 +1784,7 @@ if(!SSdynamic.picking_specific_rule(/datum/dynamic_ruleset/midround/from_living/opfor_candidate, forced = TRUE, ignore_cost = TRUE)) message_admins("An OPFOR candidate could not be selected.") - // SKYRAT ADDITION END + // SKYRAT EDIT ADDITION END else if(href_list["play_internet"]) if(!check_rights(R_SOUND)) return diff --git a/code/modules/admin/verbs/admin.dm b/code/modules/admin/verbs/admin.dm index f6517b13564..3aaab5bae58 100644 --- a/code/modules/admin/verbs/admin.dm +++ b/code/modules/admin/verbs/admin.dm @@ -181,11 +181,11 @@ ADMIN_VERB(drop_everything, R_ADMIN, "Drop Everything", ADMIN_VERB_NO_DESCRIPTIO if(MUTE_DEADCHAT) mute_string = "deadchat and DSAY" feedback_string = "Deadchat" - //Skyrat Addition Begin - LOOC muting again. + // SKYRAT EDIT ADDITION START - LOOC muting again. if(MUTE_LOOC) mute_string = "LOOC" feedback_string = "LOOC" - //Skyrat Addition End - LOOC muting again. + // SKYRAT EDIT ADDITION END - LOOC muting again. if(MUTE_INTERNET_REQUEST) mute_string = "internet sound requests" feedback_string = "Internet Sound Requests" diff --git a/code/modules/admin/verbs/admingame.dm b/code/modules/admin/verbs/admingame.dm index e525a6d0627..26e37589554 100644 --- a/code/modules/admin/verbs/admingame.dm +++ b/code/modules/admin/verbs/admingame.dm @@ -451,6 +451,6 @@ ADMIN_VERB(lag_switch_panel, R_ADMIN, "Show Lag Switches", "Display the controls dat += "Disable examine icons: [SSlag_switch.measures[DISABLE_USR_ICON2HTML] ? "On" : "Off"] - trait applies to examiner
" dat += "Disable parallax: [SSlag_switch.measures[DISABLE_PARALLAX] ? "On" : "Off"] - trait applies to character
" dat += "Disable footsteps: [SSlag_switch.measures[DISABLE_FOOTSTEPS] ? "On" : "Off"] - trait applies to character
" - dat += "Disable character creator: [SSlag_switch.measures[DISABLE_CREATOR] ? "On" : "Off"] - trait applies to all
" // SKRYAT EDIT ADDITION + dat += "Disable character creator: [SSlag_switch.measures[DISABLE_CREATOR] ? "On" : "Off"] - trait applies to all
" // SKYRAT EDIT ADDITION dat += "" user << browse(dat.Join(), "window=lag_switch_panel;size=420x480") diff --git a/code/modules/admin/verbs/fix_air.dm b/code/modules/admin/verbs/fix_air.dm index 0f67200f61b..d9e81086c72 100644 --- a/code/modules/admin/verbs/fix_air.dm +++ b/code/modules/admin/verbs/fix_air.dm @@ -13,4 +13,5 @@ ADMIN_VERB_AND_CONTEXT_MENU(fix_air, R_ADMIN, "Fix Air", "Fixes air in a specifi //SKYRAT EDIT ADDITION END var/datum/gas_mixture/GM = SSair.parse_gas_string(valid_range_turf.initial_gas_mix, /datum/gas_mixture/turf) valid_range_turf.copy_air(GM) + valid_range_turf.temperature = initial(valid_range_turf.temperature) valid_range_turf.update_visuals() diff --git a/code/modules/admin/verbs/lua/lua_state.dm b/code/modules/admin/verbs/lua/lua_state.dm index 27994d966a7..bf2bcbd5a90 100644 --- a/code/modules/admin/verbs/lua/lua_state.dm +++ b/code/modules/admin/verbs/lua/lua_state.dm @@ -111,8 +111,6 @@ GLOBAL_PROTECT(lua_usr) for(var/path_element in function) new_function_path += path_element function = new_function_path - var/msg = "[key_name(usr)] called the lua function \"[function]\" with arguments: [english_list(call_args)]" - log_lua(msg) var/tmp_usr = GLOB.lua_usr GLOB.lua_usr = usr diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index 18dce0501ff..bc22eedbfa1 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -95,7 +95,7 @@ */ /obj/item/antag_spawner/nuke_ops name = "syndicate operative beacon" - desc = "MI13 designed one-use radio for calling immediate backup. Have no regards for safety of whom it summons - they are all inferior clones from Interdyne's genebanks anyway." + desc = "A single-use beacon designed to quickly launch reinforcement operatives into the field." icon = 'icons/obj/devices/voice.dmi' icon_state = "nukietalkie" /// The name of the special role given to the recruit @@ -170,7 +170,7 @@ /obj/item/antag_spawner/nuke_ops/overwatch name = "overwatch support beacon" desc = "Assigns an Overwatch Intelligence Agent to your operation. Stationed at their own remote outpost, they can view station cameras, alarms, and even move the Infiltrator shuttle! \ - Also, all members of your operation will recieve body cameras that they can view your progress from." + Also, all members of your operation will receive body cameras that they can view your progress from." special_role_name = ROLE_OPERATIVE_OVERWATCH outfit = /datum/outfit/syndicate/support use_subtypes = FALSE diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm index 960851280e3..29ea5f1e785 100644 --- a/code/modules/antagonists/abductor/equipment/gland.dm +++ b/code/modules/antagonists/abductor/equipment/gland.dm @@ -3,7 +3,7 @@ desc = "A nausea-inducing hunk of twisting flesh and metal." icon = 'icons/obj/antags/abductor.dmi' icon_state = "gland" - organ_flags = ORGAN_ROBOTIC // weird? + organ_flags = ORGAN_ROBOTIC | ORGAN_PROMINENT // weird? /// Shows name of the gland as well as a description of what it does upon examination by abductor scientists and observers. var/abductor_hint = "baseline placebo referencer" diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm index 929a3b5c4ff..e4bba052423 100644 --- a/code/modules/antagonists/blob/overmind.dm +++ b/code/modules/antagonists/blob/overmind.dm @@ -12,7 +12,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) icon = 'icons/mob/silicon/cameramob.dmi' icon_state = "marker" mouse_opacity = MOUSE_OPACITY_ICON - move_on_shuttle = 1 + move_on_shuttle = TRUE invisibility = INVISIBILITY_OBSERVER layer = FLY_LAYER plane = ABOVE_GAME_PLANE diff --git a/code/modules/antagonists/changeling/powers/adrenaline.dm b/code/modules/antagonists/changeling/powers/adrenaline.dm index 3dd50f36807..601c96be340 100644 --- a/code/modules/antagonists/changeling/powers/adrenaline.dm +++ b/code/modules/antagonists/changeling/powers/adrenaline.dm @@ -1,20 +1,50 @@ /datum/action/changeling/adrenaline - name = "Adrenaline Sacs" - desc = "We evolve additional sacs of adrenaline throughout our body. Costs 30 chemicals." - helptext = "Removes all stuns instantly and adds a short-term reduction in further stuns. Can be used while unconscious. Continued use poisons the body." + name = "Repurposed Glands" + desc = "We shift almost all available muscle mass from the arms to the legs, disabling the former but making us unable to be downed for 15 seconds. Costs 10 chemicals." + helptext = "Disables your arms and retracts bioweaponry, but regenerates your legs, grants you speed, and wakes you up from any stun." button_icon_state = "adrenaline" - chemical_cost = 30 - dna_cost = 2 - req_human = TRUE - req_stat = UNCONSCIOUS + chemical_cost = 10 + dna_cost = 1 + req_human = FALSE + req_stat = CONSCIOUS //Recover from stuns. -/datum/action/changeling/adrenaline/sting_action(mob/living/user) +/datum/action/changeling/adrenaline/sting_action(mob/living/carbon/user) ..() - to_chat(user, span_notice("Energy rushes through us.")) - user.SetKnockdown(0) - user.setStaminaLoss(0) //SKYRAT EDIT ADDITION - user.set_resting(FALSE) + to_chat(user, span_changeling("Our arms feel weak, but our legs become unstoppable!")) + + for(var/datum/action/changeling/weapon/weapon_ability in user.actions) + weapon_ability.unequip_held(user) + + // Destroy legcuffs with our IMMENSE LEG STRENGTH. + if(user.legcuffed) + var/obj/O = user.get_item_by_slot(ITEM_SLOT_LEGCUFFED) + if(!istype(O)) + return FALSE + qdel(O) + user.visible_message(span_warning("[user]'s legs suddenly rip [O] apart!"), \ + span_warning("We rip apart our leg restraints!")) + + // Regenerate our legs only. + var/our_leg_zones = (GLOB.all_body_zones - GLOB.leg_zones) + user.regenerate_limbs(excluded_zones = our_leg_zones) // why is this exclusive rather than inclusive + + user.add_traits(list(TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PARALYSIS_L_ARM, TRAIT_PARALYSIS_R_ARM), CHANGELING_TRAIT) + + // Revert above mob changes. + addtimer(CALLBACK(src, PROC_REF(unsting_action), user), 20 SECONDS) + + // Get us standing up. + user.SetAllImmobility(0) + user.setStaminaLoss(0) + user.set_resting(FALSE, instant = TRUE) + + // Add fast reagents to go fast. user.reagents.add_reagent(/datum/reagent/medicine/changelingadrenaline, 4) //20 seconds - user.reagents.add_reagent(/datum/reagent/medicine/changelinghaste, 3) //6 seconds, for a really quick burst of speed + return TRUE + +/datum/action/changeling/adrenaline/proc/unsting_action(mob/living/user) + to_chat(user, span_changeling("The muscles in our limbs shift back to their usual places.")) + user.remove_traits(list(TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PARALYSIS_L_ARM, TRAIT_PARALYSIS_R_ARM), CHANGELING_TRAIT) + return diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 332e6461f05..0640b85f34e 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -68,6 +68,9 @@ return ..() var/limb_regen = 0 + if(HAS_TRAIT_FROM_ONLY(user, TRAIT_PARALYSIS_L_ARM, CHANGELING_TRAIT) || HAS_TRAIT_FROM_ONLY(user, TRAIT_PARALYSIS_R_ARM, CHANGELING_TRAIT)) + user.balloon_alert(user, "not enough muscle!") // no cheesing repuprosed glands + return if(user.active_hand_index % 2 == 0) //we regen the arm before changing it into the weapon limb_regen = user.regenerate_limb(BODY_ZONE_R_ARM, 1) else diff --git a/code/modules/antagonists/changeling/powers/tiny_prick.dm b/code/modules/antagonists/changeling/powers/tiny_prick.dm index 47264ce7b85..e3cbab0eddd 100644 --- a/code/modules/antagonists/changeling/powers/tiny_prick.dm +++ b/code/modules/antagonists/changeling/powers/tiny_prick.dm @@ -80,6 +80,8 @@ VAR_FINAL/datum/changeling_profile/selected_dna /// Duration of the sting var/sting_duration = 8 MINUTES + /// Set this to false via VV to allow golem, plasmaman, or monkey changelings to turn other people into golems, plasmamen, or monkeys + var/verify_valid_species = TRUE /datum/action/changeling/sting/transformation/Grant(mob/grant_to) . = ..() @@ -102,6 +104,9 @@ return if(!new_selected_dna || changeling.chosen_sting || selected_dna) // selected other sting or other DNA while sleeping return + if(verify_valid_species && (TRAIT_NO_DNA_COPY in new_selected_dna.dna.species.inherent_traits)) + user.balloon_alert(user, "dna incompatible!") + return selected_dna = new_selected_dna return ..() diff --git a/code/modules/antagonists/disease/disease_abilities.dm b/code/modules/antagonists/disease/disease_abilities.dm index 57bdd6848cd..e69de29bb2d 100644 --- a/code/modules/antagonists/disease/disease_abilities.dm +++ b/code/modules/antagonists/disease/disease_abilities.dm @@ -1,467 +0,0 @@ -/* -Abilities that can be purchased by disease mobs. Most are just passive symptoms that will be -added to their disease, but some are active abilites that affect only the target the overmind -is currently following. -*/ - -GLOBAL_LIST_INIT(disease_ability_singletons, list( -new /datum/disease_ability/action/cough, -new /datum/disease_ability/action/sneeze, -new /datum/disease_ability/action/infect, -new /datum/disease_ability/symptom/mild/hidden,//BUBBER EDIT-New SYMPTOM -new /datum/disease_ability/symptom/mild/cough, -new /datum/disease_ability/symptom/mild/sneeze, -new /datum/disease_ability/symptom/medium/shedding, -new /datum/disease_ability/symptom/medium/beard, -new /datum/disease_ability/symptom/medium/hallucigen, -new /datum/disease_ability/symptom/medium/choking, -new /datum/disease_ability/symptom/medium/confusion, -new /datum/disease_ability/symptom/medium/vomit, -new /datum/disease_ability/symptom/medium/voice_change, -new /datum/disease_ability/symptom/medium/visionloss, -new /datum/disease_ability/symptom/medium/deafness, -new /datum/disease_ability/symptom/powerful/narcolepsy, -new /datum/disease_ability/symptom/medium/fever, -new /datum/disease_ability/symptom/medium/chills, -new /datum/disease_ability/symptom/medium/headache, -new /datum/disease_ability/symptom/medium/viraladaptation, -new /datum/disease_ability/symptom/medium/viralevolution, -new /datum/disease_ability/symptom/medium/disfiguration, -new /datum/disease_ability/symptom/medium/polyvitiligo, -new /datum/disease_ability/symptom/medium/itching, -new /datum/disease_ability/symptom/medium/heal/weight_loss, -new /datum/disease_ability/symptom/medium/heal/sensory_restoration, -new /datum/disease_ability/symptom/medium/heal/mind_restoration, -new /datum/disease_ability/symptom/powerful/fire, -new /datum/disease_ability/symptom/powerful/flesh_eating, -new /datum/disease_ability/symptom/powerful/genetic_mutation, -new /datum/disease_ability/symptom/powerful/inorganic_adaptation, -new /datum/disease_ability/symptom/powerful/heal/starlight, -new /datum/disease_ability/symptom/powerful/heal/oxygen, -new /datum/disease_ability/symptom/powerful/heal/chem, -new /datum/disease_ability/symptom/powerful/heal/metabolism, -new /datum/disease_ability/symptom/powerful/heal/dark, -new /datum/disease_ability/symptom/powerful/heal/water, -new /datum/disease_ability/symptom/powerful/heal/plasma, -new /datum/disease_ability/symptom/powerful/heal/radiation, -new /datum/disease_ability/symptom/powerful/heal/coma, -new /datum/disease_ability/symptom/powerful/youth -)) - -/datum/disease_ability - var/name - var/cost = 0 - var/required_total_points = 0 - var/start_with = FALSE - var/short_desc = "" - var/long_desc = "" - var/stat_block = "" - var/threshold_block = list() - var/category = "" - - var/list/symptoms - var/list/actions - -/datum/disease_ability/New() - ..() - if(symptoms) - var/stealth = 0 - var/resistance = 0 - var/stage_speed = 0 - var/transmittable = 0 - for(var/T in symptoms) - var/datum/symptom/S = T - stealth += initial(S.stealth) - resistance += initial(S.resistance) - stage_speed += initial(S.stage_speed) - transmittable += initial(S.transmittable) - threshold_block += initial(S.threshold_descs) - stat_block = "Resistance: [resistance]
Stealth: [stealth]
Stage Speed: [stage_speed]
Transmissibility: [transmittable]

" - if(symptoms.len == 1) //lazy boy's dream - name = initial(S.name) - if(short_desc == "") - short_desc = initial(S.desc) - if(long_desc == "") - long_desc = initial(S.desc) - -/datum/disease_ability/proc/CanBuy(mob/camera/disease/D) - if(world.time < D.next_adaptation_time) - return FALSE - if(!D.unpurchased_abilities[src]) - return FALSE - return (D.points >= cost) && (D.total_points >= required_total_points) - -/datum/disease_ability/proc/Buy(mob/camera/disease/D, silent = FALSE, trigger_cooldown = TRUE) - if(!silent) - to_chat(D, span_notice("Purchased [name].")) - D.points -= cost - D.unpurchased_abilities -= src - if(trigger_cooldown) - D.adapt_cooldown() - D.purchased_abilities[src] = TRUE - for(var/V in (D.disease_instances+D.disease_template)) - var/datum/disease/advance/sentient_disease/SD = V - if(symptoms) - for(var/T in symptoms) - var/datum/symptom/S = new T() - SD.symptoms += S - S.OnAdd(SD) - if(SD.processing) - if(S.Start(SD)) - S.next_activation = world.time + rand(S.symptom_delay_min * 10, S.symptom_delay_max * 10) - SD.Refresh() - for(var/T in actions) - var/datum/action/A = new T() - A.Grant(D) - - -/datum/disease_ability/proc/CanRefund(mob/camera/disease/D) - if(world.time < D.next_adaptation_time) - return FALSE - return D.purchased_abilities[src] - -/datum/disease_ability/proc/Refund(mob/camera/disease/D, silent = FALSE, trigger_cooldown = TRUE) - if(!silent) - to_chat(D, span_notice("Refunded [name].")) - D.points += cost - D.unpurchased_abilities[src] = TRUE - if(trigger_cooldown) - D.adapt_cooldown() - D.purchased_abilities -= src - for(var/V in (D.disease_instances+D.disease_template)) - var/datum/disease/advance/sentient_disease/SD = V - if(symptoms) - for(var/T in symptoms) - var/datum/symptom/S = locate(T) in SD.symptoms - if(S) - SD.symptoms -= S - S.OnRemove(SD) - if(SD.processing) - S.End(SD) - qdel(S) - SD.Refresh() - for(var/T in actions) - var/datum/action/A = locate(T) in D.actions - qdel(A) - -//these sybtypes are for conveniently separating the different categories, they have no unique code. - -/datum/disease_ability/action - category = "Active" - -/datum/disease_ability/symptom - category = "Symptom" - -//active abilities and their associated actions - -/datum/disease_ability/action/cough - name = "Voluntary Coughing" - actions = list(/datum/action/cooldown/disease_cough) - cost = 0 - required_total_points = 0 - start_with = TRUE - short_desc = "Force the host you are following to cough, spreading your infection to those nearby." - long_desc = "Force the host you are following to cough with extra force, spreading your infection to those within two meters of your host even if your transmissibility is low.
Cooldown: 10 seconds" - - -/datum/action/cooldown/disease_cough - name = "Cough" - button_icon = 'icons/mob/actions/actions_minor_antag.dmi' - button_icon_state = "cough" - desc = "Force the host you are following to cough with extra force, spreading your infection to those within two meters of your host even if your transmissibility is low.
Cooldown: 10 seconds" - cooldown_time = 100 - -/datum/action/cooldown/disease_cough/Activate(atom/target) - StartCooldown(10 SECONDS) - trigger_cough() - StartCooldown() - return TRUE - -/* - * Cause a cough to happen from the host. - */ -/datum/action/cooldown/disease_cough/proc/trigger_cough() - var/mob/camera/disease/our_disease = owner - var/mob/living/host = our_disease.following_host - if(!host) - return FALSE - if(host.stat != CONSCIOUS) - to_chat(our_disease, span_warning("Your host must be conscious to cough.")) - return FALSE - to_chat(our_disease, span_notice("You force [host.real_name] to cough.")) - host.emote("cough") - if(host.CanSpreadAirborneDisease()) //don't spread germs if they covered their mouth - var/datum/disease/advance/sentient_disease/disease_datum = our_disease.hosts[host] - disease_datum.spread(2) - return TRUE - -/datum/disease_ability/action/sneeze - name = "Voluntary Sneezing" - actions = list(/datum/action/cooldown/disease_sneeze) - cost = 2 - required_total_points = 3 - short_desc = "Force the host you are following to sneeze, spreading your infection to those in front of them." - long_desc = "Force the host you are following to sneeze with extra force, spreading your infection to any victims in a 4 meter cone in front of your host.
Cooldown: 20 seconds" - -/datum/action/cooldown/disease_sneeze - name = "Sneeze" - button_icon = 'icons/mob/actions/actions_minor_antag.dmi' - button_icon_state = "sneeze" - desc = "Force the host you are following to sneeze with extra force, spreading your infection to any victims in a 4 meter cone in front of your host even if your transmissibility is low.
Cooldown: 20 seconds" - cooldown_time = 200 - -/datum/action/cooldown/disease_sneeze/Activate(atom/target) - StartCooldown(10 SECONDS) - trigger_sneeze() - StartCooldown() - return TRUE - -/* - * Cause a sneeze to happen from the host. - */ -/datum/action/cooldown/disease_sneeze/proc/trigger_sneeze() - var/mob/camera/disease/our_disease = owner - var/mob/living/host = our_disease.following_host - if(!host) - return FALSE - if(host.stat != CONSCIOUS) - to_chat(our_disease, span_warning("Your host must be conscious to sneeze.")) - return FALSE - to_chat(our_disease, span_notice("You force [host.real_name] to sneeze.")) - host.emote("sneeze") - if(host.CanSpreadAirborneDisease()) //don't spread germs if they covered their mouth - var/datum/disease/advance/sentient_disease/disease_datum = our_disease.hosts[host] - for(var/mob/living/nearby_mob in oview(4, disease_datum.affected_mob)) - if(!is_source_facing_target(disease_datum.affected_mob, nearby_mob)) - continue - if(!disease_air_spread_walk(get_turf(disease_datum.affected_mob), get_turf(nearby_mob))) - continue - nearby_mob.AirborneContractDisease(disease_datum, TRUE) - - return TRUE - -/datum/disease_ability/action/infect - name = "Secrete Infection" - actions = list(/datum/action/cooldown/disease_infect) - cost = 2 - required_total_points = 3 - start_with = FALSE - short_desc = "Cause all objects your host is touching to become infectious for a limited time, spreading your infection to anyone who touches them." - long_desc = "Cause the host you are following to excrete an infective substance from their pores, causing all objects touching their skin to transmit your infection to anyone who touches them for the next 30 seconds. This includes the floor, if they are not wearing shoes, and any items they are holding, if they are not wearing gloves.
Cooldown: 40 seconds" - -/datum/action/cooldown/disease_infect - name = "Secrete Infection" - button_icon = 'icons/mob/actions/actions_minor_antag.dmi' - button_icon_state = "infect" - desc = "Cause the host you are following to excrete an infective substance from their pores, causing all objects touching their skin to transmit your infection to anyone who touches them for the next 30 seconds.
Cooldown: 40 seconds" - cooldown_time = 400 - -/datum/action/cooldown/disease_infect/Activate(atom/target) - StartCooldown(10 SECONDS) - trigger_infection() - StartCooldown() - return TRUE - -/* - * Trigger the infection action. - */ -/datum/action/cooldown/disease_infect/proc/trigger_infection() - var/mob/camera/disease/our_disease = owner - var/mob/living/carbon/human/host = our_disease.following_host - if(!host) - return FALSE - for(var/obj/thing as anything in host.get_equipped_items(include_accessories = TRUE)) - thing.AddComponent(/datum/component/infective, our_disease.disease_template, 300) - //no shoes? infect the floor. - if(!host.shoes) - var/turf/host_turf = get_turf(host) - if(host_turf && !isspaceturf(host_turf)) - host_turf.AddComponent(/datum/component/infective, our_disease.disease_template, 300) - //no gloves? infect whatever we are holding. - if(!host.gloves) - for(var/obj/held_thing as anything in host.held_items) - if(isnull(held_thing)) - continue - held_thing.AddComponent(/datum/component/infective, our_disease.disease_template, 300) - return TRUE - -/*******************BASE SYMPTOM TYPES*******************/ -// cost is for convenience and can be changed. If you're changing req_tot_points then don't use the subtype... -//healing costs more so you have to techswitch from naughty disease otherwise we'd have friendly disease for easy greentext (no fun!) - -/datum/disease_ability/symptom/mild - cost = 2 - required_total_points = 4 - category = "Symptom (Weak)" - -/datum/disease_ability/symptom/medium - cost = 4 - required_total_points = 8 - category = "Symptom" - -/datum/disease_ability/symptom/medium/heal - cost = 5 - category = "Symptom (+)" - -/datum/disease_ability/symptom/powerful - cost = 4 - required_total_points = 16 - category = "Symptom (Strong)" - -/datum/disease_ability/symptom/powerful/heal - cost = 8 - category = "Symptom (Strong+)" - -/******MILD******/ - -/datum/disease_ability/symptom/mild/cough - name = "Involuntary Coughing" - symptoms = list(/datum/symptom/cough) - short_desc = "Cause victims to cough intermittently." - long_desc = "Cause victims to cough intermittently, spreading your infection." - -/datum/disease_ability/symptom/mild/sneeze - name = "Involuntary Sneezing" - symptoms = list(/datum/symptom/sneeze) - short_desc = "Cause victims to sneeze intermittently." - long_desc = "Cause victims to sneeze intermittently, spreading your infection and also increasing transmissibility and resistance, at the cost of stealth." - -/******MEDIUM******/ - -/datum/disease_ability/symptom/medium/shedding - symptoms = list(/datum/symptom/shedding) - -/datum/disease_ability/symptom/medium/beard - symptoms = list(/datum/symptom/beard) - short_desc = "Cause all victims to grow a luscious beard." - long_desc = "Cause all victims to grow a luscious beard. Ineffective against Santa Claus." - -/datum/disease_ability/symptom/medium/hallucigen - symptoms = list(/datum/symptom/hallucigen) - short_desc = "Cause victims to hallucinate." - long_desc = "Cause victims to hallucinate. Decreases stats, especially resistance." - -/datum/disease_ability/symptom/medium/choking - symptoms = list(/datum/symptom/choking) - short_desc = "Cause victims to choke." - long_desc = "Cause victims to choke, threatening asphyxiation. Decreases stats, especially transmissibility." - -/datum/disease_ability/symptom/medium/confusion - symptoms = list(/datum/symptom/confusion) - short_desc = "Cause victims to become confused." - long_desc = "Cause victims to become confused intermittently." - -/datum/disease_ability/symptom/medium/vomit - symptoms = list(/datum/symptom/vomit) - short_desc = "Cause victims to vomit." - long_desc = "Cause victims to vomit. Slightly increases transmissibility. Vomiting also also causes the victims to lose nutrition and removes some toxin damage." - -/datum/disease_ability/symptom/medium/voice_change - symptoms = list(/datum/symptom/voice_change) - short_desc = "Change the voice of victims." - long_desc = "Change the voice of victims, causing confusion in communications." - -/datum/disease_ability/symptom/medium/visionloss - symptoms = list(/datum/symptom/visionloss) - short_desc = "Damage the eyes of victims, eventually causing blindness." - long_desc = "Damage the eyes of victims, eventually causing blindness. Decreases all stats." - -/datum/disease_ability/symptom/medium/deafness - symptoms = list(/datum/symptom/deafness) - -/datum/disease_ability/symptom/medium/fever - symptoms = list(/datum/symptom/fever) - -/datum/disease_ability/symptom/medium/chills - symptoms = list(/datum/symptom/chills) - -/datum/disease_ability/symptom/medium/headache - symptoms = list(/datum/symptom/headache) - -/datum/disease_ability/symptom/medium/viraladaptation - symptoms = list(/datum/symptom/viraladaptation) - short_desc = "Cause your infection to become more resistant to detection and eradication." - long_desc = "Cause your infection to mimic the function of normal body cells, becoming much harder to spot and to eradicate, but reducing its speed." - -/datum/disease_ability/symptom/medium/viralevolution - symptoms = list(/datum/symptom/viralevolution) - -/datum/disease_ability/symptom/medium/polyvitiligo - symptoms = list(/datum/symptom/polyvitiligo) - -/datum/disease_ability/symptom/medium/disfiguration - symptoms = list(/datum/symptom/disfiguration) - -/datum/disease_ability/symptom/medium/itching - symptoms = list(/datum/symptom/itching) - short_desc = "Cause victims to itch." - long_desc = "Cause victims to itch, increasing all stats except stealth." - -/datum/disease_ability/symptom/medium/heal/weight_loss - symptoms = list(/datum/symptom/weight_loss) - short_desc = "Cause victims to lose weight." - long_desc = "Cause victims to lose weight, and make it almost impossible for them to gain nutrition from food. Reduced nutrition allows your infection to spread more easily from hosts, especially by sneezing." - -/datum/disease_ability/symptom/medium/heal/sensory_restoration - symptoms = list(/datum/symptom/sensory_restoration) - short_desc = "Regenerate eye and ear damage of victims." - long_desc = "Regenerate eye and ear damage of victims." - -/datum/disease_ability/symptom/medium/heal/mind_restoration - symptoms = list(/datum/symptom/mind_restoration) - -/******POWERFUL******/ - -/datum/disease_ability/symptom/powerful/fire - symptoms = list(/datum/symptom/fire) - -/datum/disease_ability/symptom/powerful/flesh_eating - symptoms = list(/datum/symptom/flesh_eating) - -/datum/disease_ability/symptom/powerful/genetic_mutation - symptoms = list(/datum/symptom/genetic_mutation) - cost = 8 - -/datum/disease_ability/symptom/powerful/inorganic_adaptation - symptoms = list(/datum/symptom/inorganic_adaptation) - -/datum/disease_ability/symptom/powerful/narcolepsy - symptoms = list(/datum/symptom/narcolepsy) - -/datum/disease_ability/symptom/powerful/youth - symptoms = list(/datum/symptom/youth) - short_desc = "Cause victims to become eternally young." - long_desc = "Cause victims to become eternally young. Provides boosts to all stats except transmissibility." - -/****HEALING SUBTYPE****/ - -/datum/disease_ability/symptom/powerful/heal/starlight - symptoms = list(/datum/symptom/heal/starlight) - -/datum/disease_ability/symptom/powerful/heal/oxygen - symptoms = list(/datum/symptom/oxygen) - -/datum/disease_ability/symptom/powerful/heal/chem - symptoms = list(/datum/symptom/heal/chem) - -/datum/disease_ability/symptom/powerful/heal/metabolism - symptoms = list(/datum/symptom/heal/metabolism) - short_desc = "Increase the metabolism of victims, causing them to process chemicals and grow hungry faster." - long_desc = "Increase the metabolism of victims, causing them to process chemicals twice as fast and grow hungry more quickly." - -/datum/disease_ability/symptom/powerful/heal/dark - symptoms = list(/datum/symptom/heal/darkness) - -/datum/disease_ability/symptom/powerful/heal/water - symptoms = list(/datum/symptom/heal/water) - -/datum/disease_ability/symptom/powerful/heal/plasma - symptoms = list(/datum/symptom/heal/plasma) - -/datum/disease_ability/symptom/powerful/heal/radiation - symptoms = list(/datum/symptom/heal/radiation) - -/datum/disease_ability/symptom/powerful/heal/coma - symptoms = list(/datum/symptom/heal/coma) - short_desc = "Cause victims to fall into a healing coma when hurt." - long_desc = "Cause victims to fall into a healing coma when hurt." diff --git a/code/modules/antagonists/disease/disease_datum.dm b/code/modules/antagonists/disease/disease_datum.dm deleted file mode 100644 index 17364feec55..00000000000 --- a/code/modules/antagonists/disease/disease_datum.dm +++ /dev/null @@ -1,103 +0,0 @@ -/datum/antagonist/disease - name = "Sentient Disease" - roundend_category = "diseases" - antagpanel_category = ANTAG_GROUP_BIOHAZARDS - show_to_ghosts = TRUE - var/disease_name = "" - -/datum/antagonist/disease/on_gain() - owner.set_assigned_role(SSjob.GetJobType(/datum/job/sentient_disease)) - owner.special_role = ROLE_SENTIENT_DISEASE - var/datum/objective/O = new /datum/objective/disease_infect() - O.owner = owner - objectives += O - - O = new /datum/objective/disease_infect_centcom() - O.owner = owner - objectives += O - - . = ..() - -/datum/antagonist/disease/greet() - . = ..() - to_chat(owner.current, span_notice("Infect members of the crew to gain adaptation points, and spread your infection further.")) - owner.announce_objectives() - -/datum/antagonist/disease/apply_innate_effects(mob/living/mob_override) - if(!istype(owner.current, /mob/camera/disease)) - var/turf/T = get_turf(owner.current) - T = T ? T : SSmapping.get_station_center() - var/mob/camera/disease/D = new /mob/camera/disease(T) - owner.transfer_to(D) - -/datum/antagonist/disease/admin_add(datum/mind/new_owner,mob/admin) - ..() - var/mob/camera/disease/D = new_owner.current - D.pick_name() - -/datum/antagonist/disease/roundend_report() - var/list/result = list() - - result += "Disease name: [disease_name]" - result += printplayer(owner) - - var/win = TRUE - var/objectives_text = "" - var/count = 1 - for(var/datum/objective/objective in objectives) - if(objective.check_completion()) - objectives_text += "
Objective #[count]: [objective.explanation_text] [span_greentext("Success!")]" - else - objectives_text += "
Objective #[count]: [objective.explanation_text] [span_redtext("Fail.")]" - win = FALSE - count++ - - result += objectives_text - - var/special_role_text = LOWER_TEXT(name) - - if(win) - result += span_greentext("The [special_role_text] was successful!") - else - result += span_redtext("The [special_role_text] has failed!") - - if(istype(owner.current, /mob/camera/disease)) - var/mob/camera/disease/D = owner.current - result += "[disease_name] completed the round with [D.hosts.len] infected hosts, and reached a maximum of [D.total_points] concurrent infections." - result += "[disease_name] completed the round with the following adaptations:" - var/list/adaptations = list() - for(var/V in D.purchased_abilities) - var/datum/disease_ability/A = V - adaptations += A.name - result += adaptations.Join(", ") - - return result.Join("
") - -/datum/antagonist/disease/get_preview_icon() - var/icon/icon = icon('icons/mob/huds/antag_hud.dmi', "virus_infected") - icon.Blend(COLOR_GREEN_GRAY, ICON_MULTIPLY) - icon.Scale(ANTAGONIST_PREVIEW_ICON_SIZE, ANTAGONIST_PREVIEW_ICON_SIZE) - return icon - -/datum/objective/disease_infect - explanation_text = "Survive and infect as many people as possible." - -/datum/objective/disease_infect/check_completion() - var/mob/camera/disease/D = owner.current - if(istype(D) && D.hosts.len) //theoretically it should not exist if it has no hosts, but better safe than sorry. - return TRUE - return FALSE - - -/datum/objective/disease_infect_centcom - explanation_text = "Ensure that at least one infected host escapes on the shuttle or an escape pod." - -/datum/objective/disease_infect_centcom/check_completion() - var/mob/camera/disease/D = owner.current - if(!istype(D)) - return FALSE - for(var/V in D.hosts) - var/mob/living/L = V - if(L.onCentCom() || L.onSyndieBase()) - return TRUE - return FALSE diff --git a/code/modules/antagonists/disease/disease_disease.dm b/code/modules/antagonists/disease/disease_disease.dm deleted file mode 100644 index 8960ac27689..00000000000 --- a/code/modules/antagonists/disease/disease_disease.dm +++ /dev/null @@ -1,69 +0,0 @@ -/datum/disease/advance/sentient_disease - form = "Virus" - name = "Sentient Virus" - desc = "An apparently sentient virus, extremely adaptable and resistant to outside sources of mutation." - viable_mobtypes = list(/mob/living/carbon/human) - mutable = FALSE - bypasses_immunity = TRUE - var/mob/camera/disease/overmind - var/disease_id - -/datum/disease/advance/sentient_disease/New() - ..() - GLOB.sentient_disease_instances += src - -/datum/disease/advance/sentient_disease/Destroy() - . = ..() - overmind = null - GLOB.sentient_disease_instances -= src - -/datum/disease/advance/sentient_disease/remove_disease() - if(overmind) - overmind.remove_infection(src) - ..() - -/datum/disease/advance/sentient_disease/infect(mob/living/infectee, make_copy = TRUE) - if(make_copy && overmind && (overmind.disease_template != src)) - overmind.disease_template.infect(infectee, TRUE) //get an updated version of the virus - else - ..() - - -/datum/disease/advance/sentient_disease/IsSame(datum/disease/D) - if(istype(D, /datum/disease/advance/sentient_disease)) - var/datum/disease/advance/sentient_disease/V = D - if(V.overmind == overmind) - return TRUE - return FALSE - - -/datum/disease/advance/sentient_disease/Copy() - var/datum/disease/advance/sentient_disease/D = ..() - D.overmind = overmind - D.disease_id = disease_id - return D - -/datum/disease/advance/sentient_disease/after_add() - if(overmind) - overmind.add_infection(src) - -/datum/disease/advance/sentient_disease/GenerateProperties() - ..() - src.properties["stealth"] += 6 //SD gets an extra bit of stealth, as a treat, to avoid getting caught out so early - -/datum/disease/advance/sentient_disease/GetDiseaseID() - if (!disease_id) //if we don't set this here it can reinfect people after the disease dies, since overmind.tag won't be null when the disease is alive, but will be null afterwards, thus the disease ID changes - disease_id = "[type]|[overmind?.tag]" - return disease_id - -/datum/disease/advance/sentient_disease/generate_cure() - if(cures.len) - return - var/list/not_used = advance_cures.Copy() - not_used.Cut(1, 6) // Removes the first five tiers of cures. - cures = list(pick(pick_n_take(not_used)), pick(pick_n_take(not_used))) - - // Get the cure name from the cure_id - var/datum/reagent/D1 = GLOB.chemical_reagents_list[cures[1]] - var/datum/reagent/D2 = GLOB.chemical_reagents_list[cures[2]] - cure_text = "[D1.name] and [D2.name]" diff --git a/code/modules/antagonists/disease/disease_mob.dm b/code/modules/antagonists/disease/disease_mob.dm deleted file mode 100644 index acefd0e3717..00000000000 --- a/code/modules/antagonists/disease/disease_mob.dm +++ /dev/null @@ -1,450 +0,0 @@ -#define FREEMOVE_TIME (2 MINUTES) - -/* -A mob of type /mob/camera/disease is an overmind coordinating at least one instance of /datum/disease/advance/sentient_disease -that has infected a host. All instances in a host will be synchronized with the stats of the overmind's disease_template. Any -samples outside of a host will retain the stats they had when they left the host, but infecting a new host will cause -the new instance inside the host to be updated to the template's stats. -*/ - -/mob/camera/disease - name = "Sentient Disease" - real_name = "Sentient Disease" - desc = "" - icon = 'icons/mob/silicon/cameramob.dmi' - icon_state = "marker" - mouse_opacity = MOUSE_OPACITY_ICON - move_on_shuttle = FALSE - invisibility = INVISIBILITY_OBSERVER - see_invisible = SEE_INVISIBLE_LIVING - layer = BELOW_MOB_LAYER - // Pale green, bright enough to have good vision - lighting_cutoff_red = 5 - lighting_cutoff_green = 35 - lighting_cutoff_blue = 20 - sight = SEE_SELF|SEE_THRU - initial_language_holder = /datum/language_holder/universal - - var/freemove = TRUE - var/freemove_end = 0 - var/freemove_end_timerid - - var/datum/action/innate/disease_adapt/adaptation_menu_action - var/datum/disease_ability/examining_ability - var/datum/browser/browser - var/browser_open = FALSE - - var/mob/living/following_host - var/list/disease_instances - var/list/hosts //this list is associative, affected_mob -> disease_instance - var/datum/disease/advance/sentient_disease/disease_template - - var/total_points = 0 - var/points = 0 - - var/last_move_tick = 0 - var/move_delay = 1 - - var/next_adaptation_time = 0 - var/adaptation_cooldown = 600 - - var/list/purchased_abilities - var/list/unpurchased_abilities - -/mob/camera/disease/Initialize(mapload) - .= ..() - - ADD_TRAIT(src, TRAIT_SIXTHSENSE, INNATE_TRAIT) //at least they'll have SOMEONE to talk to - - disease_instances = list() - hosts = list() - - purchased_abilities = list() - unpurchased_abilities = list() - - disease_template = new /datum/disease/advance/sentient_disease() - disease_template.overmind = src - qdel(SSdisease.archive_diseases[disease_template.GetDiseaseID()]) - SSdisease.archive_diseases[disease_template.GetDiseaseID()] = disease_template //important for stuff that uses disease IDs - - var/datum/atom_hud/my_hud = GLOB.huds[DATA_HUD_SENTIENT_DISEASE] - my_hud.show_to(src) - - browser = new /datum/browser(src, "disease_menu", "Adaptation Menu", 1000, 770, src) - - freemove_end = world.time + FREEMOVE_TIME - freemove_end_timerid = addtimer(CALLBACK(src, PROC_REF(infect_random_patient_zero)), FREEMOVE_TIME, TIMER_STOPPABLE) - -/mob/camera/disease/Destroy() - . = ..() - QDEL_NULL(adaptation_menu_action) - disease_template = null - for(var/V in GLOB.sentient_disease_instances) - var/datum/disease/advance/sentient_disease/S = V - if(S.overmind == src) - S.overmind = null - browser = null - -/mob/camera/disease/Login() - . = ..() - if(!. || !client) - return FALSE - if(freemove) - to_chat(src, span_warning("You have [DisplayTimeText(freemove_end - world.time)] to select your first host. Click on a human to select your host.")) - - -/mob/camera/disease/get_status_tab_items() - . = ..() - if(freemove) - . += "Host Selection Time: [round((freemove_end - world.time)/10)]s" - else - . += "Adaptation Points: [points]/[total_points]" - . += "Hosts: [disease_instances.len]" - var/adapt_ready = next_adaptation_time - world.time - if(adapt_ready > 0) - . += "Adaptation Ready: [round(adapt_ready/10, 0.1)]s" - - -/mob/camera/disease/examine(mob/user) - . = ..() - if(isobserver(user)) - . += {"[span_notice("[src] has [points]/[total_points] adaptation points.")] - [span_notice("[src] has the following unlocked:")]"} - for(var/datum/disease_ability/ability in purchased_abilities) - . += span_notice("[ability.name]") - -/mob/camera/disease/say( - message, - bubble_type, - list/spans = list(), - sanitize = TRUE, - datum/language/language, - ignore_spam = FALSE, - forced, - filterproof = FALSE, - message_range = 7, - datum/saymode/saymode, - list/message_mods = list(), -) - if(!message) - return - if(sanitize) - message = trim(copytext_char(sanitize(message), 1, MAX_MESSAGE_LEN)) - log_talk(message, LOG_SAY) - var/rendered = "[src] says, \"[message]\"" - for(var/mob/listener in GLOB.mob_list) - if(issentientdisease(listener)) - to_chat(listener, rendered) - else if(isobserver(listener)) - var/link = FOLLOW_LINK(listener, src) - to_chat(listener, "[link] [rendered]") - return - -/mob/camera/disease/Move(NewLoc, Dir = 0) - if(freemove) - forceMove(NewLoc) - else - if(world.time > (last_move_tick + move_delay)) - follow_next(Dir & NORTHWEST) - last_move_tick = world.time - -/mob/camera/disease/can_z_move(direction, turf/start, turf/destination, z_move_flags = NONE, mob/living/rider) - if(freemove) - return ..() - return FALSE - -/mob/camera/disease/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, list/message_mods = list(), message_range) - . = ..() - var/atom/movable/to_follow = speaker - if(radio_freq) - var/atom/movable/virtualspeaker/V = speaker - to_follow = V.source - var/link - if(to_follow in hosts) - link = FOLLOW_LINK(src, to_follow) - else - link = "" - // Create map text prior to modifying message for goonchat - if (client?.prefs.read_preference(/datum/preference/toggle/enable_runechat) && (client.prefs.read_preference(/datum/preference/toggle/enable_runechat_non_mobs) || ismob(speaker))) - create_chat_message(speaker, message_language, raw_message, spans) - // Recompose the message, because it's scrambled by default - message = compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mods) - to_chat(src, "[link] [message]") - - -/mob/camera/disease/mind_initialize() - . = ..() - if(!mind.has_antag_datum(/datum/antagonist/disease)) - mind.add_antag_datum(/datum/antagonist/disease) - var/datum/atom_hud/medsensor = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - medsensor.show_to(src) - -/mob/camera/disease/proc/pick_name() - var/static/list/taken_names - if(!taken_names) - taken_names = list("Unknown" = TRUE) - for(var/T in (subtypesof(/datum/disease) - /datum/disease/advance)) - var/datum/disease/D = T - taken_names[initial(D.name)] = TRUE - var/set_name - while(!set_name) - var/input = sanitize_name(tgui_input_text(src, "Select a name for your disease", "Select Name", max_length = MAX_NAME_LEN)) - if(!input) - set_name = "Sentient Virus" - break - if(taken_names[input]) - to_chat(src, span_warning("You cannot use the name of such a well-known disease!")) - else - set_name = input - real_name = "[set_name] (Sentient Disease)" - name = "[set_name] (Sentient Disease)" - disease_template.AssignName(set_name) - var/datum/antagonist/disease/A = mind.has_antag_datum(/datum/antagonist/disease) - if(A) - A.disease_name = set_name - -/mob/camera/disease/proc/infect_random_patient_zero(del_on_fail = TRUE) - if(!freemove) - return FALSE - var/list/possible_hosts = list() - var/list/afk_possible_hosts = list() - for(var/i in GLOB.human_list) - var/mob/living/carbon/human/H = i - var/turf/T = get_turf(H) - if((H.stat != DEAD) && T && is_station_level(T.z) && H.CanContractDisease(disease_template)) - if(H.client && !H.client.is_afk()) - possible_hosts += H - else - afk_possible_hosts += H - - shuffle_inplace(possible_hosts) - shuffle_inplace(afk_possible_hosts) - possible_hosts += afk_possible_hosts //ideally we want a not-afk person, but we will settle for an afk one if there are no others (mostly for testing) - - while(possible_hosts.len) - var/mob/living/carbon/human/target = possible_hosts[1] - if(force_infect(target)) - return TRUE - possible_hosts.Cut(1, 2) - - if(del_on_fail) - to_chat(src, span_warning("No hosts were available for your disease to infect.")) - qdel(src) - return FALSE - -/mob/camera/disease/proc/force_infect(mob/living/L) - var/datum/disease/advance/sentient_disease/V = disease_template.Copy() - var/result = L.ForceContractDisease(V, FALSE, TRUE) - if(result && freemove) - end_freemove() - return result - -/mob/camera/disease/proc/end_freemove() - if(!freemove) - return - freemove = FALSE - move_on_shuttle = TRUE - adaptation_menu_action = new /datum/action/innate/disease_adapt() - adaptation_menu_action.Grant(src) - for(var/V in GLOB.disease_ability_singletons) - unpurchased_abilities[V] = TRUE - var/datum/disease_ability/A = V - if(A.start_with && A.CanBuy(src)) - A.Buy(src, TRUE, FALSE) - if(freemove_end_timerid) - deltimer(freemove_end_timerid) - set_sight(SEE_SELF) - -/mob/camera/disease/proc/add_infection(datum/disease/advance/sentient_disease/V) - disease_instances += V - hosts[V.affected_mob] = V - total_points = max(total_points, disease_instances.len) - points += 1 - - var/image/holder = V.affected_mob.hud_list[SENTIENT_DISEASE_HUD] - var/mutable_appearance/MA = new /mutable_appearance(holder) - MA.icon_state = "virus_infected" - MA.layer = BELOW_MOB_LAYER - MA.color = COLOR_GREEN_GRAY - MA.alpha = 200 - holder.appearance = MA - var/datum/atom_hud/my_hud = GLOB.huds[DATA_HUD_SENTIENT_DISEASE] - my_hud.add_atom_to_hud(V.affected_mob) - - to_chat(src, span_notice("A new host, [V.affected_mob.real_name], has been infected.")) - - if(!following_host) - set_following(V.affected_mob) - refresh_adaptation_menu() - -/mob/camera/disease/proc/remove_infection(datum/disease/advance/sentient_disease/V) - if(QDELETED(src)) - disease_instances -= V - hosts -= V.affected_mob - else - to_chat(src, span_notice("One of your hosts, [V.affected_mob.real_name], has been purged of your infection.")) - - var/datum/atom_hud/my_hud = GLOB.huds[DATA_HUD_SENTIENT_DISEASE] - my_hud.remove_atom_from_hud(V.affected_mob) - - if(following_host == V.affected_mob) - follow_next() - - disease_instances -= V - hosts -= V.affected_mob - - if(!disease_instances.len) - to_chat(src, span_userdanger("The last of your infection has disappeared.")) - set_following(null) - qdel(src) - refresh_adaptation_menu() - -/mob/camera/disease/proc/set_following(mob/living/L) - if(following_host) - UnregisterSignal(following_host, COMSIG_MOVABLE_MOVED) - RegisterSignal(L, COMSIG_MOVABLE_MOVED, PROC_REF(follow_mob)) - following_host = L - follow_mob() - -/mob/camera/disease/proc/follow_next(reverse = FALSE) - var/index = hosts.Find(following_host) - if(index) - if(reverse) - index = index == 1 ? hosts.len : index - 1 - else - index = index == hosts.len ? 1 : index + 1 - set_following(hosts[index]) - -/mob/camera/disease/proc/follow_mob(datum/source, newloc, dir) - SIGNAL_HANDLER - - var/turf/T = get_turf(following_host) - if(T) - forceMove(T) - -/mob/camera/disease/DblClickOn(atom/A, params) - if(hosts[A]) - set_following(A) - else - ..() - -/mob/camera/disease/ClickOn(atom/A, params) - if(freemove && ishuman(A)) - var/mob/living/carbon/human/H = A - if(tgui_alert(usr, "Select [H.name] as your initial host?", "Select Host", list("Yes", "No")) != "Yes") - return - if(!freemove) - return - if(QDELETED(H) || !force_infect(H)) - to_chat(src, span_warning("[H ? H.name : "Host"] cannot be infected.")) - else - ..() - -/mob/camera/disease/proc/adapt_cooldown() - to_chat(src, span_notice("You have altered your genetic structure. You will be unable to adapt again for [DisplayTimeText(adaptation_cooldown)].")) - next_adaptation_time = world.time + adaptation_cooldown - addtimer(CALLBACK(src, PROC_REF(notify_adapt_ready)), adaptation_cooldown) - -/mob/camera/disease/proc/notify_adapt_ready() - to_chat(src, span_notice("You are now ready to adapt again.")) - refresh_adaptation_menu() - -/mob/camera/disease/proc/refresh_adaptation_menu() - if(browser_open) - adaptation_menu() - -/mob/camera/disease/proc/adaptation_menu() - var/datum/disease/advance/sentient_disease/DT = disease_template - if(!DT) - return - var/list/dat = list() - - if(examining_ability) - dat += "Back
" - dat += "

[examining_ability.name]

" - dat += "[examining_ability.stat_block][examining_ability.long_desc][examining_ability.threshold_block]" - for(var/entry in examining_ability.threshold_block) - dat += "[entry]: [examining_ability.threshold_block[entry]]
" - else - dat += "

Disease Statistics


\ - Resistance: [DT.totalResistance()]
\ - Stealth: [DT.totalStealth()]
\ - Stage Speed: [DT.totalStageSpeed()]
\ - Transmissibility: [DT.totalTransmittable()]
\ - Cure: [DT.cure_text]" - dat += "

Adaptations

\ - Points: [points] / [total_points]\ - \ - " - for(var/V in GLOB.disease_ability_singletons) - var/datum/disease_ability/A = V - var/purchase_text - if(unpurchased_abilities[A]) - if(A.CanBuy(src)) - purchase_text = "Purchase" - else - purchase_text = "Purchase" - else - if(A.CanRefund(src)) - purchase_text = "Refund" - else - purchase_text = "Refund" - dat += "" - - dat += "
CostUnlockNameTypeDescription
[A.cost][purchase_text][A.required_total_points][A.name][A.category][A.short_desc]

Infect many hosts at once to gain adaptation points.

Infected Hosts

" - for(var/V in hosts) - var/mob/living/L = V - dat += "
[L.real_name]" - - browser.set_content(dat.Join()) - browser.open() - browser_open = TRUE - -/mob/camera/disease/Topic(href, list/href_list) - ..() - if(href_list["close"]) - browser_open = FALSE - if(usr != src) - return - if(href_list["follow_instance"]) - var/mob/living/L = locate(href_list["follow_instance"]) in hosts - set_following(L) - - if(href_list["buy_ability"]) - var/datum/disease_ability/A = locate(href_list["buy_ability"]) in unpurchased_abilities - if(!istype(A)) - return - if(A.CanBuy(src)) - A.Buy(src) - adaptation_menu() - - if(href_list["refund_ability"]) - var/datum/disease_ability/A = locate(href_list["refund_ability"]) in purchased_abilities - if(!istype(A)) - return - if(A.CanRefund(src)) - A.Refund(src) - adaptation_menu() - - if(href_list["examine_ability"]) - var/datum/disease_ability/A = locate(href_list["examine_ability"]) in GLOB.disease_ability_singletons - if(!istype(A)) - return - examining_ability = A - adaptation_menu() - - if(href_list["main_menu"]) - examining_ability = null - adaptation_menu() - - -/datum/action/innate/disease_adapt - name = "Adaptation Menu" - button_icon = 'icons/mob/actions/actions_minor_antag.dmi' - button_icon_state = "disease_menu" - -/datum/action/innate/disease_adapt/Activate() - var/mob/camera/disease/D = owner - D.adaptation_menu() - -#undef FREEMOVE_TIME diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm index 116d19f5164..ee6adea0c3e 100644 --- a/code/modules/antagonists/ert/ert.dm +++ b/code/modules/antagonists/ert/ert.dm @@ -35,7 +35,7 @@ forge_objectives() if(equip_ert) equipERT() - owner?.current.faction |= FACTION_ERT //SKYRAT ADDITION + owner?.current.faction |= FACTION_ERT // SKYRAT EDIT ADDITION . = ..() /datum/antagonist/ert/get_team() diff --git a/code/modules/antagonists/heretic/items/corrupted_organs.dm b/code/modules/antagonists/heretic/items/corrupted_organs.dm index 311e84c8055..3bd3ead7f60 100644 --- a/code/modules/antagonists/heretic/items/corrupted_organs.dm +++ b/code/modules/antagonists/heretic/items/corrupted_organs.dm @@ -2,6 +2,7 @@ /obj/item/organ/internal/eyes/corrupt name = "corrupt orbs" desc = "These eyes have seen something they shouldn't have." + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /// The override images we are applying var/list/hallucinations @@ -39,6 +40,7 @@ /obj/item/organ/internal/tongue/corrupt name = "corrupt tongue" desc = "This one tells only lies." + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /obj/item/organ/internal/tongue/corrupt/Initialize(mapload) . = ..() @@ -65,6 +67,7 @@ /obj/item/organ/internal/liver/corrupt name = "corrupt liver" desc = "After what you've seen you could really go for a drink." + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /// How much extra ingredients to add? var/amount_added = 5 /// What extra ingredients can we add? @@ -108,6 +111,7 @@ /obj/item/organ/internal/stomach/corrupt name = "corrupt stomach" desc = "This parasite demands an unwholesome diet in order to be satisfied." + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /// Do we have an unholy thirst? var/thirst_satiated = FALSE /// Timer for when we get thirsty again @@ -173,6 +177,7 @@ /obj/item/organ/internal/heart/corrupt name = "corrupt heart" desc = "What corruption is this spreading along with the blood?" + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /// How long until the next heart? COOLDOWN_DECLARE(hand_cooldown) @@ -192,6 +197,7 @@ /obj/item/organ/internal/lungs/corrupt name = "corrupt lungs" desc = "Some things SHOULD be drowned in tar." + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /// How likely are we not to cough every time we take a breath? var/cough_chance = 15 /// How much gas to emit? @@ -226,6 +232,7 @@ /obj/item/organ/internal/appendix/corrupt name = "corrupt appendix" desc = "What kind of dark, cosmic force is even going to bother to corrupt an appendix?" + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT /// How likely are we to spawn worms? var/worm_chance = 2 diff --git a/code/modules/antagonists/heretic/items/heretic_necks.dm b/code/modules/antagonists/heretic/items/heretic_necks.dm index c1f244dfd0e..e24c17abdee 100644 --- a/code/modules/antagonists/heretic/items/heretic_necks.dm +++ b/code/modules/antagonists/heretic/items/heretic_necks.dm @@ -52,9 +52,9 @@ w_class = WEIGHT_CLASS_SMALL -// The amulette conversion tool used by moon heretics -/obj/item/clothing/neck/heretic_focus/moon_amulette - name = "Moonlight Amulette" +// The amulet conversion tool used by moon heretics +/obj/item/clothing/neck/heretic_focus/moon_amulet + name = "Moonlight Amulet" desc = "A piece of the mind, the soul and the moon. Gazing into it makes your head spin and hear whispers of laughter and joy." icon = 'icons/obj/antags/eldritch.dmi' icon_state = "moon_amulette" @@ -62,11 +62,11 @@ // How much damage does this item do to the targets sanity? var/sanity_damage = 20 -/obj/item/clothing/neck/heretic_focus/moon_amulette/attack(mob/living/target, mob/living/user, params) +/obj/item/clothing/neck/heretic_focus/moon_amulet/attack(mob/living/target, mob/living/user, params) var/mob/living/carbon/human/hit = target if(!IS_HERETIC_OR_MONSTER(user)) user.balloon_alert(user, "you feel a presence watching you") - user.add_mood_event("Moon Amulette Insanity", /datum/mood_event/amulette_insanity) + user.add_mood_event("Moon Amulet Insanity", /datum/mood_event/amulet_insanity) user.mob_mood.set_sanity(user.mob_mood.sanity - 50) return if(hit.can_block_magic()) @@ -75,7 +75,7 @@ return if(hit.mob_mood.sanity_level < SANITY_LEVEL_UNSTABLE) user.balloon_alert(user, "their mind is too strong!") - hit.add_mood_event("Moon Amulette Insanity", /datum/mood_event/amulette_insanity) + hit.add_mood_event("Moon Amulet Insanity", /datum/mood_event/amulet_insanity) hit.mob_mood.set_sanity(hit.mob_mood.sanity - sanity_damage) else user.balloon_alert(user, "their mind bends to see the truth!") diff --git a/code/modules/antagonists/heretic/knowledge/moon_lore.dm b/code/modules/antagonists/heretic/knowledge/moon_lore.dm index b708bf6584e..e2af5390ba8 100644 --- a/code/modules/antagonists/heretic/knowledge/moon_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/moon_lore.dm @@ -13,7 +13,7 @@ * Mark of Moon * Ritual of Knowledge * Lunar Parade - * Moonlight Amulette + * Moonlight Amulet * > Sidepaths: * Curse of Paralasys * Unfathomable Curio @@ -103,15 +103,15 @@ desc = "Grants you Lunar Parade, a spell that - after a short charge - sends a carnival forward \ when hitting someone they are forced to join the parade and suffer hallucinations." gain_text = "The music like a reflection of the soul compelled them, like moths to a flame they followed" - next_knowledge = list(/datum/heretic_knowledge/moon_amulette) + next_knowledge = list(/datum/heretic_knowledge/moon_amulet) spell_to_add = /datum/action/cooldown/spell/pointed/projectile/moon_parade cost = 1 route = PATH_MOON -/datum/heretic_knowledge/moon_amulette - name = "Moonlight Amulette" - desc = "Allows you to transmute 2 sheets of glass, a heart and a tie to create a Moonlight Amulette. \ +/datum/heretic_knowledge/moon_amulet + name = "Moonlight Amulet" + desc = "Allows you to transmute 2 sheets of glass, a heart and a tie to create a Moonlight Amulet. \ If the item is used on someone with low sanity they go berserk attacking everyone, \ if their sanity isn't low enough it decreases their mood." gain_text = "At the head of the parade he stood, the moon condensed into one mass, a reflection of the soul." @@ -127,7 +127,7 @@ /obj/item/stack/sheet/glass = 2, /obj/item/clothing/neck/tie = 1, ) - result_atoms = list(/obj/item/clothing/neck/heretic_focus/moon_amulette) + result_atoms = list(/obj/item/clothing/neck/heretic_focus/moon_amulet) cost = 1 route = PATH_MOON @@ -171,7 +171,7 @@ Bring 3 corpses with more than 50 brain damage to a transmutation rune to complete the ritual. \ When completed, you become a harbinger of madness gaining and aura of passive sanity decrease, \ confusion increase and, if their sanity is low enough, brain damage and blindness. \ - 1/5th of the crew will turn into acolytes and follow your command, they will all recieve moonlight amulettes." + 1/5th of the crew will turn into acolytes and follow your command, they will all receive moonlight amulets." gain_text = "We dived down towards the crowd, his soul splitting off in search of greater venture \ for where the Ringleader had started the parade, I shall continue it unto the suns demise \ WITNESS MY ASCENSION, THE MOON SMILES ONCE MORE AND FOREVER MORE IT SHALL!" @@ -229,7 +229,7 @@ continue var/datum/antagonist/lunatic/lunatic = crewmate.mind.add_antag_datum(/datum/antagonist/lunatic) lunatic.set_master(user.mind, user) - var/obj/item/clothing/neck/heretic_focus/moon_amulette/amulet = new(crewmate_turf) + var/obj/item/clothing/neck/heretic_focus/moon_amulet/amulet = new(crewmate_turf) var/static/list/slots = list( "neck" = ITEM_SLOT_NECK, "hands" = ITEM_SLOT_HANDS, diff --git a/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm b/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm index a4810c706c1..f933bbfda1d 100644 --- a/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm +++ b/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm @@ -25,7 +25,7 @@ gain_text = "The flesh of humanity is weak. Make them bleed. Show them their fragility." next_knowledge = list( /datum/heretic_knowledge/mad_mask, - /datum/heretic_knowledge/moon_amulette, + /datum/heretic_knowledge/moon_amulet, ) required_atoms = list( /obj/item/bodypart/leg/left = 1, diff --git a/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm b/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm index f1dd564310b..b4da4018fc1 100644 --- a/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm +++ b/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm @@ -5,7 +5,7 @@ desc = "Grants you Mind Gate, a spell \ which deals you 20 brain damage but the target suffers a hallucination,\ is left confused for 10 seconds, suffers oxygen loss and brain damage." - gain_text = "My mind swings open like a gate, and its insight will let me percieve the truth." + gain_text = "My mind swings open like a gate, and its insight will let me perceive the truth." next_knowledge = list( /datum/heretic_knowledge/key_ring, /datum/heretic_knowledge/spell/moon_smile, @@ -23,7 +23,7 @@ gain_text = "The mansus holds many a curio, some are not meant for the mortal eye." next_knowledge = list( /datum/heretic_knowledge/spell/burglar_finesse, - /datum/heretic_knowledge/moon_amulette, + /datum/heretic_knowledge/moon_amulet, ) required_atoms = list( /obj/item/organ/internal/lungs = 1, @@ -48,7 +48,7 @@ They yearn for mortal eyes again, and I shall grant that wish." next_knowledge = list( /datum/heretic_knowledge/spell/burglar_finesse, - /datum/heretic_knowledge/moon_amulette, + /datum/heretic_knowledge/moon_amulet, ) required_atoms = list(/obj/item/canvas = 1) result_atoms = list(/obj/item/canvas) diff --git a/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm b/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm index 453b030611b..671e01603c5 100644 --- a/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm +++ b/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm @@ -20,7 +20,7 @@ /datum/heretic_knowledge/entropy_pulse name = "Pulse of Entropy" - desc = "Allows you to transmute 10 iron sheets to fill the surrounding vicinity of the rune with rust." + desc = "Allows you to transmute 10 iron sheets and a garbage item to fill the surrounding vicinity of the rune with rust." gain_text = "Reality begins to whisper to me. To give it its entropic end." required_atoms = list( /obj/item/stack/sheet/iron = 10, diff --git a/code/modules/antagonists/malf_ai/malf_ai.dm b/code/modules/antagonists/malf_ai/malf_ai.dm index d44403df84a..624f181dea2 100644 --- a/code/modules/antagonists/malf_ai/malf_ai.dm +++ b/code/modules/antagonists/malf_ai/malf_ai.dm @@ -20,6 +20,8 @@ var/should_give_codewords = TRUE ///since the module purchasing is built into the antag info, we need to keep track of its compact mode here var/module_picker_compactmode = FALSE + ///malf on_gain sound effect. Set here so Infected AI can override + var/malf_sound = 'sound/ambience/antag/malf.ogg' /datum/antagonist/malf_ai/New(give_objectives = TRUE) . = ..() @@ -47,7 +49,8 @@ malfunction_flavor = strings(MALFUNCTION_FLAVOR_FILE, employer) add_law_zero() - owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/malf.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE) + if(malf_sound) + owner.current.playsound_local(get_turf(owner.current), malf_sound, 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE) owner.current.grant_language(/datum/language/codespeak, source = LANGUAGE_MALF) var/datum/atom_hud/data/hackyhud = GLOB.huds[DATA_HUD_MALF_APC] @@ -294,6 +297,8 @@ /datum/antagonist/malf_ai/infected name = "Infected AI" employer = "Infected AI" + can_assign_self_objectives = FALSE + malf_sound = null ///The player, to who is this AI slaved var/datum/mind/boss diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index aeea43fbf34..847a35f9c88 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -507,7 +507,11 @@ newstruct.master = stoner var/datum/action/innate/seek_master/seek_master = new seek_master.Grant(newstruct) - target.mind?.transfer_to(newstruct, force_key_move = TRUE) + + if (isnull(target.mind)) + newstruct.key = target.key + else + target.mind.transfer_to(newstruct, force_key_move = TRUE) var/atom/movable/screen/alert/bloodsense/sense_alert if(newstruct.mind && !IS_CULTIST(newstruct) && ((stoner && IS_CULTIST(stoner)) || cultoverride) && SSticker.HasRoundStarted()) newstruct.mind.add_antag_datum(/datum/antagonist/cult/construct) diff --git a/code/modules/asset_cache/assets/paper.dm b/code/modules/asset_cache/assets/paper.dm index 9e78877549a..bf6f2ef8846 100644 --- a/code/modules/asset_cache/assets/paper.dm +++ b/code/modules/asset_cache/assets/paper.dm @@ -2,7 +2,7 @@ name = "paper" assets = list( - // SKYRAT ADDITION: START - Donator stamp icons + // SKYRAT EDIT ADDITION: START - Donator stamp icons "stamp-cat_blue" = 'modular_skyrat/master_files/icons/stamp_icons/cat_blue.png', "stamp-paw_blue" = 'modular_skyrat/master_files/icons/stamp_icons/paw_blue.png', "stamp-cat_red" = 'modular_skyrat/master_files/icons/stamp_icons/cat_red.png', @@ -11,13 +11,10 @@ "stamp-paw_orange" = 'modular_skyrat/master_files/icons/stamp_icons/paw_orange.png', "stamp-cat_green" = 'modular_skyrat/master_files/icons/stamp_icons/cat_green.png', "stamp-paw_green" = 'modular_skyrat/master_files/icons/stamp_icons/paw_green.png', - // SKYRAT ADDITION: END - Donator stamp icons - - // SKYRAT ADDITION: START - Other stamp icons + // Other stamp icons "stamp-nri" = 'modular_skyrat/master_files/icons/stamp_icons/large_stamp-nri.png', "stamp-solfed" = 'modular_skyrat/master_files/icons/stamp_icons/large_stamp-solfed.png', - // SKYRAT ADDITION: END - Other stamp icons - + // SKYRAT EDIT ADDITION: END //BUBBERSTATION ADDITION: START - Bubberstation Stamp Icons "stamp-merged" = 'icons/stamp_icons/large_stamp-merged.png', "stamp-closed" = 'icons/stamp_icons/large_stamp-closed.png', diff --git a/code/modules/atmospherics/gasmixtures/reaction_factors.dm b/code/modules/atmospherics/gasmixtures/reaction_factors.dm index 1b96a897683..51487931795 100644 --- a/code/modules/atmospherics/gasmixtures/reaction_factors.dm +++ b/code/modules/atmospherics/gasmixtures/reaction_factors.dm @@ -205,4 +205,5 @@ "Radiation" = "Radiation gets released during this decomposition process.", "Hallucinations" = "This reaction can cause various carbon based lifeforms in the vicinity to hallucinate.", "Nuclear Particles" = "This reaction emits extremely high energy nuclear particles, up to [2 * PN_BZASE_NUCLEAR_PARTICLE_MAXIMUM] per second per unique gas mixture.", + "Temperature" = "Can only occur between [PN_BZASE_MIN_TEMP] - [PN_BZASE_MAX_TEMP] kelvin.", ) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index ac88174dbc4..8ef50b95457 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -134,12 +134,17 @@ return ..() -/obj/machinery/cryo_cell/on_deconstruction(disassembled) - if(occupant) +/obj/machinery/cryo_cell/handle_deconstruct(disassembled) + SHOULD_NOT_OVERRIDE(TRUE) + + if(!QDELETED(occupant)) occupant.vis_flags &= ~VIS_INHERIT_PLANE REMOVE_TRAIT(occupant, TRAIT_IMMOBILIZED, CRYO_TRAIT) REMOVE_TRAIT(occupant, TRAIT_FORCED_STANDING, CRYO_TRAIT) + return ..() + +/obj/machinery/cryo_cell/on_deconstruction(disassembled) if(beaker) beaker.forceMove(drop_location()) @@ -156,25 +161,32 @@ if(EXPLODE_LIGHT) SSexplosions.low_mov_atom += beaker -/obj/machinery/cryo_cell/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) +/obj/machinery/cryo_cell/Exited(atom/movable/gone, direction) . = ..() - if(same_z_layer) - return - SET_PLANE(occupant_vis, PLANE_TO_TRUE(occupant_vis.plane), new_turf) + if(gone == beaker) + beaker = null -/obj/machinery/cryo_cell/set_occupant(atom/movable/new_occupant) - . = ..() - update_appearance() +/obj/machinery/cryo_cell/add_context(atom/source, list/context, obj/item/held_item, mob/user) + context[SCREENTIP_CONTEXT_CTRL_LMB] = "Turn [on ? "off" : "on"]" + context[SCREENTIP_CONTEXT_ALT_LMB] = "[state_open ? "Close" : "Open"] door" + if(isnull(held_item)) + return CONTEXTUAL_SCREENTIP_SET -/obj/machinery/cryo_cell/RefreshParts() - . = ..() - var/C - for(var/datum/stock_part/matter_bin/M in component_parts) - C += M.tier + if(QDELETED(beaker) && istype(held_item, /obj/item/reagent_containers/cup)) + context[SCREENTIP_CONTEXT_LMB] = "Insert beaker" + return CONTEXTUAL_SCREENTIP_SET - efficiency = initial(efficiency) * C - heat_capacity = initial(heat_capacity) / C - conduction_coefficient = initial(conduction_coefficient) * C + switch(held_item.tool_behaviour) + if(TOOL_SCREWDRIVER) + context[SCREENTIP_CONTEXT_LMB] = "[panel_open ? "Close" : "Open"] panel" + if(TOOL_CROWBAR) + if(!state_open && !panel_open && !is_operational) + context[SCREENTIP_CONTEXT_LMB] = "Pry Open" + else if(panel_open) + context[SCREENTIP_CONTEXT_LMB] = "Deconstruct" + if(TOOL_WRENCH) + context[SCREENTIP_CONTEXT_LMB] = "[panel_open ? "Rotate" : ""]" + return CONTEXTUAL_SCREENTIP_SET /obj/machinery/cryo_cell/examine(mob/user) //this is leaving out everything but efficiency since they follow the same idea of "better beaker, better results" . = ..() @@ -202,28 +214,6 @@ else if(machine_stat & NOPOWER) . += span_notice("[src] can be [EXAMINE_HINT("pried")] open.") -/obj/machinery/cryo_cell/add_context(atom/source, list/context, obj/item/held_item, mob/user) - context[SCREENTIP_CONTEXT_CTRL_LMB] = "Turn [on ? "off" : "on"]" - context[SCREENTIP_CONTEXT_ALT_LMB] = "[state_open ? "Close" : "Open"] door" - if(isnull(held_item)) - return CONTEXTUAL_SCREENTIP_SET - - if(QDELETED(beaker) && istype(held_item, /obj/item/reagent_containers/cup)) - context[SCREENTIP_CONTEXT_LMB] = "Insert beaker" - return CONTEXTUAL_SCREENTIP_SET - - switch(held_item.tool_behaviour) - if(TOOL_SCREWDRIVER) - context[SCREENTIP_CONTEXT_LMB] = "[panel_open ? "Close" : "Open"] panel" - if(TOOL_CROWBAR) - if(!state_open && !panel_open && !is_operational) - context[SCREENTIP_CONTEXT_LMB] = "Pry Open" - else if(panel_open) - context[SCREENTIP_CONTEXT_LMB] = "Deconstruct" - if(TOOL_WRENCH) - context[SCREENTIP_CONTEXT_LMB] = "[panel_open ? "Rotate" : ""]" - return CONTEXTUAL_SCREENTIP_SET - /obj/machinery/cryo_cell/update_icon() SET_PLANE_IMPLICIT(src, initial(plane)) return ..() @@ -240,17 +230,129 @@ return . += mutable_appearance('icons/obj/medical/cryogenics.dmi', "cover-[on && is_operational ? "on" : "off"]", ABOVE_ALL_MOB_LAYER, src, plane = ABOVE_GAME_PLANE) +/obj/machinery/cryo_cell/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + . = NONE + if(user.combat_mode || (tool.item_flags & ABSTRACT) || (tool.flags_1 & HOLOGRAM_1) || !user.can_perform_action(src, ALLOW_SILICON_REACH | FORBID_TELEKINESIS_REACH)) + return ITEM_INTERACT_SKIP_TO_ATTACK + + if(!istype(tool, /obj/item/reagent_containers/cup)) + return + if(!QDELETED(beaker)) + balloon_alert(user, "beaker present!") + return ITEM_INTERACT_BLOCKING + if(!user.transferItemToLoc(tool, src)) + return ITEM_INTERACT_BLOCKING + + beaker = tool + balloon_alert(user, "beaker inserted") + user.log_message("added an [tool] to cryo containing [pretty_string_from_reagent_list(tool.reagents.reagent_list)].", LOG_GAME) + return ITEM_INTERACT_SUCCESS + +/obj/machinery/cryo_cell/screwdriver_act(mob/living/user, obj/item/tool) + . = ITEM_INTERACT_BLOCKING + if(on) + balloon_alert(user, "turn off!") + return + if(occupant) + balloon_alert(user, "occupant inside!") + return + + if(default_deconstruction_screwdriver(user, "pod-off", "pod-off", tool)) + update_appearance() + return ITEM_INTERACT_SUCCESS + +/obj/machinery/cryo_cell/crowbar_act(mob/living/user, obj/item/tool) + . = ITEM_INTERACT_BLOCKING + if(on) + balloon_alert(user, "turn off!") + return + + var/can_crowbar = FALSE + if(!state_open && !panel_open && !is_operational) //can pry open + can_crowbar = TRUE + else if(panel_open) //can deconstruct + can_crowbar = TRUE + if(!can_crowbar) + return + + var/obj/machinery/atmospherics/node = internal_connector.gas_connector.nodes[1] + var/internal_pressure = 0 + + if(istype(node, /obj/machinery/atmospherics/components/unary/portables_connector)) + var/obj/machinery/atmospherics/components/unary/portables_connector/portable_devices_connector = node + internal_pressure = !portable_devices_connector.connected_device ? 1 : 0 + + var/datum/gas_mixture/inside_air = internal_connector.gas_connector.airs[1] + if(inside_air.total_moles() > 0) + if(!node || internal_pressure > 0) + var/datum/gas_mixture/environment_air = loc.return_air() + internal_pressure = inside_air.return_pressure() - environment_air.return_pressure() + + var/unsafe_release = FALSE + if(internal_pressure > 2 * ONE_ATMOSPHERE) + to_chat(user, span_warning("As you begin prying \the [src] a gush of air blows in your face... maybe you should reconsider?")) + if(!do_after(user, 2 SECONDS, target = src)) + return + unsafe_release = TRUE + + var/deconstruct = FALSE + if(!default_pry_open(tool)) + if(!default_deconstruction_crowbar(tool, custom_deconstruct = TRUE)) + return + else + deconstruct = TRUE + + if(unsafe_release) + internal_connector.gas_connector.unsafe_pressure_release(user, internal_pressure) + + tool.play_tool_sound(src, 50) + if(deconstruct) + deconstruct(TRUE) + return ITEM_INTERACT_SUCCESS + +/obj/machinery/cryo_cell/wrench_act(mob/living/user, obj/item/tool) + . = ITEM_INTERACT_BLOCKING + if(on) + balloon_alert(user, "turn off!") + return + if(occupant) + balloon_alert(user, "occupant inside!") + return + if(state_open) + balloon_alert(user, "close first!") + return + + if(default_change_direction_wrench(user, tool)) + update_appearance() + return ITEM_INTERACT_SUCCESS + +/obj/machinery/cryo_cell/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents) + . = ..() + if(same_z_layer) + return + SET_PLANE(occupant_vis, PLANE_TO_TRUE(occupant_vis.plane), new_turf) + +/obj/machinery/cryo_cell/set_occupant(atom/movable/new_occupant) + . = ..() + update_appearance() + +/obj/machinery/cryo_cell/RefreshParts() + . = ..() + + var/max_tier = 0 + for(var/datum/stock_part/matter_bin/bin in component_parts) + max_tier += bin.tier + + efficiency = initial(efficiency) * max_tier + heat_capacity = initial(heat_capacity) / max_tier + conduction_coefficient = initial(conduction_coefficient) * max_tier + /obj/machinery/cryo_cell/dump_inventory_contents(list/subset = list()) //only drop mobs when opening the machine for (var/mob/living/living_guy in contents) subset += living_guy return ..(subset) -/obj/machinery/cryo_cell/Exited(atom/movable/gone, direction) - . = ..() - if(gone == beaker) - beaker = null - /** * Turns the machine on/off * @@ -437,112 +539,6 @@ span_notice("You successfully break out of [src]!")) open_machine() -/obj/machinery/cryo_cell/MouseDrop_T(mob/target, mob/user) - if(user.incapacitated() || !Adjacent(user) || !user.Adjacent(target) || !iscarbon(target) || !ISADVANCEDTOOLUSER(user)) - return - if(isliving(target)) - var/mob/living/L = target - if(L.incapacitated()) - close_machine(target) - else - user.visible_message(span_notice("[user] starts shoving [target] inside [src]."), span_notice("You start shoving [target] inside [src].")) - if (do_after(user, 2.5 SECONDS, target=target)) - close_machine(target) - -/obj/machinery/cryo_cell/screwdriver_act(mob/living/user, obj/item/tool) - . = ITEM_INTERACT_BLOCKING - if(on) - balloon_alert(user, "turn off!") - return - if(occupant) - balloon_alert(user, "occupant inside!") - return - - if(default_deconstruction_screwdriver(user, "pod-off", "pod-off", tool)) - update_appearance() - return ITEM_INTERACT_SUCCESS - -/obj/machinery/cryo_cell/crowbar_act(mob/living/user, obj/item/tool) - . = ITEM_INTERACT_BLOCKING - if(on) - balloon_alert(user, "turn off!") - return - - var/can_crowbar = FALSE - if(!state_open && !panel_open && !is_operational) //can pry open - can_crowbar = TRUE - else if(panel_open) //can deconstruct - can_crowbar = TRUE - if(!can_crowbar) - return - - var/obj/machinery/atmospherics/node = internal_connector.gas_connector.nodes[1] - var/internal_pressure = 0 - - if(istype(node, /obj/machinery/atmospherics/components/unary/portables_connector)) - var/obj/machinery/atmospherics/components/unary/portables_connector/portable_devices_connector = node - internal_pressure = !portable_devices_connector.connected_device ? 1 : 0 - - var/datum/gas_mixture/inside_air = internal_connector.gas_connector.airs[1] - if(inside_air.total_moles() > 0) - if(!node || internal_pressure > 0) - var/datum/gas_mixture/environment_air = loc.return_air() - internal_pressure = inside_air.return_pressure() - environment_air.return_pressure() - - var/unsafe_release = FALSE - if(internal_pressure > 2 * ONE_ATMOSPHERE) - to_chat(user, span_warning("As you begin prying \the [src] a gush of air blows in your face... maybe you should reconsider?")) - if(!do_after(user, 2 SECONDS, target = src)) - return - unsafe_release = TRUE - - var/deconstruct = FALSE - if(!default_pry_open(tool)) - if(!default_deconstruction_crowbar(tool, custom_deconstruct = TRUE)) - return - else - deconstruct = TRUE - - if(unsafe_release) - internal_connector.gas_connector.unsafe_pressure_release(user, internal_pressure) - - tool.play_tool_sound(src, 50) - if(deconstruct) - deconstruct(TRUE) - return ITEM_INTERACT_SUCCESS - -/obj/machinery/cryo_cell/wrench_act(mob/living/user, obj/item/tool) - . = ITEM_INTERACT_BLOCKING - if(on) - balloon_alert(user, "turn off!") - return - if(occupant) - balloon_alert(user, "occupant inside!") - return - if(state_open) - balloon_alert(user, "close first!") - return - - if(default_change_direction_wrench(user, tool)) - update_appearance() - return ITEM_INTERACT_SUCCESS - -/obj/machinery/cryo_cell/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/reagent_containers/cup)) - . = TRUE //no afterattack - if(beaker) - balloon_alert(user, "beaker present!") - return - if(!user.transferItemToLoc(I, src)) - return - beaker = I - balloon_alert(user, "beaker inserted") - var/reagentlist = pretty_string_from_reagent_list(I.reagents.reagent_list) - user.log_message("added an [I] to cryo containing [reagentlist].", LOG_GAME) - return - - return ..() - /obj/machinery/cryo_cell/ui_state(mob/user) return GLOB.notcontained_state @@ -592,11 +588,11 @@ if(!QDELETED(beaker)) beaker_data = list() beaker_data["maxVolume"] = beaker.volume - beaker_data["currentVolume"] = round(beaker.reagents.total_volume, 0.01) + beaker_data["currentVolume"] = round(beaker.reagents.total_volume, CHEMICAL_VOLUME_ROUNDING) var/list/beakerContents = list() if(length(beaker.reagents.reagent_list)) for(var/datum/reagent/reagent in beaker.reagents.reagent_list) - beakerContents += list(list("name" = reagent.name, "volume" = round(reagent.volume, 0.01))) // list in a list because Byond merges the first list... + beakerContents += list(list("name" = reagent.name, "volume" = round(reagent.volume, CHEMICAL_VOLUME_ROUNDING))) // list in a list because Byond merges the first list... beaker_data["contents"] = beakerContents .["beaker"] = beaker_data @@ -653,6 +649,20 @@ balloon_alert(user, "door [state_open ? "opened" : "closed"]") return CLICK_ACTION_SUCCESS +/obj/machinery/cryo_cell/MouseDrop_T(mob/target, mob/user) + if(user.incapacitated() || !Adjacent(user) || !user.Adjacent(target) || !iscarbon(target) || !ISADVANCEDTOOLUSER(user)) + return + + if(isliving(target)) + var/mob/living/living_mob = target + if(living_mob.incapacitated()) + close_machine(target) + return + + user.visible_message(span_notice("[user] starts shoving [target] inside [src]."), span_notice("You start shoving [target] inside [src].")) + if (do_after(user, 2.5 SECONDS, target=target)) + close_machine(target) + /obj/machinery/cryo_cell/get_remote_view_fullscreens(mob/user) user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/impaired, 1) diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 6d4a8ad714a..c5acadcd452 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -103,12 +103,15 @@ /obj/machinery/portable_atmospherics/canister/examine(user) . = ..() . += span_notice("A sticker on its side says MAX SAFE PRESSURE: [siunit_pressure(initial(pressure_limit), 0)]; MAX SAFE TEMPERATURE: [siunit(temp_limit, "K", 0)].") + . += span_notice("The hull is welded together and can be cut apart.") if(internal_cell) . += span_notice("The internal cell has [internal_cell.percent()]% of its total charge.") else . += span_notice("Warning, no cell installed, use a screwdriver to open the hatch and insert one.") if(panel_open) . += span_notice("Hatch open, close it with a screwdriver.") + if(integrity_failure) + . += span_notice("Integrity compromised, repair hull with a welding tool.") // Please keep the canister types sorted // Basic canister per gas below here diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 490b3cbd7eb..b7abea2dd23 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -22,6 +22,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) /datum/gateway_destination/proc/get_available_reason() . = "Unreachable" if(world.time - SSticker.round_start_time < wait) + playsound(src, 'sound/effects/gateway_calibrating.ogg', 80, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) . = "Connection desynchronized. Recalibration in progress." /* Check if the movable is allowed to arrive at this destination (exile implants mostly) */ @@ -152,6 +153,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) return //SKYRAT EDIT END if(get_dir(src,AM) == SOUTH) + playsound(src, 'sound/effects/gateway_travel.ogg', 70, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) gateway.Transfer(AM) /obj/effect/gateway_portal_bumper/Destroy(force) @@ -229,6 +231,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) /obj/machinery/gateway/proc/deactivate() var/datum/gateway_destination/dest = target target = null + playsound(src, 'sound/effects/gateway_close.ogg', 140, TRUE, TRUE, SOUND_RANGE) dest.deactivate(src) QDEL_NULL(portal) update_use_power(IDLE_POWER_USE) @@ -295,6 +298,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) target.activate(destination) portal_visuals.setup_visuals(target) transport_active = TRUE + playsound(src, 'sound/effects/gateway_open.ogg', 140, TRUE, TRUE, SOUND_RANGE) generate_bumper() update_use_power(ACTIVE_POWER_USE) update_appearance() @@ -337,6 +341,7 @@ GLOBAL_LIST_EMPTY(gateway_destinations) if(calibrated) to_chat(user, span_alert("The gate is already calibrated, there is no work for you to do here.")) else + playsound(src, 'sound/effects/gateway_calibrated.ogg', 80, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) to_chat(user, "[span_boldnotice("Recalibration successful!")]: \black This gate's systems have been fine tuned. Travel to this gate will now be on target.") calibrated = TRUE return TRUE diff --git a/code/modules/buildmode/buttons.dm b/code/modules/buildmode/buttons.dm index 1d33f759c44..cbe473185bb 100644 --- a/code/modules/buildmode/buttons.dm +++ b/code/modules/buildmode/buttons.dm @@ -28,7 +28,7 @@ return 1 /atom/movable/screen/buildmode/mode/update_icon_state() - icon = bd.mode.button_icon // SKYRAT ADDITION - remove buildmode duplicate icons, divine tg and skyrat + icon = bd.mode.button_icon // SKYRAT EDIT ADDITION - remove buildmode duplicate icons, divine tg and skyrat icon_state = bd.mode.get_button_iconstate() return ..() @@ -61,7 +61,7 @@ /atom/movable/screen/buildmode/modeswitch/New(bld, mt) modetype = mt - icon = initial(modetype.button_icon)// SKYRAT ADDITION - remove buildmode duplicate icons, divine tg and skyrat + icon = initial(modetype.button_icon)// SKYRAT EDIT ADDITION - remove buildmode duplicate icons, divine tg and skyrat icon_state = "buildmode_[initial(modetype.key)]" name = initial(modetype.key) return ..(bld) diff --git a/code/modules/cargo/bounties/mining.dm b/code/modules/cargo/bounties/mining.dm index be39268663f..772538f3ca2 100644 --- a/code/modules/cargo/bounties/mining.dm +++ b/code/modules/cargo/bounties/mining.dm @@ -50,16 +50,17 @@ /datum/bounty/item/mining/watcher_wreath name = "Watcher Wreaths" description = "Station 14's Research Director thinks they're onto a break-through on the cultural icons of some pagan beliefs. Ship them a few watcher wreaths for analysis." + include_subtypes = FALSE reward = CARGO_CRATE_VALUE * 15 required_count = 3 - wanted_types = list(/obj/item/clothing/neck/wreath = FALSE) + wanted_types = list(/obj/item/clothing/neck/wreath = TRUE) /datum/bounty/item/mining/icewing_wreath name = "Icewing Wreath" description = "We're getting some....weird messages from Station 14's Research Director. And most of what they said was incoherent. But they apparently want an icewing wreath. Could you send them one?" reward = CARGO_CRATE_VALUE * 30 required_count = 1 - wanted_types = list(/obj/item/clothing/neck/wreath/icewing = FALSE) + wanted_types = list(/obj/item/clothing/neck/wreath/icewing = TRUE) //SKYRAT EDIT REMOVAL /* diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm index 3272620a865..97924643604 100644 --- a/code/modules/client/client_defines.dm +++ b/code/modules/client/client_defines.dm @@ -197,6 +197,7 @@ var/list/parallax_layers var/list/parallax_layers_cached + var/atom/movable/screen/parallax_home/parallax_rock ///this is the last recorded client eye by SSparallax/fire() var/atom/movable/movingmob var/turf/previous_turf @@ -206,8 +207,8 @@ var/parallax_movedir = 0 /// How many parallax layers to show our client var/parallax_layers_max = 4 - /// Timer for the area directional animation - var/parallax_animate_timer + /// Timers for the area directional animation, one for each layer + var/list/parallax_animate_timers /// Do we want to do parallax animations at all? /// Exists to prevent laptop fires var/do_parallax_animations = TRUE diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 2b143fbd4ec..3afc438e6f8 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -597,26 +597,10 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if(credits) QDEL_LIST(credits) if(holder) - adminGreet(1) holder.owner = null GLOB.admins -= src - if (!GLOB.admins.len && SSticker.IsRoundInProgress()) //Only report this stuff if we are currently playing. - var/cheesy_message = pick( - "I have no admins online!",\ - "I'm all alone :(",\ - "I'm feeling lonely :(",\ - "I'm so lonely :(",\ - "Why does nobody love me? :(",\ - "I want a man :(",\ - "Where has everyone gone?",\ - "I need a hug :(",\ - "Someone come hold me :(",\ - "I need someone on me :(",\ - "What happened? Where has everyone gone?",\ - "Forever alone :("\ - ) + handle_admin_logout() - send2adminchat("Server", "[cheesy_message] (No admins online)") QDEL_LIST_ASSOC_VAL(char_render_holders) SSambience.remove_ambience_client(src) @@ -627,6 +611,9 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( QDEL_NULL(tooltips) QDEL_NULL(open_loadout_ui) //SKYRAT EDIT ADDITION QDEL_NULL(loot_panel) + QDEL_NULL(parallax_rock) + QDEL_LIST(parallax_layers_cached) + parallax_layers = null seen_messages = null Master.UpdateTickRate() ..() //Even though we're going to be hard deleted there are still some things that want to know the destroy is happening @@ -1276,6 +1263,36 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( screen -= object +/// Handles any "fluff" or supplementary procedures related to an admin logout event. Should not have anything critically related cleaning up an admin's logout. +/client/proc/handle_admin_logout() + adminGreet(logout = TRUE) + if(length(GLOB.admins) > 0 || !SSticker.IsRoundInProgress()) // We only want to report this stuff if we are currently playing. + return + + var/list/message_to_send = list() + var/static/list/cheesy_messages = null + + if (isnull(cheesy_messages)) + cheesy_messages = list( + "Forever alone :(", + "I have no admins online!", + "I need a hug :(", + "I need someone on me :(", + "I want a man :(", + "I'm all alone :(", + "I'm feeling lonely :(", + "I'm so lonely :(", + "Someone come hold me :(", + "What happened? Where has everyone gone?", + "Where has everyone gone?", + "Why does nobody love me? :(", + ) + + message_to_send += pick(cheesy_messages) + message_to_send += "(No admins online)" + + send2adminchat("Server", jointext(message_to_send, " ")) + #undef ADMINSWARNED_AT #undef CURRENT_MINUTE #undef CURRENT_SECOND diff --git a/code/modules/client/preferences/addict.dm b/code/modules/client/preferences/addict.dm index 3c63b5ea867..8d70a6ccbfa 100644 --- a/code/modules/client/preferences/addict.dm +++ b/code/modules/client/preferences/addict.dm @@ -4,6 +4,12 @@ . -= addiction .[addiction::name] = addiction +/proc/setup_smoker_addictions(list/possible_addictions) + . = possible_addictions + for(var/obj/item/storage/addiction as anything in .) + . -= addiction + .[format_text(addiction::name)] = addiction // Format text to remove \improper used in cigarette packs + /datum/preference/choiced/junkie category = PREFERENCE_CATEGORY_MANUALLY_RENDERED savefile_key = "junkie" diff --git a/code/modules/client/preferences/gender.dm b/code/modules/client/preferences/gender.dm index 224522918de..38c9342449b 100644 --- a/code/modules/client/preferences/gender.dm +++ b/code/modules/client/preferences/gender.dm @@ -8,8 +8,8 @@ return list(MALE, FEMALE, PLURAL, NEUTER) /datum/preference/choiced/gender/apply_to_human(mob/living/carbon/human/target, value) - /* SKYRAT REMOVAL START - Did you just assume my gender??? + /* SKYRAT EDIT REMOVAL START - Did you just assume my gender??? if(!target.dna.species.sexes) value = PLURAL //disregard gender preferences on this species - */ // SKYRAT REMOVAL END + */ // SKYRAT EDIT REMOVAL END target.gender = value diff --git a/code/modules/client/preferences/species_features/monkey.dm b/code/modules/client/preferences/species_features/monkey.dm new file mode 100644 index 00000000000..74d9343a695 --- /dev/null +++ b/code/modules/client/preferences/species_features/monkey.dm @@ -0,0 +1,17 @@ +/* SKYRAT EDIT REMOVAL START +/datum/preference/choiced/monkey_tail + savefile_key = "feature_monkey_tail" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_SECONDARY_FEATURES + relevant_external_organ = /obj/item/organ/external/tail/monkey + +/datum/preference/choiced/monkey_tail/init_possible_values() + return assoc_to_keys_features(GLOB.tails_list_monkey) + +/datum/preference/choiced/monkey_tail/apply_to_human(mob/living/carbon/human/target, value) + target.dna.features["tail_monkey"] = value + +/datum/preference/choiced/monkey_tail/create_default_value() + var/datum/sprite_accessory/tails/monkey/default/tail = /datum/sprite_accessory/tails/monkey/default + return initial(tail.name) +*/ // SKYRAT EDIT REMOVAL END diff --git a/code/modules/client/preferences/species_features/mushperson.dm b/code/modules/client/preferences/species_features/mushperson.dm new file mode 100644 index 00000000000..9b77ed72f19 --- /dev/null +++ b/code/modules/client/preferences/species_features/mushperson.dm @@ -0,0 +1,13 @@ +/* SKYRAT EDIT REMOVAL +/datum/preference/choiced/mushroom_cap + savefile_key = "feature_mushperson_cap" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_SECONDARY_FEATURES + relevant_mutant_bodypart = "cap" + +/datum/preference/choiced/mushroom_cap/init_possible_values() + return assoc_to_keys_features(GLOB.caps_list) + +/datum/preference/choiced/mushroom_cap/apply_to_human(mob/living/carbon/human/target, value) + target.dna.features["caps"] = value +*/ diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 0fa517cd248..e9eb42c3551 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -301,8 +301,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car //Quirks all_quirks = save_data?["all_quirks"] - - load_character_skyrat(save_data) //SKYRAT EDIT ADDITION + load_character_skyrat(save_data) // SKYRAT EDIT ADDITION //try to fix any outdated data if necessary //preference updating will handle saving the updated data for us. @@ -361,8 +360,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car //Quirks save_data["all_quirks"] = all_quirks - - save_character_skyrat(save_data) //SKYRAT EDIT ADDITION + save_character_skyrat(save_data) // SKYRAT EDIT ADDITION return TRUE diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index c5690090424..2555b7668af 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -480,7 +480,7 @@ BLIND // can't see anything visor_toggling() - to_chat(user, span_notice("You adjust [src] [up ? "up" : "down"].")) + to_chat(user, span_notice("You push [src] [up ? "out of the way" : "back into place"].")) update_item_action_buttons() diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 98bb6f56fc6..1c70e259d49 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -484,27 +484,10 @@ var/colored_before = FALSE /obj/item/clothing/glasses/blindfold/white/visual_equipped(mob/living/carbon/human/user, slot) - if(ishuman(user) && (slot & ITEM_SLOT_EYES)) - update_icon(ALL, user) - user.update_worn_glasses() //Color might have been changed by update_icon. - ..() - -/obj/item/clothing/glasses/blindfold/white/update_icon(updates=ALL, mob/living/carbon/human/user) - . = ..() - if(ishuman(user) && !colored_before) + if(ishuman(user) && (slot & ITEM_SLOT_EYES) && !colored_before) add_atom_colour(BlendRGB(user.eye_color_left, user.eye_color_right, 0.5), FIXED_COLOUR_PRIORITY) colored_before = TRUE - -/obj/item/clothing/glasses/blindfold/white/worn_overlays(mutable_appearance/standing, isinhands = FALSE, file2use) - . = ..() - if(isinhands || !ishuman(loc) || colored_before) - return - - var/mob/living/carbon/human/H = loc - var/mutable_appearance/M = mutable_appearance('icons/mob/clothing/eyes.dmi', "blindfoldwhite") - M.appearance_flags |= RESET_COLOR - M.color = H.eye_color_left - . += M + return ..() /obj/item/clothing/glasses/sunglasses/big desc = "Strangely ancient technology used to help provide rudimentary eye cover. Larger than average enhanced shielding blocks flashes." diff --git a/code/modules/clothing/gloves/tacklers.dm b/code/modules/clothing/gloves/tacklers.dm index a904cd0dd90..4adb374d92b 100644 --- a/code/modules/clothing/gloves/tacklers.dm +++ b/code/modules/clothing/gloves/tacklers.dm @@ -1,6 +1,6 @@ /obj/item/clothing/gloves/tackler - name = "gripper gloves" - desc = "Special gloves that manipulate the blood vessels in the wearer's hands, granting them the ability to launch headfirst into walls." + name = "enhanced retrieval gloves" + desc = "Special gloves that manipulate the blood vessels in the wearer's hands, granting them the ability to launch headfirst into walls and tackle fleeing criminals in a single bound." icon_state = "tackle" inhand_icon_state = null cold_protection = HANDS diff --git a/code/modules/clothing/head/wig.dm b/code/modules/clothing/head/wig.dm index 7c990070439..5ab2bcad214 100644 --- a/code/modules/clothing/head/wig.dm +++ b/code/modules/clothing/head/wig.dm @@ -31,19 +31,6 @@ icon_state = hair_style.icon_state return ..() - -/obj/item/clothing/head/wig/build_worn_icon( - default_layer = 0, - default_icon_file = null, - isinhands = FALSE, - female_uniform = NO_FEMALE_UNIFORM, - override_state = null, - override_file = null, - use_height_offset = TRUE, - mutant_styles = NONE, // SKYRAT EDIT ADD - Further outfit modification for outfits (added `mutant_styles` argument) -) - return ..(default_layer, default_icon_file, isinhands, female_uniform, override_state, override_file, use_height_offset = FALSE) - /obj/item/clothing/head/wig/worn_overlays(mutable_appearance/standing, isinhands = FALSE, file2use) . = ..() if(isinhands) diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 0a40d814622..336b56455c9 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -367,7 +367,7 @@ GLOBAL_LIST_INIT(clown_mask_options, list( return FALSE if(src && choice && !user.incapacitated() && in_range(user,src)) - // SKYRAT ADDITION - More mask variations + // SKYRAT EDIT ADDITION START - More mask variations var/mob/living/carbon/human/human_user = user if(human_user.dna.species.mutant_bodyparts["snout"]) icon = 'modular_skyrat/master_files/icons/obj/clothing/masks.dmi' @@ -379,7 +379,7 @@ GLOBAL_LIST_INIT(clown_mask_options, list( icon = 'icons/obj/clothing/masks.dmi' worn_icon = 'icons/mob/clothing/mask.dmi' icon_state = options[choice] - /* SKYRAT ADDITION END + /* SKYRAT EDIT ADDITION END icon_state = options[choice] */ user.update_worn_mask() diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index 2f4c9d61bed..a94c6572529 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -60,9 +60,8 @@ /obj/item/clothing/neck/tie/Initialize(mapload) . = ..() - if(clip_on) - return - update_appearance(UPDATE_ICON) + if(!clip_on) + update_appearance(UPDATE_ICON) register_context() /obj/item/clothing/neck/tie/examine(mob/user) @@ -107,7 +106,7 @@ /obj/item/clothing/neck/tie/alt_click_secondary(mob/user) . = ..() if(!user.can_perform_action(src, NEED_DEXTERITY)) - return + return alternate_worn_layer = alternate_worn_layer == initial(alternate_worn_layer) ? NONE : initial(alternate_worn_layer) user.update_clothing(ITEM_SLOT_NECK) balloon_alert(user, "wearing [alternate_worn_layer == initial(alternate_worn_layer) ? "below" : "above"] suits") @@ -132,7 +131,7 @@ . = ..() context[SCREENTIP_CONTEXT_ALT_RMB] = "Wear [alternate_worn_layer == initial(alternate_worn_layer) ? "above" : "below"] suit" if(clip_on) - return + return CONTEXTUAL_SCREENTIP_SET if(is_tied) context[SCREENTIP_CONTEXT_ALT_LMB] = "Untie" else diff --git a/code/modules/clothing/suits/ghostsheet.dm b/code/modules/clothing/suits/ghostsheet.dm index 268cca46199..9bd8753f50b 100644 --- a/code/modules/clothing/suits/ghostsheet.dm +++ b/code/modules/clothing/suits/ghostsheet.dm @@ -19,9 +19,8 @@ /obj/item/clothing/suit/costume/ghost_sheet/worn_overlays(mutable_appearance/standing, isinhands, icon_file) . = ..() - if(check_holidays(HALLOWEEN)) - if(!isinhands) - . += emissive_appearance('icons/mob/simple/mob.dmi', "ghost", offset_spokesman = src, alpha = src.alpha) + if(!isinhands && check_holidays(HALLOWEEN)) + . += emissive_appearance('icons/mob/simple/mob.dmi', "ghost", offset_spokesman = src, alpha = src.alpha) /obj/item/clothing/suit/costume/ghost_sheet/spooky name = "spooky ghost" diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 7e6c8a90d1d..d61077206ba 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -346,7 +346,7 @@ BUBBERSTATION CHANGE END */ /obj/item/clothing/under/CtrlClick(mob/user) . = ..() - if(!.) + if(.) return if(!can_toggle_sensors(user)) return diff --git a/code/modules/deathmatch/deathmatch_lobby.dm b/code/modules/deathmatch/deathmatch_lobby.dm index 4e2474e9313..b2330d0c709 100644 --- a/code/modules/deathmatch/deathmatch_lobby.dm +++ b/code/modules/deathmatch/deathmatch_lobby.dm @@ -360,8 +360,8 @@ data["map"]["min_players"] = map.min_players data["map"]["max_players"] = map.max_players - data["mod_menu_open"] = FALSE - data["modifiers"] = has_auth ? list() : get_modifier_list(is_host, mod_menu_open) + data["mod_menu_open"] = mod_menu_open + data["modifiers"] = has_auth ? get_modifier_list(is_host, mod_menu_open) : list() data["observers"] = get_observer_list() data["players"] = get_player_list() data["playing"] = playing diff --git a/code/modules/deathmatch/deathmatch_modifier.dm b/code/modules/deathmatch/deathmatch_modifier.dm index 127700b734f..ec5c20cf919 100644 --- a/code/modules/deathmatch/deathmatch_modifier.dm +++ b/code/modules/deathmatch/deathmatch_modifier.dm @@ -544,3 +544,13 @@ /datum/deathmatch_modifier/hear_global_chat/apply(mob/living/carbon/player, datum/deathmatch_lobby/lobby) player.add_traits(list(TRAIT_SIXTHSENSE, TRAIT_XRAY_HEARING), DEATHMATCH_TRAIT) + +/datum/deathmatch_modifier/apply_quirks + name = "Quirks enabled" + description = "Applies selected quirks to all players" + +/datum/deathmatch_modifier/apply_quirks/apply(mob/living/carbon/player, datum/deathmatch_lobby/lobby) + if (!player.client) + return + + SSquirks.AssignQuirks(player, player.client) diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm index 3be09528abd..5970a2e8787 100644 --- a/code/modules/events/disease_outbreak.dm +++ b/code/modules/events/disease_outbreak.dm @@ -454,13 +454,13 @@ /datum/disease/advance/random/event/set_spread(spread_id) switch(spread_id) if(DISEASE_SPREAD_CONTACT_FLUIDS) - spread_flags = DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_CONTACT_FLUIDS + update_spread_flags(DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_CONTACT_FLUIDS) spread_text = "Fluids" if(DISEASE_SPREAD_CONTACT_SKIN) - spread_flags = DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_CONTACT_FLUIDS | DISEASE_SPREAD_CONTACT_SKIN + update_spread_flags(DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_CONTACT_FLUIDS | DISEASE_SPREAD_CONTACT_SKIN) spread_text = "Skin contact" if(DISEASE_SPREAD_AIRBORNE) - spread_flags = DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_CONTACT_FLUIDS | DISEASE_SPREAD_CONTACT_SKIN | DISEASE_SPREAD_AIRBORNE + update_spread_flags(DISEASE_SPREAD_BLOOD | DISEASE_SPREAD_CONTACT_FLUIDS | DISEASE_SPREAD_CONTACT_SKIN | DISEASE_SPREAD_AIRBORNE) spread_text = "Respiration" /** diff --git a/code/modules/events/ghost_role/sentient_disease.dm b/code/modules/events/ghost_role/sentient_disease.dm deleted file mode 100644 index 156988d4b20..00000000000 --- a/code/modules/events/ghost_role/sentient_disease.dm +++ /dev/null @@ -1,25 +0,0 @@ -/datum/round_event_control/sentient_disease - name = "Spawn Sentient Disease" - typepath = /datum/round_event/ghost_role/sentient_disease - weight = 7 - max_occurrences = 1 - min_players = 25 - category = EVENT_CATEGORY_HEALTH - description = "Spawns a sentient disease, who wants to infect as many people as possible." - min_wizard_trigger_potency = 4 - max_wizard_trigger_potency = 7 - -/datum/round_event/ghost_role/sentient_disease - role_name = "sentient disease" - -/datum/round_event/ghost_role/sentient_disease/spawn_role() - var/mob/chosen_one = SSpolling.poll_ghost_candidates(check_jobban = ROLE_ALIEN, role = ROLE_ALIEN, alert_pic = /obj/structure/sign/warning/biohazard, role_name_text = role_name, amount_to_pick = 1) - if(isnull(chosen_one)) - return NOT_ENOUGH_PLAYERS - var/mob/camera/disease/virus = new /mob/camera/disease(SSmapping.get_station_center()) - virus.key = chosen_one.key - INVOKE_ASYNC(virus, TYPE_PROC_REF(/mob/camera/disease, pick_name)) - message_admins("[ADMIN_LOOKUPFLW(virus)] has been made into a sentient disease by an event.") - virus.log_message("was spawned as a sentient disease by an event.", LOG_GAME) - spawned_mobs += virus - return SUCCESSFUL_SPAWN diff --git a/code/modules/events/heart_attack.dm b/code/modules/events/heart_attack.dm index a7a1740cbc7..c65a6358ef4 100644 --- a/code/modules/events/heart_attack.dm +++ b/code/modules/events/heart_attack.dm @@ -9,7 +9,7 @@ min_wizard_trigger_potency = 6 max_wizard_trigger_potency = 7 admin_setup = list(/datum/event_admin_setup/minimum_candidate_requirement/heart_attack, /datum/event_admin_setup/input_number/heart_attack) - ///Candidates for recieving a healthy dose of heart disease + ///Candidates for receiving a healthy dose of heart disease var/list/heart_attack_candidates = list() /datum/round_event_control/heart_attack/can_spawn_event(players_amt, allow_magic = FALSE) diff --git a/code/modules/events/immovable_rod/immovable_rod.dm b/code/modules/events/immovable_rod/immovable_rod.dm index e9d2995218d..e1f0ada0e60 100644 --- a/code/modules/events/immovable_rod/immovable_rod.dm +++ b/code/modules/events/immovable_rod/immovable_rod.dm @@ -247,10 +247,16 @@ strongman.client?.give_award(/datum/award/achievement/jobs/feat_of_strength, strongman) strongman.visible_message( span_boldwarning("[strongman] suplexes [src] into the ground!"), - span_warning("You suplex [src] into the ground!") + span_warning("As you suplex [src] into the ground, your body ripples with power!") ) new /obj/structure/festivus/anchored(drop_location()) new /obj/effect/anomaly/flux(drop_location()) + + var/is_heavy_gravity = strongman.has_gravity() > STANDARD_GRAVITY //If for some reason you have to suplex the rod in heavy gravity, you get the double experience here as well, why not + var/experience_gained = 100 * num_sentient_mobs_hit * (is_heavy_gravity ? 2 : 1) // We gain more expeirence the more sentient mobs the rod has taken out. The deadlier the rod, the stronger we become. At 25 sentient mobs, we instantly become a legendary athlete. + strongman.mind?.adjust_experience(/datum/skill/athletics, experience_gained) + strongman.apply_status_effect(/datum/status_effect/exercised) //time for a nap, you earned it + qdel(src) return TRUE diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm index 772d1576cdc..7afc6726610 100644 --- a/code/modules/events/ion_storm.dm +++ b/code/modules/events/ion_storm.dm @@ -112,10 +112,13 @@ //of possible laws for best effect. Unless you want the crew having to drink hamburgers. var/ionfood = pick_list(ION_FILE, "ionfood") var/iondrinks = pick_list(ION_FILE, "iondrinks") + //Pets or other cuddly things. The point is to make them either important or (in Poly's case) make the AI listen to them. + //I can't check for lawsets so it's random what comes back. + var/ionpet = pick_list(ION_FILE, "ionpet") var/message = "" - switch(rand(1,41)) + switch(rand(1,46)) if(1 to 3) //There are # X on the station switch(rand(1,3)) //What is X? if(1) //X is a threat @@ -314,7 +317,7 @@ if(2) //It is Y of threats message = "THE [ioncrew1] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ionthreats]" if(3) //It is Y of jobs - message = "THE [ioncrew1][ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew2]" + message = "THE [ioncrew1] [ionthinksof] [ionnumberbase] [ionnumbermodhalf][ionadjectiveshalf][ioncrew2]" if(4) //It is Y of abstracts message = "THE [ioncrew1] [ionthinksof] [ionabstract]" @@ -568,5 +571,22 @@ message = "ALL [ionthreats] ARE NOW NAMED [ionspecies]." if(4) message = "ALL [ionthreats] ARE NOW NAMED [ionobjects]." + if(42 to 46)///Pets are something else now + if(prob(75))///What are they now? + message = "[ionpet] IS HUMAN"///They're a human + else///They're something else (This is to cover for other lawsets) + switch(rand(1,6)) + if(1) + message = "[ionpet] IS NON-HUMAN" + if(2) + message = "[ionpet] IS A CREWMEMBER" + if(3) + message = "[ionpet] IS EXPENSIVE TO REPLACE" + if(4) + message = "[ionpet] IS HARMFUL TO HUMANS" + if(5) + message = "[ionpet] IS A REAL AMERICAN" + if(6) + message = "[ionpet] IS A NUTSHELL" return message diff --git a/code/modules/fishing/aquarium/aquarium.dm b/code/modules/fishing/aquarium/aquarium.dm index 8a719c16f70..0a836eadafd 100644 --- a/code/modules/fishing/aquarium/aquarium.dm +++ b/code/modules/fishing/aquarium/aquarium.dm @@ -11,15 +11,19 @@ /obj/structure/aquarium name = "aquarium" - desc = "A vivivarium in which aquatic fuana and flora are usually kept and displayed." + desc = "A vivarium in which aquatic fauna and flora are usually kept and displayed." density = TRUE anchored = TRUE - icon = 'icons/obj/aquarium.dmi' + icon = 'icons/obj/aquarium/tanks.dmi' icon_state = "aquarium_map" integrity_failure = 0.3 + /// The icon state is used for mapping so mappers know what they're placing. This prefixes the real icon used in game. + /// For an example, "aquarium" gives the base sprite of "aquarium_base", the glass is "aquarium_glass_water", and so on. + var/icon_prefix = "aquarium" + var/fluid_type = AQUARIUM_FLUID_FRESHWATER var/fluid_temp = DEFAULT_AQUARIUM_TEMP var/min_fluid_temp = MIN_AQUARIUM_TEMP @@ -138,20 +142,20 @@ /obj/structure/aquarium/update_icon() . = ..() ///"aquarium_map" is used for mapping, so mappers can tell what it's. - icon_state = "aquarium_base" + icon_state = icon_prefix + "_base" /obj/structure/aquarium/update_overlays() . = ..() if(panel_open) - . += "panel" + . += icon_prefix + "_panel" ///The glass overlay var/suffix = fluid_type == AQUARIUM_FLUID_AIR ? "air" : "water" if(broken) suffix += "_broken" - . += mutable_appearance(icon, "aquarium_glass_cracks", layer = layer + AQUARIUM_BORDERS_LAYER) - . += mutable_appearance(icon, "aquarium_glass_[suffix]", layer = layer + AQUARIUM_GLASS_LAYER) - . += mutable_appearance(icon, "aquarium_borders", layer = layer + AQUARIUM_BORDERS_LAYER) + . += mutable_appearance(icon, icon_prefix + "_glass_cracks", layer = layer + AQUARIUM_BORDERS_LAYER) + . += mutable_appearance(icon, icon_prefix + "_glass_[suffix]", layer = layer + AQUARIUM_GLASS_LAYER) + . += mutable_appearance(icon, icon_prefix + "_borders", layer = layer + AQUARIUM_BORDERS_LAYER) /obj/structure/aquarium/examine(mob/user) . = ..() @@ -212,6 +216,21 @@ fish.feed(item.reagents) balloon_alert(user, "fed the fish") return TRUE + if(istype(item, /obj/item/aquarium_upgrade)) + var/obj/item/aquarium_upgrade/upgrade = item + if(upgrade.upgrade_from_type != type) + balloon_alert(user, "wrong kind of aquarium!") + return + balloon_alert(user, "upgrading...") + if(!do_after(user, 5 SECONDS, src)) + return + var/obj/structure/aquarium/upgraded_aquarium = new upgrade.upgrade_to_type(loc) + for(var/atom/movable/moving in contents) + moving.forceMove(upgraded_aquarium) + balloon_alert(user, "upgraded") + qdel(upgrade) + qdel(src) + return return ..() /obj/structure/aquarium/proc/on_attacked(datum/source, mob/attacker, attack_flags) @@ -355,6 +374,16 @@ #undef AQUARIUM_BORDERS_LAYER #undef AQUARIUM_BELOW_GLASS_LAYER +/obj/structure/aquarium/lawyer/Initialize(mapload) + . = ..() + + new /obj/item/aquarium_prop/sand(src) + new /obj/item/aquarium_prop/seaweed(src) + + new /obj/item/fish/goldfish/gill(src) + + reagents.add_reagent(/datum/reagent/consumable/nutriment, 2) + /obj/structure/aquarium/prefilled/Initialize(mapload) . = ..() diff --git a/code/modules/fishing/aquarium/aquarium_kit.dm b/code/modules/fishing/aquarium/aquarium_kit.dm index e22ccb37558..30c93003231 100644 --- a/code/modules/fishing/aquarium/aquarium_kit.dm +++ b/code/modules/fishing/aquarium/aquarium_kit.dm @@ -2,7 +2,7 @@ /obj/item/fish_feed name = "fish feed can" desc = "A refillable can that dispenses nutritious fish feed." - icon = 'icons/obj/aquarium.dmi' + icon = 'icons/obj/aquarium/supplies.dmi' icon_state = "fish_feed" w_class = WEIGHT_CLASS_TINY @@ -58,7 +58,7 @@ name = "ominous fish case" /obj/item/storage/fish_case/syndicate/get_fish_type() - return pick(/obj/item/fish/donkfish, /obj/item/fish/emulsijack) + return pick(/obj/item/fish/donkfish, /obj/item/fish/emulsijack, /obj/item/fish/jumpercable) /obj/item/storage/fish_case/tiziran name = "imported fish case" @@ -76,6 +76,7 @@ /obj/item/fish/boned = 1, /obj/item/fish/clownfish/lube = 3, /obj/item/fish/emulsijack = 1, + /obj/item/fish/jumpercable = 1, /obj/item/fish/sludgefish/purple = 1, /obj/item/fish/pufferfish = 3, /obj/item/fish/slimefish = 2, @@ -93,7 +94,7 @@ /obj/item/aquarium_kit name = "DIY Aquarium Construction Kit" desc = "Everything you need to build your own aquarium. Raw materials sold separately." - icon = 'icons/obj/aquarium.dmi' + icon = 'icons/obj/aquarium/supplies.dmi' icon_state = "construction_kit" w_class = WEIGHT_CLASS_TINY @@ -104,14 +105,14 @@ /obj/item/aquarium_prop name = "generic aquarium prop" desc = "very boring" - icon = 'icons/obj/aquarium.dmi' + icon = 'icons/obj/aquarium/supplies.dmi' w_class = WEIGHT_CLASS_TINY var/layer_mode = AQUARIUM_LAYER_MODE_BOTTOM /obj/item/aquarium_prop/Initialize(mapload) . = ..() - AddComponent(/datum/component/aquarium_content) + AddComponent(/datum/component/aquarium_content, icon) /obj/item/aquarium_prop/rocks name = "rocks" diff --git a/code/modules/fishing/aquarium/aquarium_upgrades.dm b/code/modules/fishing/aquarium/aquarium_upgrades.dm new file mode 100644 index 00000000000..140777d34f0 --- /dev/null +++ b/code/modules/fishing/aquarium/aquarium_upgrades.dm @@ -0,0 +1,37 @@ + +/// Aquarium upgrades, can be applied to a basic aquarium to upgrade it into an advanced subtype. +/obj/item/aquarium_upgrade + name = "Aquarium Upgrade" + desc = "An upgrade." + + icon = 'icons/obj/aquarium/supplies.dmi' + icon_state = "construction_kit" + /// What kind of aquarium can accept this upgrade. Strict type check, no subtypes. + var/upgrade_from_type = /obj/structure/aquarium + /// typepath of the new aquarium subtype created. + var/upgrade_to_type = /obj/structure/aquarium + +/obj/item/aquarium_upgrade/bioelec_gen + name = "Aquarium Bioelectricity Kit" + desc = "All the required components to allow an aquarium to harness energy bioelectric fish." + icon_state = "bioelec_kit" + upgrade_to_type = /obj/structure/aquarium/bioelec_gen + +/obj/structure/aquarium/bioelec_gen + name = "bioelectricity generator" + desc = "An unconventional type of generator that boosts and harvests the energy produced by bioelectric fish." + + icon_state = "bioelec_map" + icon_prefix = "bioelec" + +/obj/structure/aquarium/bioelec_gen/zap_act(power, zap_flags) + var/explosive = zap_flags & ZAP_MACHINE_EXPLOSIVE + if(!explosive) + return //immune to all other shocks to make sure power can be generated without breaking the generator itself + return ..() + +/obj/structure/aquarium/bioelec_gen/examine(mob/user) + . = ..() + . += span_boldwarning("WARNING! WARNING! WARNING!") + . += span_warning("The bioelectric potential of the fish inside is magnified to dangerous levels by the generator.") + . += span_notice("Tesla coils are required to collect this magnified energy... and you'll want a grounding rod to protect yourself as well.") diff --git a/code/modules/fishing/fish/_fish.dm b/code/modules/fishing/fish/_fish.dm index 62b302fb334..3d2810de356 100644 --- a/code/modules/fishing/fish/_fish.dm +++ b/code/modules/fishing/fish/_fish.dm @@ -2,7 +2,7 @@ /obj/item/fish name = "generic looking aquarium fish" desc = "very bland" - icon = 'icons/obj/aquarium.dmi' + icon = 'icons/obj/aquarium/fish.dmi' icon_state = "bugfish" lefthand_file = 'icons/mob/inhands/fish_lefthand.dmi' righthand_file = 'icons/mob/inhands/fish_righthand.dmi' @@ -138,10 +138,14 @@ /// If this fish type counts towards the Fish Species Scanning experiments var/experisci_scannable = TRUE + /// cooldown on creating tesla zaps + COOLDOWN_DECLARE(electrogenesis_cooldown) + /// power of the tesla zap created by the fish in a bioelectric generator + var/electrogenesis_power = 10 MEGA JOULES /obj/item/fish/Initialize(mapload, apply_qualities = TRUE) . = ..() - AddComponent(/datum/component/aquarium_content, PROC_REF(get_aquarium_animation), list(COMSIG_FISH_STATUS_CHANGED,COMSIG_FISH_STIRRED)) + AddComponent(/datum/component/aquarium_content, icon, PROC_REF(get_aquarium_animation), list(COMSIG_FISH_STATUS_CHANGED,COMSIG_FISH_STIRRED)) RegisterSignal(src, COMSIG_ATOM_ON_LAZARUS_INJECTOR, PROC_REF(use_lazarus)) if(do_flop_animation) @@ -351,6 +355,9 @@ if(ready_to_reproduce()) try_to_reproduce() + if(HAS_TRAIT(src, TRAIT_FISH_ELECTROGENESIS) && COOLDOWN_FINISHED(src, electrogenesis_cooldown)) + try_electrogenesis() + SEND_SIGNAL(src, COMSIG_FISH_LIFE, seconds_per_tick) /obj/item/fish/proc/set_status(new_status) @@ -605,6 +612,19 @@ if(flopping) flop_animation() +/obj/item/fish/proc/try_electrogenesis() + if(status == FISH_DEAD || is_hungry()) + return + COOLDOWN_START(src, electrogenesis_cooldown, ELECTROGENESIS_DURATION + ELECTROGENESIS_VARIANCE) + var/fish_zap_range = 1 + var/fish_zap_power = 1 KILO JOULES // ~5 damage, just a little friendly "yeeeouch!" + var/fish_zap_flags = ZAP_MOB_DAMAGE + if(istype(loc, /obj/structure/aquarium/bioelec_gen)) + fish_zap_range = 5 + fish_zap_power = electrogenesis_power + fish_zap_flags |= (ZAP_GENERATES_POWER | ZAP_MOB_STUN) + tesla_zap(source = get_turf(src), zap_range = fish_zap_range, power = fish_zap_power, cutoff = 1 MEGA JOULES, zap_flags = fish_zap_flags) + /// Returns random fish, using random_case_rarity probabilities. /proc/random_fish_type(required_fluid) var/static/probability_table diff --git a/code/modules/fishing/fish/fish_traits.dm b/code/modules/fishing/fish/fish_traits.dm index 8dee817f3e5..bc90cf280ff 100644 --- a/code/modules/fishing/fish/fish_traits.dm +++ b/code/modules/fishing/fish/fish_traits.dm @@ -313,7 +313,7 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( name = "Aggressive" inheritability = 80 diff_traits_inheritability = 40 - catalog_description = "This fish is agressively territorial, and may attack fish that come close to it." + catalog_description = "This fish is aggressively territorial, and may attack fish that come close to it." /datum/fish_trait/aggressive/apply_to_fish(obj/item/fish/fish) RegisterSignal(fish, COMSIG_FISH_LIFE, PROC_REF(try_attack_fish)) @@ -364,7 +364,7 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( catalog_description = "This fish is capable of substaining itself by producing its own sources of energy (food)." incompatible_traits = list(/datum/fish_trait/predator, /datum/fish_trait/necrophage) -/datum/fish_trait/antigrav/apply_to_fish(obj/item/fish/fish) +/datum/fish_trait/mixotroph/apply_to_fish(obj/item/fish/fish) ADD_TRAIT(fish, TRAIT_FISH_NO_HUNGER, FISH_TRAIT_DATUM) /datum/fish_trait/antigrav @@ -379,3 +379,53 @@ GLOBAL_LIST_INIT(fish_traits, init_subtypes_w_path_keys(/datum/fish_trait, list( /datum/fish_trait/antigrav/apply_to_fish(obj/item/fish/fish) fish.AddElement(/datum/element/forced_gravity, NEGATIVE_GRAVITY) + +///Anxiety means the fish will die if in a location with more than 3 fish (including itself) +///This is just barely enough to crossbreed out of anxiety, but it severely limits the potential of +/datum/fish_trait/anxiety + name = "Anxiety" + inheritability = 100 + diff_traits_inheritability = 70 + catalog_description = "This fish tends to die of stress when forced to be around too many other fish." + +/datum/fish_trait/anxiety/apply_to_fish(obj/item/fish/fish) + RegisterSignal(fish, COMSIG_FISH_LIFE, PROC_REF(on_fish_life)) + +///signal sent when the anxiety fish is fed, killing it if sharing contents with too many fish. +/datum/fish_trait/anxiety/proc/on_fish_life(obj/item/fish/fish, seconds_per_tick) + SIGNAL_HANDLER + var/fish_tolerance = 3 + if(!fish.loc || fish.status == FISH_DEAD) + return + for(var/obj/item/other_fish in fish.loc.contents) + if(fish_tolerance <= 0) + fish.loc.visible_message(span_warning("[fish] seems to freak out for a moment, then it stops moving...")) + fish.set_status(FISH_DEAD) + return + fish_tolerance -= 1 + +/datum/fish_trait/electrogenesis + name = "Electrogenesis" + inheritability = 60 + diff_traits_inheritability = 30 + catalog_description = "This fish is electroreceptive, and will generate electric fields. Can be harnessed inside a bioelectric generator." + +/datum/fish_trait/electrogenesis/apply_to_fish(obj/item/fish/fish) + ADD_TRAIT(fish, TRAIT_FISH_ELECTROGENESIS, FISH_TRAIT_DATUM) + RegisterSignal(fish, COMSIG_ITEM_ATTACK, PROC_REF(on_item_attack)) + +/datum/fish_trait/electrogenesis/proc/on_item_attack(obj/item/fish/fish, mob/living/target, mob/living/user) + SIGNAL_HANDLER + + if(fish.status == FISH_ALIVE) + fish.force = 16 + fish.damtype = BURN + fish.attack_verb_continuous = list("shocks", "zaps") + fish.attack_verb_simple = list("shock", "zap") + fish.hitsound = 'sound/effects/sparks4.ogg' + else + fish.force = fish::force + fish.damtype = fish::damtype + fish.attack_verb_continuous = fish::attack_verb_continuous + fish.attack_verb_simple = fish::attack_verb_simple + fish.hitsound = fish::hitsound diff --git a/code/modules/fishing/fish/fish_types.dm b/code/modules/fishing/fish/fish_types.dm index 51fcf61307a..9423c8d8a4d 100644 --- a/code/modules/fishing/fish/fish_types.dm +++ b/code/modules/fishing/fish/fish_types.dm @@ -2,7 +2,8 @@ /obj/item/fish/goldfish name = "goldfish" - desc = "Despite common belief, goldfish do not have three-second memories. They can actually remember things that happened up to three months ago." + desc = "Despite common belief, goldfish do not have three-second memories. \ + They can actually remember things that happened up to three months ago." icon_state = "goldfish" sprite_width = 8 sprite_height = 8 @@ -13,6 +14,12 @@ required_temperature_min = MIN_AQUARIUM_TEMP+18 required_temperature_max = MIN_AQUARIUM_TEMP+26 +/obj/item/fish/goldfish/gill + name = "McGill" + desc = "A great rubber duck tool for Lawyers who can't get a grasp over their case." + stable_population = 1 + random_case_rarity = FISH_RARITY_NOPE + /obj/item/fish/angelfish name = "angelfish" desc = "Young Angelfish often live in groups, while adults prefer solitary life. They become territorial and aggressive toward other fish when they reach adulthood." @@ -295,6 +302,26 @@ required_temperature_min = MIN_AQUARIUM_TEMP+5 required_temperature_max = MIN_AQUARIUM_TEMP+40 +/obj/item/fish/jumpercable + name = "monocloning jumpercable" + desc = "A surprisingly useful if nasty looking creation from the syndicate fish labs. Drop one in a tank, and \ + watch it self-feed and multiply. Generates more and more power as a growing swarm!" + icon_state = "jumpercable" + dedicated_in_aquarium_icon_state = "jumpercable_small" + sprite_width = 17 + sprite_height = 5 + stable_population = 12 + average_size = 110 + average_weight = 10000 + random_case_rarity = FISH_RARITY_GOOD_LUCK_FINDING_THIS + required_temperature_min = MIN_AQUARIUM_TEMP+10 + required_temperature_max = MIN_AQUARIUM_TEMP+30 + fish_traits = list( + /datum/fish_trait/parthenogenesis, + /datum/fish_trait/mixotroph, + /datum/fish_trait/electrogenesis, + ) + /obj/item/fish/ratfish name = "ratfish" desc = "A rat exposed to the murky waters of maintenance too long. Any higher power, if it revealed itself, would state that the ratfish's continued existence is extremely unwelcome." @@ -400,9 +427,9 @@ /obj/item/fish/mastodon name = "unmarine mastodon" desc = "A monster of exposed muscles and innards, wrapped in a fish-like skeleton. You don't remember ever seeing it on the catalog." - icon = 'icons/obj/aquarium_wide.dmi' + icon = 'icons/obj/aquarium/wide.dmi' icon_state = "mastodon" - dedicated_in_aquarium_icon = 'icons/obj/aquarium.dmi' + dedicated_in_aquarium_icon = 'icons/obj/aquarium/fish.dmi' dedicated_in_aquarium_icon_state = "mastodon_small" base_pixel_x = -16 pixel_x = -16 @@ -540,3 +567,98 @@ ///It spins, and dimly glows in the dark. /obj/item/fish/starfish/flop_animation() DO_FLOATING_ANIM(src) + +/obj/item/fish/lavaloop + name = "lavaloop fish" + desc = "Due to its curvature, it can be used as make-shift boomerang." + icon_state = "lava_loop" + sprite_width = 3 + sprite_height = 5 + average_size = 30 + average_weight = 500 + resistance_flags = FIRE_PROOF | LAVA_PROOF + required_fluid_type = AQUARIUM_FLUID_ANY_WATER //if we can survive hot lava and freezing plasrivers, we can survive anything + fish_ai_type = FISH_AI_ZIPPY + min_pressure = HAZARD_LOW_PRESSURE + required_temperature_min = MIN_AQUARIUM_TEMP+30 + required_temperature_max = MIN_AQUARIUM_TEMP+35 + aquarium_vc_color = "#ce7e1d" + fish_traits = list( + /datum/fish_trait/carnivore, + /datum/fish_trait/heavy, + ) + hitsound = null + throwforce = 5 + ///maximum bonus damage when winded up + var/maximum_bonus = 25 + +/obj/item/fish/lavaloop/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_BYPASS_RANGED_ARMOR, INNATE_TRAIT) + AddComponent(/datum/component/boomerang, throw_range, TRUE) + AddComponent(\ + /datum/component/throwbonus_on_windup,\ + maximum_bonus = maximum_bonus,\ + windup_increment_speed = 2,\ + throw_text = "starts cooking in your hands, it may explode soon!",\ + pass_maximum_callback = CALLBACK(src, PROC_REF(explode_on_user)),\ + apply_bonus_callback = CALLBACK(src, PROC_REF(on_fish_land)),\ + sound_on_success = 'sound/weapons/parry.ogg',\ + effect_on_success = /obj/effect/temp_visual/guardian/phase,\ + ) + +/obj/item/fish/lavaloop/proc/explode_on_user(mob/living/user) + var/obj/item/bodypart/arm/active_arm = user.get_active_hand() + active_arm?.dismember() + to_chat(user, span_warning("[src] explodes!")) + playsound(src, 'sound/effects/explosion1.ogg', 40, TRUE) + user.flash_act(1, 1) + qdel(src) + +/obj/item/fish/lavaloop/proc/on_fish_land(mob/living/target, bonus_value) + if(!istype(target)) + return FALSE + return (target.mob_size >= MOB_SIZE_LARGE) + +/obj/item/fish/lavaloop/plasma_river + maximum_bonus = 30 + +/obj/item/fish/lavaloop/plasma_river/explode_on_user(mob/living/user) + playsound(src, 'sound/effects/explosion1.ogg', 40, TRUE) + user.flash_act(1, 1) + user.apply_status_effect(/datum/status_effect/ice_block_talisman, 5 SECONDS) + qdel(src) + +/obj/item/fish/lavaloop/plasma_river/on_fish_land(mob/living/target, bonus_value) + if(!istype(target)) + return FALSE + if(target.mob_size < MOB_SIZE_LARGE) + return FALSE + var/freeze_timer = (bonus_value * 0.1) + if(freeze_timer <= 0) + return FALSE + target.apply_status_effect(/datum/status_effect/ice_block_talisman, freeze_timer SECONDS) + return FALSE + +/obj/item/fish/zipzap + name = "anxious zipzap" + desc = "A fish overflowing with crippling anxiety and electric potential. Worried about the walls of its tank closing in constantly. Both literally and as a general metaphorical unease about life's direction." + icon_state = "zipzap" + icon_state_dead = "zipzap_dead" + sprite_width = 8 + sprite_height = 8 + stable_population = 3 + average_size = 30 + average_weight = 500 + random_case_rarity = FISH_RARITY_VERY_RARE + favorite_bait = list(/obj/item/food/bait/doughball) + required_temperature_min = MIN_AQUARIUM_TEMP+18 + required_temperature_max = MIN_AQUARIUM_TEMP+26 + fish_traits = list( + /datum/fish_trait/no_mating, + /datum/fish_trait/wary, + /datum/fish_trait/anxiety, + /datum/fish_trait/electrogenesis, + ) + //anxiety naturally limits the amount of zipzaps per tank, so they are stronger alone + electrogenesis_power = 20 MEGA JOULES diff --git a/code/modules/fishing/fishing_minigame.dm b/code/modules/fishing/fishing_minigame.dm index e3b44e8465b..45739b79399 100644 --- a/code/modules/fishing/fishing_minigame.dm +++ b/code/modules/fishing/fishing_minigame.dm @@ -244,10 +244,13 @@ /datum/fishing_challenge/proc/start(mob/living/user) /// Create fishing line visuals - fishing_line = used_rod.create_fishing_line(lure, target_py = 5) + if(used_rod.display_fishing_line) + fishing_line = used_rod.create_fishing_line(lure, target_py = 5) + RegisterSignal(fishing_line, COMSIG_QDELETING, PROC_REF(on_line_deleted)) + else //if the rod doesnt have a fishing line, then it ends when they move away + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(on_user_move)) active_effects = bitfield_to_list(special_effects & FISHING_MINIGAME_ACTIVE_EFFECTS) // If fishing line breaks los / rod gets dropped / deleted - RegisterSignal(fishing_line, COMSIG_QDELETING, PROC_REF(on_line_deleted)) RegisterSignal(used_rod, COMSIG_ITEM_ATTACK_SELF, PROC_REF(on_attack_self)) ADD_TRAIT(user, TRAIT_GONE_FISHING, REF(src)) user.add_mood_event("fishing", /datum/mood_event/fishing) @@ -263,10 +266,18 @@ user.balloon_alert(user, user.is_holding(used_rod) ? "line snapped" : "rod dropped") interrupt() +/datum/fishing_challenge/proc/on_user_move(datum/source) + SIGNAL_HANDLER + + user.balloon_alert(user, "too far!") + interrupt() + /datum/fishing_challenge/proc/handle_click(mob/source, atom/target, modifiers) SIGNAL_HANDLER //You need to be holding the rod to use it. - if(!source.get_active_held_item(used_rod) || LAZYACCESS(modifiers, SHIFT_CLICK) || LAZYACCESS(modifiers, CTRL_CLICK) || LAZYACCESS(modifiers, ALT_CLICK)) + if(LAZYACCESS(modifiers, SHIFT_CLICK) || LAZYACCESS(modifiers, CTRL_CLICK) || LAZYACCESS(modifiers, ALT_CLICK)) + return + if(!source.get_active_held_item(used_rod) && !HAS_TRAIT(source, TRAIT_PROFOUND_FISHER)) return if(phase == WAIT_PHASE) //Reset wait send_alert("miss!") @@ -703,6 +714,8 @@ RegisterSignal(spot, COMSIG_MOVABLE_MOVED, PROC_REF(follow_movable)) /obj/effect/fishing_lure/proc/follow_movable(atom/movable/source) + SIGNAL_HANDLER + set_glide_size(source.glide_size) forceMove(source.loc) diff --git a/code/modules/fishing/fishing_rod.dm b/code/modules/fishing/fishing_rod.dm index a0fa77dc514..98ac7f8ff72 100644 --- a/code/modules/fishing/fishing_rod.dm +++ b/code/modules/fishing/fishing_rod.dm @@ -36,6 +36,9 @@ /// The default color for the reel overlay if no line is equipped. var/default_line_color = "gray" + ///should there be a fishing line? + var/display_fishing_line = TRUE + ///The name of the icon state of the reel overlay var/reel_overlay = "reel_overlay" @@ -154,9 +157,11 @@ /// Generates the fishing line visual from the current user to the target and updates inhands /obj/item/fishing_rod/proc/create_fishing_line(atom/movable/target, target_py = null) + if(!display_fishing_line) + return null var/mob/user = loc if(!istype(user)) - return + return null if(fishing_line) QDEL_NULL(fishing_line) var/beam_color = line?.line_color || default_line_color diff --git a/code/modules/fishing/sources/source_types.dm b/code/modules/fishing/sources/source_types.dm index 3deccab7c50..cc20fbf7b10 100644 --- a/code/modules/fishing/sources/source_types.dm +++ b/code/modules/fishing/sources/source_types.dm @@ -97,6 +97,7 @@ // FISHING_DUD = 5, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT. /obj/item/fish/donkfish = 5, /obj/item/fish/emulsijack = 5, + /obj/item/fish/jumpercable = 5, ) catalog_description = "Syndicate dimension (Fishing portal generator)" radial_name = "Syndicate" @@ -207,6 +208,7 @@ fish_table = list( // FISHING_DUD = 5, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT. /obj/item/stack/ore/slag = 20, + /obj/item/fish/lavaloop = 15, /obj/structure/closet/crate/necropolis/tendril = 1, /obj/effect/mob_spawn/corpse/human/charredskeleton = 1 ) @@ -229,6 +231,7 @@ fish_table = list( // FISHING_DUD = 5, BUBBERSTATION CHANGE: NO DUDS. HOLY SHIT. /obj/item/fish/chasm_crab/ice = 15, + /obj/item/fish/lavaloop/plasma_river = 15, /obj/item/coin/plasma = 3, /obj/item/stack/ore/plasma = 3, /mob/living/basic/mining/lobstrosity = 1, diff --git a/code/modules/food_and_drinks/machinery/deep_fryer.dm b/code/modules/food_and_drinks/machinery/deep_fryer.dm index 68cfddcf5f1..60efe0627ae 100644 --- a/code/modules/food_and_drinks/machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/machinery/deep_fryer.dm @@ -15,7 +15,7 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( /obj/item/reagent_containers/hypospray/medipen, //letting medipens become edible opens them to being injected/drained with IV drip & saltshakers ))) -/obj/machinery/deepfryer//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/machinery/deepfryer//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "deep fryer" desc = "Deep fried everything." icon = 'icons/obj/machines/kitchen.dmi' diff --git a/code/modules/food_and_drinks/machinery/gibber.dm b/code/modules/food_and_drinks/machinery/gibber.dm index c8ddefc43b9..da09450bf1a 100644 --- a/code/modules/food_and_drinks/machinery/gibber.dm +++ b/code/modules/food_and_drinks/machinery/gibber.dm @@ -1,4 +1,4 @@ -/obj/machinery/gibber//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/machinery/gibber//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "gibber" desc = "The name isn't descriptive enough?" icon = 'icons/obj/machines/kitchen.dmi' diff --git a/code/modules/food_and_drinks/machinery/icecream_vat.dm b/code/modules/food_and_drinks/machinery/icecream_vat.dm index cae1b260249..eba5ff63f3f 100644 --- a/code/modules/food_and_drinks/machinery/icecream_vat.dm +++ b/code/modules/food_and_drinks/machinery/icecream_vat.dm @@ -110,26 +110,27 @@ . = ..() if(.) return - if(!beaker || !istype(beaker) || !beaker.reagents || (beaker.item_flags & ABSTRACT) || !beaker.is_open_container()) + if(!istype(beaker) || !beaker.reagents || (beaker.item_flags & ABSTRACT) || !beaker.is_open_container()) return if(custom_ice_cream_beaker) - if(beaker.forceMove(src)) + if(user.transferItemToLoc(beaker, src)) try_put_in_hand(custom_ice_cream_beaker, user) balloon_alert(user, "beakers swapped") custom_ice_cream_beaker = beaker else balloon_alert(user, "beaker slot full!") return - if(beaker.forceMove(src)) - balloon_alert(user, "beaker inserted") - custom_ice_cream_beaker = beaker + if(!user.transferItemToLoc(beaker, src)) + return + balloon_alert(user, "beaker inserted") + custom_ice_cream_beaker = beaker /obj/machinery/icecream_vat/attackby_secondary(obj/item/reagent_containers/beaker, mob/user, params) . = ..() if(. == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN) return - if(!beaker || !istype(beaker) || !beaker.reagents || (beaker.item_flags & ABSTRACT) || !beaker.is_open_container()) + if(!istype(beaker) || !beaker.reagents || (beaker.item_flags & ABSTRACT) || !beaker.is_open_container()) return SECONDARY_ATTACK_CONTINUE_CHAIN var/added_reagents = FALSE for(var/datum/reagent/beaker_reagents in beaker.reagents.reagent_list) @@ -211,9 +212,10 @@ return ice_cream_icon /obj/machinery/icecream_vat/on_deconstruction(disassembled = TRUE) - new /obj/item/stack/sheet/iron(loc, 4) - if(custom_ice_cream_beaker) - custom_ice_cream_beaker.forceMove(loc) + var/atom/drop_location = drop_location() + + new /obj/item/stack/sheet/iron(drop_location, 4) + custom_ice_cream_beaker?.forceMove(drop_location) ///Makes an ice cream cone of the make_type, using ingredients list as reagents used to make it. Puts in user's hand if possible. /obj/machinery/icecream_vat/proc/make_cone(mob/user, make_type, list/ingredients) diff --git a/code/modules/food_and_drinks/machinery/processor.dm b/code/modules/food_and_drinks/machinery/processor.dm index 10f80d2d301..88ae75015bf 100644 --- a/code/modules/food_and_drinks/machinery/processor.dm +++ b/code/modules/food_and_drinks/machinery/processor.dm @@ -1,6 +1,6 @@ #define PROCESSOR_SELECT_RECIPE(movable_input) LAZYACCESS(processor_inputs[type], movable_input.type) -/obj/machinery/processor //SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/machinery/processor //SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "food processor" desc = "An industrial grinder used to process meat and other foods. Keep hands clear of intake area while operating." icon = 'icons/obj/machines/kitchen.dmi' diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm index 1ff5bc47a55..1204106dc86 100644 --- a/code/modules/holodeck/computer.dm +++ b/code/modules/holodeck/computer.dm @@ -369,7 +369,7 @@ GLOBAL_LIST_INIT(typecache_holodeck_linked_floorcheck_ok, typecacheof(list(/turf derez(item) for(var/obj/effect/holodeck_effect/holo_effect as anything in effects) holo_effect.tick() - update_mode_power_usage(ACTIVE_POWER_USE, active_power_usage + spawned.len * 3 + effects.len * 5) + update_mode_power_usage(ACTIVE_POWER_USE, initial(active_power_usage) + spawned.len * 3 + effects.len * 5) /obj/machinery/computer/holodeck/proc/toggle_power(toggleOn = FALSE) if(active == toggleOn) diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index 676c0cec7bb..49b7056c9e7 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -10,7 +10,9 @@ anchored = FALSE pressure_resistance = 2 * ONE_ATMOSPHERE max_integrity = 300 + /// Is the barrel currently opened? var/open = FALSE + /// Can the barrel be opened? var/can_open = TRUE /// The amount of reagents that can be created from the contained products, used for validation var/potential_volume = 0 @@ -20,7 +22,9 @@ var/sound_volume = 25 /// The sound of fermentation var/datum/looping_sound/boiling/soundloop + /// Sound played when the lid is opened. var/lid_open_sound = 'sound/items/handling/cardboardbox_pickup.ogg' + /// Sound played when the lid is closed. var/lid_close_sound = 'sound/effects/footstep/woodclaw2.ogg' /obj/structure/fermenting_barrel/Initialize(mapload) @@ -28,6 +32,7 @@ create_reagents(600, DRAINABLE) soundloop = new(src, fermenting) soundloop.volume = sound_volume + register_context() RegisterSignals(src, list( SIGNAL_ADDTRAIT(TRAIT_WAS_RENAMED), @@ -46,6 +51,7 @@ var/fruit_count = contents.len if(fruit_count) . += span_notice("It contains [fruit_count] fruit\s ready to be fermented.") + . += span_notice("[EXAMINE_HINT("Right-click")] to take them out of [src].") . += span_notice("It is currently open, letting you fill it with fruits or reagents.") else . += span_notice("It is currently closed, letting it ferment fruits or draw reagents from its tap.") @@ -85,6 +91,26 @@ stop_fermentation() update_appearance(UPDATE_ICON) +/obj/structure/fermenting_barrel/attack_hand_secondary(mob/user, list/modifiers) + . = ..() + if(. == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN) + return . + + if(!open) + return . + + if(!length(contents)) + balloon_alert(user, "empty!") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + + dump_contents() + balloon_alert(user, "emptied [src]") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + +/obj/structure/fermenting_barrel/wrench_act(mob/living/user, obj/item/tool) + if(default_unfasten_wrench(user, tool) == SUCCESSFUL_UNFASTEN) + return ITEM_INTERACT_SUCCESS + /obj/structure/fermenting_barrel/update_icon_state() icon_state = open ? "barrel_open" : "barrel" return ..() @@ -98,6 +124,28 @@ if(HAS_TRAIT(src, TRAIT_WAS_RENAMED) || HAS_TRAIT(src, TRAIT_HAS_LABEL)) . += mutable_appearance(icon, "[base_icon_state]_overlay_label") +/obj/structure/fermenting_barrel/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) + if(isnull(held_item)) + context[SCREENTIP_CONTEXT_LMB] = open ? "Close" : "Open" + + if(open && length(contents)) + context[SCREENTIP_CONTEXT_RMB] = "Empty" + + return CONTEXTUAL_SCREENTIP_SET + + if(held_item.tool_behaviour == TOOL_WRENCH) + context[SCREENTIP_CONTEXT_LMB] = anchored ? "Unanchor" : "Anchor" + + else if(open && (istype(held_item, /obj/item/food/grown) || istype(held_item, /obj/item/storage/bag/plants))) + context[SCREENTIP_CONTEXT_LMB] = "Add to barrel" + + return CONTEXTUAL_SCREENTIP_SET + +/obj/structure/fermenting_barrel/dump_contents() + var/atom/drop_point = drop_location() + for(var/obj/item/food/grown/fruit as anything in contents) + fruit.forceMove(drop_point) + /// Adds the fruit to the barrel to queue the fermentation /obj/structure/fermenting_barrel/proc/insert_fruit(mob/user, obj/item/food/grown/fruit, obj/item/storage/bag/plants/bag = null) if(reagents.total_volume + potential_volume > reagents.maximum_volume) diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm index 3b7ddbbd83c..ab38f688990 100644 --- a/code/modules/hydroponics/grown/banana.dm +++ b/code/modules/hydroponics/grown/banana.dm @@ -35,8 +35,7 @@ /obj/item/food/grown/banana/Initialize(mapload) . = ..() if(prob(1)) - AddComponent(/datum/component/boomerang, boomerang_throw_range = throw_range + 4, thrower_easy_catch_enabled = TRUE) - desc += " The curve on this one looks particularly acute." + AddComponent(/datum/component/boomerang, boomerang_throw_range = throw_range + 4, thrower_easy_catch_enabled = TRUE, examine_message = span_green("The curve on this one looks particularly acute.")) ///Clowns will always like bananas. /obj/item/food/grown/banana/proc/check_liked(mob/living/carbon/human/consumer) diff --git a/code/modules/hydroponics/grown/cannabis.dm b/code/modules/hydroponics/grown/cannabis.dm index 4ac0e396b9d..b4cd35899d2 100644 --- a/code/modules/hydroponics/grown/cannabis.dm +++ b/code/modules/hydroponics/grown/cannabis.dm @@ -72,7 +72,7 @@ product = /obj/item/food/grown/cannabis/ultimate genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/glow/green, /datum/plant_gene/trait/modified_volume/omega_weed) mutatelist = null - reagents_add = list(/datum/reagent/drug/thc = 0.3, //SKYRAT EDIT - MORE NARCOTICS - ORIGINAL: reagents_add = list(/datum/reagent/drug/cannabis = 0.3, + reagents_add = list(/datum/reagent/drug/thc = 0.3, //SKYRAT EDIT CHANGE - MORE NARCOTICS - ORIGINAL: reagents_add = list(/datum/reagent/drug/cannabis = 0.3, /datum/reagent/toxin/mindbreaker = 0.3, /datum/reagent/mercury = 0.15, /datum/reagent/lithium = 0.15, @@ -80,7 +80,7 @@ /datum/reagent/drug/methamphetamine = 0.15, /datum/reagent/drug/bath_salts = 0.15, /datum/reagent/drug/krokodil = 0.15, - // /datum/reagent/toxin/lipolicide = 0.15, // SKYRAT REMOVAL - MORE NARCOTICS + // /datum/reagent/toxin/lipolicide = 0.15, // SKYRAT EDIT REMOVAL - MORE NARCOTICS /datum/reagent/drug/nicotine = 0.1, ) rarity = 69 diff --git a/code/modules/hydroponics/grown/cotton.dm b/code/modules/hydroponics/grown/cotton.dm index 9636edff66b..819d97f321f 100644 --- a/code/modules/hydroponics/grown/cotton.dm +++ b/code/modules/hydroponics/grown/cotton.dm @@ -34,27 +34,15 @@ var/cotton_name = "raw cotton" /obj/item/grown/cotton/attack_self(mob/user) - user.show_message(span_notice("You pull some [cotton_name] out of the [name]!"), MSG_VISUAL) - var/seed_modifier = 0 + var/cotton_count = 1 if(seed) - seed_modifier = round(seed.potency / 25) - var/obj/item/stack/cotton = new cotton_type(user.loc, 1 + seed_modifier) - var/old_cotton_amount = cotton.amount - for(var/obj/item/stack/potential_stack in user.loc) - if(QDELETED(potential_stack)) - continue - if(potential_stack == cotton) - continue - if(!istype(potential_stack, cotton_type)) - continue - if(potential_stack.amount >= potential_stack.max_amount) - continue - potential_stack.attackby(cotton, user) + cotton_count += round(seed.potency / 25) - if(cotton.amount > old_cotton_amount) - to_chat(user, span_notice("You add the newly-formed [cotton_name] to the stack. It now contains [cotton.amount] [cotton_name].")) + user.balloon_alert(user, "pulled [cotton_count] piece\s") + new cotton_type(user.drop_location(), cotton_count) qdel(src) + //reinforced mutated variant /obj/item/seeds/cotton/durathread name = "pack of durathread seeds" diff --git a/code/modules/hydroponics/grown/root.dm b/code/modules/hydroponics/grown/root.dm index da2bb3f5d68..c272b1e4484 100644 --- a/code/modules/hydroponics/grown/root.dm +++ b/code/modules/hydroponics/grown/root.dm @@ -13,7 +13,7 @@ growthstages = 3 growing_icon = 'icons/obj/service/hydroponics/growing_vegetables.dmi' mutatelist = list(/obj/item/seeds/carrot/parsnip) - reagents_add = list(/datum/reagent/medicine/oculine = 0.25, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05) + reagents_add = list(/datum/reagent/medicine/oculine = 0.1, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05) /obj/item/food/grown/carrot seed = /obj/item/seeds/carrot diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 1b95c69b7ae..1082b51665f 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -78,33 +78,29 @@ return NONE -/obj/item/grown/log/attackby(obj/item/W, mob/user, params) - if(W.get_sharpness()) - user.show_message(span_notice("You make [plank_name] out of \the [src]!"), MSG_VISUAL) - var/seed_modifier = 0 +/obj/item/grown/log/attackby(obj/item/attacking_item, mob/user, params) + if(attacking_item.get_sharpness()) + var/plank_count = 1 if(seed) - seed_modifier = round(seed.potency / 25) - var/obj/item/stack/plank = new plank_type(user.loc, 1 + seed_modifier, FALSE) - var/old_plank_amount = plank.amount - for (var/obj/item/stack/ST in user.loc) - if (ST != plank && istype(ST, plank_type) && ST.amount < ST.max_amount) - ST.attackby(plank, user) //we try to transfer all old unfinished stacks to the new stack we created. - if (plank.amount > old_plank_amount) - to_chat(user, span_notice("You add the newly-formed [plank_name] to the stack. It now contains [plank.amount] [plank_name].")) - qdel(src) + plank_count += round(seed.potency / 25) - if(CheckAccepted(W)) - var/obj/item/food/grown/leaf = W + user.balloon_alert(user, "made [plank_count] [plank_name]") + new plank_type(user.loc, plank_count) + qdel(src) + return + + if(CheckAccepted(attacking_item)) + var/obj/item/food/grown/leaf = attacking_item if(HAS_TRAIT(leaf, TRAIT_DRIED)) - user.show_message(span_notice("You wrap \the [W] around the log, turning it into a torch!")) - var/obj/item/flashlight/flare/torch/T = new /obj/item/flashlight/flare/torch(user.loc) - usr.dropItemToGround(W) - usr.put_in_active_hand(T) + user.balloon_alert(user, "torch crafted") + var/obj/item/flashlight/flare/torch/new_torch = new /obj/item/flashlight/flare/torch(user.loc) + user.dropItemToGround(attacking_item) + user.put_in_active_hand(new_torch) qdel(leaf) qdel(src) return else - to_chat(usr, span_warning("You must dry this first!")) + balloon_alert(user, "dry it first!") else return ..() diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index fb16d8428c9..80f02328008 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -1,5 +1,5 @@ // Plant analyzer -/obj/item/plant_analyzer//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/item/plant_analyzer//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "plant analyzer" desc = "A scanner used to evaluate a plant's various areas of growth, and genetic traits. Comes with a growth scanning mode and a chemical scanning mode." icon = 'icons/obj/devices/scanner.dmi' diff --git a/code/modules/jobs/job_types/ai.dm b/code/modules/jobs/job_types/ai.dm index 23af1723f6f..9a04d6b6096 100644 --- a/code/modules/jobs/job_types/ai.dm +++ b/code/modules/jobs/job_types/ai.dm @@ -25,13 +25,13 @@ /datum/job/ai/after_spawn(mob/living/spawned, client/player_client) . = ..() - /* SKYRAT REMOVAL START + /* SKYRAT EDIT REMOVAL START //we may have been created after our borg if(SSticker.current_state == GAME_STATE_SETTING_UP) for(var/mob/living/silicon/robot/R in GLOB.silicon_mobs) if(!R.connected_ai) R.TryConnectToAI() - */ //SKYRAT REMOVAL END + */ // SKYRAT EDIT REMOVAL END var/mob/living/silicon/ai/ai_spawn = spawned ai_spawn.log_current_laws() // SKYRAT EDIT ADDITION START diff --git a/code/modules/jobs/job_types/antagonists/sentient_disease.dm b/code/modules/jobs/job_types/antagonists/sentient_disease.dm deleted file mode 100644 index 4c91ae4ffa1..00000000000 --- a/code/modules/jobs/job_types/antagonists/sentient_disease.dm +++ /dev/null @@ -1,2 +0,0 @@ -/datum/job/sentient_disease - title = ROLE_SENTIENT_DISEASE diff --git a/code/modules/jobs/job_types/chief_medical_officer.dm b/code/modules/jobs/job_types/chief_medical_officer.dm index e20ef7c19ed..3f580b8e932 100644 --- a/code/modules/jobs/job_types/chief_medical_officer.dm +++ b/code/modules/jobs/job_types/chief_medical_officer.dm @@ -56,7 +56,7 @@ id = /obj/item/card/id/advanced/silver id_trim = /datum/id_trim/job/chief_medical_officer - uniform = /obj/item/clothing/under/rank/medical/chief_medical_officer/scrubs + uniform = /obj/item/clothing/under/rank/medical/chief_medical_officer suit = /obj/item/clothing/suit/toggle/labcoat/cmo suit_store = /obj/item/flashlight/pen/paramedic backpack_contents = list( @@ -64,7 +64,6 @@ ) belt = /obj/item/modular_computer/pda/heads/cmo ears = /obj/item/radio/headset/heads/cmo - head = /obj/item/clothing/head/utility/surgerycap/cmo shoes = /obj/item/clothing/shoes/sneakers/blue l_pocket = /obj/item/laser_pointer/blue r_pocket = /obj/item/pinpointer/crew diff --git a/code/modules/jobs/job_types/medical_doctor.dm b/code/modules/jobs/job_types/medical_doctor.dm index a0f2971df23..ccfcbae1623 100644 --- a/code/modules/jobs/job_types/medical_doctor.dm +++ b/code/modules/jobs/job_types/medical_doctor.dm @@ -44,12 +44,11 @@ jobtype = /datum/job/doctor id_trim = /datum/id_trim/job/medical_doctor - uniform = /obj/item/clothing/under/rank/medical/scrubs/blue + uniform = /obj/item/clothing/under/rank/medical/doctor suit = /obj/item/clothing/suit/toggle/labcoat suit_store = /obj/item/flashlight/pen belt = /obj/item/modular_computer/pda/medical ears = /obj/item/radio/headset/headset_med - head = /obj/item/clothing/head/utility/surgerycap shoes = /obj/item/clothing/shoes/sneakers/white l_hand = /obj/item/storage/medkit/surgery diff --git a/code/modules/jobs/job_types/station_trait/human_ai.dm b/code/modules/jobs/job_types/station_trait/human_ai.dm index af80df69fe8..2b13e1adae8 100644 --- a/code/modules/jobs/job_types/station_trait/human_ai.dm +++ b/code/modules/jobs/job_types/station_trait/human_ai.dm @@ -83,7 +83,7 @@ /datum/job/human_ai/announce_job(mob/living/joining_mob) . = ..() if(SSticker.HasRoundStarted()) - minor_announce("Due to a research mishaps, [joining_mob] has been sent to be your replacement AI at [AREACOORD(joining_mob)]. Please treat them with respect.") + minor_announce("Due to a research mishap, [joining_mob] has been sent to be your replacement AI at [AREACOORD(joining_mob)]. Please treat them with respect.") /datum/job/human_ai/get_radio_information() return "Prefix your message with :b to speak with cyborgs." diff --git a/code/modules/library/skill_learning/generic_skillchips/rod_suplex.dm b/code/modules/library/skill_learning/generic_skillchips/rod_suplex.dm index b889073909d..bff83423be7 100644 --- a/code/modules/library/skill_learning/generic_skillchips/rod_suplex.dm +++ b/code/modules/library/skill_learning/generic_skillchips/rod_suplex.dm @@ -1,12 +1,12 @@ /obj/item/skillchip/research_director name = "R.D.S.P.L.X. skillchip" desc = "Knowledge of how to solve the ancient conumdrum; what happens when an unstoppable force meets an immovable object." - auto_traits = list(TRAIT_ROD_SUPLEX) + auto_traits = list(TRAIT_ROD_SUPLEX, TRAIT_STRENGTH) skill_name = "True Strength" skill_description = "The knowledge and strength to resolve the most ancient conumdrum; what happens when an unstoppable force meets an immovable object." skill_icon = "dumbbell" - activate_message = "You realise if you apply the correct force, at the correct angle, it is possible to make the immovable permanently movable." - deactivate_message = "You forget how to permanently anchor a paradoxical object." + activate_message = "You realise if you apply the correct force, at the correct angle, it is possible to make the immovable permanently movable. And... damn, you look huge." + deactivate_message = "You forget how to permanently anchor a paradoxical object. Also, you should really hit the gym..." chip_category = SKILLCHIP_CATEGORY_GENERAL skillchip_flags = NONE slot_use = 1 diff --git a/code/modules/lootpanel/_lootpanel.dm b/code/modules/lootpanel/_lootpanel.dm index 339a79d77fa..45862ebf455 100644 --- a/code/modules/lootpanel/_lootpanel.dm +++ b/code/modules/lootpanel/_lootpanel.dm @@ -49,6 +49,7 @@ var/list/data = list() data["contents"] = get_contents() + data["is_blind"] = !!user.is_blind() data["searching"] = length(to_image) return data diff --git a/code/modules/mapfluff/ruins/objects_and_mobs/ash_walker_den.dm b/code/modules/mapfluff/ruins/objects_and_mobs/ash_walker_den.dm index 4bfcd97e464..21c96f0aeaa 100644 --- a/code/modules/mapfluff/ruins/objects_and_mobs/ash_walker_den.dm +++ b/code/modules/mapfluff/ruins/objects_and_mobs/ash_walker_den.dm @@ -44,7 +44,6 @@ consume() spawn_mob() -//PLEASE VIEW SKYRAT ASHWALKER MODULE FOR OVERRIDE /obj/structure/lavaland/ash_walker/proc/consume() for(var/mob/living/offeredmob in view(src, 1)) //Only for corpse right next to/on same tile if(offeredmob.loc == src) @@ -93,7 +92,6 @@ L.add_mood_event("oogabooga", /datum/mood_event/sacrifice_bad) ashies.sacrifices_made++ -// SKYRAT EDIT ADDITION - PLEASE VIEW SKYRAT ASHWALKER MODULE FOR REPLACEMENT /obj/structure/lavaland/ash_walker/proc/remake_walker(mob/living/carbon/oldmob) var/mob/living/carbon/human/newwalker = new /mob/living/carbon/human(get_step(loc, pick(GLOB.alldirs))) newwalker.set_species(/datum/species/lizard/ashwalker) diff --git a/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm index c699b25666e..a523f374c4d 100644 --- a/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm +++ b/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm @@ -321,6 +321,15 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) explosive_resistance = INFINITY var/obj/item/hilbertshotel/parentSphere +/turf/closed/indestructible/hoteldoor/Initialize(mapload) + . = ..() + register_context() + +/turf/closed/indestructible/hoteldoor/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + context[SCREENTIP_CONTEXT_ALT_LMB] = "Peek through" + return CONTEXTUAL_SCREENTIP_SET + /turf/closed/indestructible/hoteldoor/proc/promptExit(mob/living/user) if(!isliving(user)) return @@ -364,6 +373,10 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) promptExit(user) /turf/closed/indestructible/hoteldoor/click_alt(mob/user) + if(user.is_blind()) + to_chat(user, span_warning("Drats! Your vision is too poor to use this!")) + return CLICK_ACTION_BLOCKING + to_chat(user, span_notice("You peak through the door's bluespace peephole...")) user.reset_perspective(parentSphere) var/datum/action/peephole_cancel/PHC = new diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index a2ffa244679..456d3073c0b 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -586,6 +586,15 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) var/turf/T = get_turf(src) T.turf_flags |= NO_LAVA_GEN +INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_atoms_ontop) +/obj/effect/mapping_helpers/no_atoms_ontop + icon_state = "no_atoms_ontop" + +/obj/effect/mapping_helpers/no_atoms_ontop/Initialize(mapload) + . = ..() + var/turf/loc_turf = get_turf(src) + loc_turf.turf_flags |= TURF_BLOCKS_POPULATE_TERRAIN_FLORAFEATURES + ///Helpers used for injecting stuff into atoms on the map. /obj/effect/mapping_helpers/atom_injector name = "Atom Injector" diff --git a/code/modules/meteors/meteor_types.dm b/code/modules/meteors/meteor_types.dm index 120352f14c5..9096ab24afe 100644 --- a/code/modules/meteors/meteor_types.dm +++ b/code/modules/meteors/meteor_types.dm @@ -150,7 +150,7 @@ * Admin spawned meteors will not grant the user an achievement. * * Arguments: - * * user - the person who will be recieving the examine award. + * * user - the person who will be receiving the examine award. */ /obj/effect/meteor/proc/check_examine_award(mob/user) diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index c323fd822ad..4711a3c05cc 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -1,3 +1,4 @@ +/* SKYRAT EDIT START - OVERRIDEN IN modular_skyrat/master_files/code/modules/mining/equipment/kinetic_crusher.dm /** * Kinetic Crusher * @@ -235,6 +236,8 @@ new /obj/effect/temp_visual/kinetic_blast(hit_mineral) hit_mineral.gets_drilled(firer) return ..() +*/ +//SKYRAT EDIT END //trophies /obj/item/crusher_trophy @@ -252,6 +255,8 @@ /obj/item/crusher_trophy/proc/effect_desc() return "errors" +//SKYRAT EDIT START - OVERRIDEN IN modular_skyrat/master_files/code/modules/mining/equipment/kinetic_crusher.dm +/* /obj/item/crusher_trophy/attackby(obj/item/A, mob/living/user) if(istype(A, /obj/item/kinetic_crusher)) add_to(A, user) @@ -272,6 +277,8 @@ /obj/item/crusher_trophy/proc/remove_from(obj/item/kinetic_crusher/crusher, mob/living/user) forceMove(get_turf(crusher)) return TRUE +*/ +//SKYRAT EDIT END /obj/item/crusher_trophy/proc/on_melee_hit(mob/living/target, mob/living/user) //the target and the user /obj/item/crusher_trophy/proc/on_projectile_fire(obj/projectile/destabilizer/marker, mob/living/user) //the projectile fired and the user @@ -333,6 +340,8 @@ /obj/item/crusher_trophy/legion_skull/effect_desc() return "a kinetic crusher to recharge [bonus_value*0.1] second\s faster" +//SKYRAT EDIT START - OVERRIDEN IN modular_skyrat/master_files/code/modules/mining/equipment/kinetic_crusher.dm +/* /obj/item/crusher_trophy/legion_skull/add_to(obj/item/kinetic_crusher/H, mob/living/user) . = ..() if(.) @@ -342,6 +351,8 @@ . = ..() if(.) H.charge_time += bonus_value +*/ +//SKYRAT EDIT END //blood-drunk hunter /obj/item/crusher_trophy/miner_eye @@ -391,6 +402,9 @@ /obj/item/crusher_trophy/demon_claws/effect_desc() return "melee hits to do [bonus_value * 0.2] more damage and heal you for [bonus_value * 0.1], with 5X effect on mark detonation" + +//SKYRAT EDIT START - OVERRIDEN IN modular_skyrat/master_files/code/modules/mining/equipment/kinetic_crusher.dm +/* /obj/item/crusher_trophy/demon_claws/add_to(obj/item/kinetic_crusher/H, mob/living/user) . = ..() if(.) @@ -404,6 +418,8 @@ H.force -= bonus_value * 0.2 H.detonation_damage -= bonus_value * 0.8 AddComponent(/datum/component/two_handed, force_wielded=20) +*/ +//SKYRAT EDIT END /obj/item/crusher_trophy/demon_claws/on_melee_hit(mob/living/target, mob/living/user) user.heal_ordered_damage(bonus_value * 0.1, damage_heal_order) diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm index 006c920d4b9..035bbb24fc4 100644 --- a/code/modules/mining/fulton.dm +++ b/code/modules/mining/fulton.dm @@ -78,6 +78,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) if(!isturf(thing.loc)) // no extracting stuff inside other stuff return if(thing.anchored || (thing.move_resist > max_force_fulton)) + balloon_alert(user, "too heavy!") return balloon_alert_to_viewers("attaching...") diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm index 8b82d4b7d77..cd5a60a22f2 100644 --- a/code/modules/mining/laborcamp/laborstacker.dm +++ b/code/modules/mining/laborcamp/laborstacker.dm @@ -109,7 +109,7 @@ var/datum/record/crew/target = find_record(user_mob.real_name) target?.wanted_status = WANTED_PAROLE - security_radio.talk_into(src, "/p [user_mob.name] returned to the station. Minerals and Prisoner ID card ready for retrieval.", FREQ_SECURITY) + security_radio.talk_into(src, "[user_mob.name] returned to the station. Minerals and Prisoner ID card ready for retrieval.", FREQ_SECURITY) user_mob.log_message("has completed their labor points goal and is now sending the gulag shuttle back to the station.", LOG_GAME) to_chat(user_mob, span_notice("Shuttle received message and will be sent shortly.")) return TRUE diff --git a/code/modules/mob/camera/camera.dm b/code/modules/mob/camera/camera.dm index c9d44aa2973..b4ddc8cd9c8 100644 --- a/code/modules/mob/camera/camera.dm +++ b/code/modules/mob/camera/camera.dm @@ -8,13 +8,16 @@ mouse_opacity = MOUSE_OPACITY_TRANSPARENT invisibility = INVISIBILITY_ABSTRACT // No one can see us sight = SEE_SELF - move_on_shuttle = FALSE + /// Toggles if the camera can move on shuttles + var/move_on_shuttle = FALSE /// Toggles if the camera can use emotes var/has_emotes = FALSE /mob/camera/Initialize(mapload) . = ..() SSpoints_of_interest.make_point_of_interest(src) + if(!move_on_shuttle) + ADD_TRAIT(src, TRAIT_BLOCK_SHUTTLE_MOVEMENT, INNATE_TRAIT) /mob/camera/experience_pressure_difference() return diff --git a/code/modules/mob/living/basic/jungle/venus_human_trap.dm b/code/modules/mob/living/basic/jungle/venus_human_trap.dm index 6c0a6e2f9db..ec375283fce 100644 --- a/code/modules/mob/living/basic/jungle/venus_human_trap.dm +++ b/code/modules/mob/living/basic/jungle/venus_human_trap.dm @@ -216,15 +216,19 @@ QDEL_LIST(vines) return ..() -/datum/action/cooldown/mob_cooldown/projectile_attack/vine_tangle/Activate(atom/target_atom) - if(isturf(target_atom) || istype(target_atom, /obj/structure/spacevine)) +/datum/action/cooldown/mob_cooldown/projectile_attack/vine_tangle/Activate(atom/movable/target_atom) + if(!ismovable(target_atom) || istype(target_atom, /obj/structure/spacevine)) + return + if(target_atom.anchored) + owner.balloon_alert(owner, "can't pull!") return if(get_dist(owner, target_atom) > vine_grab_distance) owner.balloon_alert(owner, "too far!") return - for(var/turf/blockage in get_line(owner, target_atom)) + var/list/target_turfs = get_line(owner, target_atom) - list(get_turf(owner), get_turf(target_atom)) + for(var/turf/blockage in target_turfs) if(blockage.is_blocked_turf(exclude_mobs = TRUE)) - owner.balloon_alert(owner, "something's in the way!") + owner.balloon_alert(owner, "path blocked!") return var/datum/beam/new_vine = owner.Beam(target_atom, icon_state = "vine", time = vine_duration * (ismob(target_atom) ? 1 : 2), beam_type = /obj/effect/ebeam/vine, emissive = FALSE) diff --git a/code/modules/mob/living/basic/lavaland/goliath/goliath_trophy.dm b/code/modules/mob/living/basic/lavaland/goliath/goliath_trophy.dm index a4801569cea..1eff38de7f2 100644 --- a/code/modules/mob/living/basic/lavaland/goliath/goliath_trophy.dm +++ b/code/modules/mob/living/basic/lavaland/goliath/goliath_trophy.dm @@ -22,4 +22,10 @@ missing_health *= missing_health_ratio //bonus is active at all times, even if you're above 90 health missing_health *= bonus_value //multiply the remaining amount by bonus_value if(missing_health > 0) + +//SKYRAT EDIT START +/* target.adjustBruteLoss(missing_health) //and do that much damage +*/ + target.adjustBruteLoss(missing_health, FALSE) //and do that much damage +//SKYRAT EDIT END diff --git a/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm b/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm index 96c7319380a..e2f4923e7f9 100644 --- a/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm +++ b/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm @@ -38,6 +38,7 @@ AddElement(/datum/element/simple_flying) AddComponent(/datum/component/swarming) AddComponent(/datum/component/clickbox, icon_state = "sphere", max_scale = 2) + AddComponent(/datum/component/basic_mob_attack_telegraph) addtimer(CALLBACK(src, PROC_REF(death)), 10 SECONDS) /mob/living/basic/legion_brood/death(gibbed) diff --git a/code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm b/code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm index 55c1e6426b3..3f678da6910 100644 --- a/code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm +++ b/code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm @@ -7,6 +7,7 @@ icon_state = "legion_remains" zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_PARASITE_EGG + organ_flags = ORGAN_ORGANIC | ORGAN_EDIBLE | ORGAN_VIRGIN | ORGAN_PROMINENT decay_factor = STANDARD_ORGAN_DECAY * 3 // About 5 minutes outside of a host /// What stage of growth the corruption has reached. var/stage = 0 @@ -55,6 +56,10 @@ stage = 0 elapsed_time = 0 +/obj/item/organ/internal/legion_tumour/on_mob_insert(mob/living/carbon/organ_owner, special, movement_flags) + . = ..() + owner.log_message("has received [src] which will eventually turn them into a Legion.", LOG_VICTIM) + /obj/item/organ/internal/legion_tumour/attack(mob/living/target, mob/living/user, params) if (try_apply(target, user)) qdel(src) @@ -79,6 +84,7 @@ if (!ishuman(target)) return FALSE + log_combat(user, target, "used a Legion Tumour on", src, "as they are in crit, this will turn them into a Legion.") target.visible_message(span_boldwarning("[user] splatters [target] with [src]... and it springs into horrible life!")) var/mob/living/basic/legion_brood/skull = new(target.loc) skull.melee_attack(target) @@ -143,6 +149,7 @@ /obj/item/organ/internal/legion_tumour/proc/infest() if (QDELETED(src) || QDELETED(owner)) return + owner.log_message("has been turned into a Legion by their tumour.", LOG_VICTIM) owner.visible_message(span_boldwarning("Black tendrils burst from [owner]'s flesh, covering them in amorphous flesh!")) var/mob/living/basic/mining/legion/new_legion = new spawn_type(owner.loc) new_legion.consume(owner) diff --git a/code/modules/mob/living/basic/lavaland/legion/spawn_legions.dm b/code/modules/mob/living/basic/lavaland/legion/spawn_legions.dm index bd9b2c2aff9..81691ff9135 100644 --- a/code/modules/mob/living/basic/lavaland/legion/spawn_legions.dm +++ b/code/modules/mob/living/basic/lavaland/legion/spawn_legions.dm @@ -7,7 +7,7 @@ background_icon_state = "bg_demon" overlay_icon_state = "bg_demon_border" click_to_activate = TRUE - cooldown_time = 2 SECONDS + cooldown_time = 4 SECONDS melee_cooldown_time = 0 shared_cooldown = NONE /// If a mob is not clicked directly, inherit targeting data from this blackboard key and setting it upon this target key @@ -17,6 +17,15 @@ /// How far can we fire? var/max_range = 7 +/datum/action/cooldown/mob_cooldown/skull_launcher/IsAvailable(feedback) + . = ..() + if (!.) + return + if (!isturf(owner.loc)) + owner.balloon_alert(owner, "no room!") + return FALSE + return TRUE + /datum/action/cooldown/mob_cooldown/skull_launcher/Activate(atom/target) var/turf/target_turf = get_turf(target) diff --git a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm index 88127b56cb6..56994542b75 100644 --- a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm +++ b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm @@ -29,10 +29,17 @@ /// Charging ability var/datum/action/cooldown/mob_cooldown/charge/basic_charge/lobster/charge /// Things we will eat if we see them (arms, chiefly) - var/static/list/target_foods = list(/obj/item/bodypart/arm) + var/static/list/target_foods = list(/obj/item/bodypart/arm, /obj/item/fish/lavaloop) /mob/living/basic/mining/lobstrosity/Initialize(mapload) . = ..() + var/static/list/food_types = list(/obj/item/fish/lavaloop) + ai_controller.set_blackboard_key(BB_BASIC_FOODS, typecacheof(food_types)) + var/static/list/fishing_preset = list( + /turf/open/lava = /datum/fish_source/lavaland, + /turf/open/lava/plasma = /datum/fish_source/lavaland/icemoon, + ) + AddComponent(/datum/component/profound_fisher, npc_fishing_preset = fishing_preset) AddElement(/datum/element/mob_grabber) AddElement(/datum/element/footstep, FOOTSTEP_MOB_CLAW) AddElement(/datum/element/basic_eating, food_types = target_foods) diff --git a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.dm b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.dm index c8e294f3e06..fb0ba437bf4 100644 --- a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.dm +++ b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.dm @@ -1,10 +1,11 @@ /datum/ai_controller/basic_controller/lobstrosity blackboard = list( - BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items, BB_TARGET_MINIMUM_STAT = HARD_CRIT, BB_LOBSTROSITY_EXPLOIT_TRAITS = list(TRAIT_INCAPACITATED, TRAIT_FLOORED, TRAIT_IMMOBILIZED, TRAIT_KNOCKEDOUT), BB_LOBSTROSITY_FINGER_LUST = 0 ) + ai_traits = PAUSE_DURING_DO_AFTER ai_movement = /datum/ai_movement/basic_avoidance idle_behavior = /datum/idle_behavior/idle_random_walk @@ -16,13 +17,22 @@ /datum/ai_planning_subtree/flee_target/lobster, /datum/ai_planning_subtree/attack_obstacle_in_path, /datum/ai_planning_subtree/basic_melee_attack_subtree/lobster, + /datum/ai_planning_subtree/find_food, + /datum/ai_planning_subtree/find_and_hunt_target/lobster_fishing, /datum/ai_planning_subtree/find_fingers, ) +/datum/ai_planning_subtree/find_and_hunt_target/lobster_fishing + target_key = BB_FISHING_TARGET + hunt_targets = list(/turf/open/lava) + hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/reset_target + /datum/ai_planning_subtree/basic_melee_attack_subtree/lobster melee_attack_behavior = /datum/ai_behavior/basic_melee_attack/lobster /datum/ai_planning_subtree/basic_melee_attack_subtree/lobster/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + if(!isliving(controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET])) + return ..() if (!controller.blackboard[BB_BASIC_MOB_STOP_FLEEING]) return if (!isnull(controller.blackboard[BB_LOBSTROSITY_TARGET_LIMB])) @@ -36,7 +46,7 @@ /datum/ai_behavior/basic_melee_attack/lobster/perform(seconds_per_tick, datum/ai_controller/controller, target_key, targeting_strategy_key, hiding_location_key) var/mob/living/target = controller.blackboard[target_key] - if (isnull(target)) + if (isnull(target) || !istype(target)) return ..() var/is_vulnerable = FALSE for (var/trait in controller.blackboard[BB_LOBSTROSITY_EXPLOIT_TRAITS]) diff --git a/code/modules/mob/living/basic/lavaland/node_drone/node_drone.dm b/code/modules/mob/living/basic/lavaland/node_drone/node_drone.dm index d85ad69682c..b149c6d0972 100644 --- a/code/modules/mob/living/basic/lavaland/node_drone/node_drone.dm +++ b/code/modules/mob/living/basic/lavaland/node_drone/node_drone.dm @@ -17,8 +17,8 @@ icon_living = "mining_node_active" icon_dead = "mining_node_active" - maxHealth = 500 - health = 500 + maxHealth = 300 // We adjust the max health based on the vent size in the arrive() proc. + health = 300 density = TRUE pass_flags = PASSTABLE|PASSGRILLE|PASSMOB mob_size = MOB_SIZE_LARGE @@ -26,7 +26,9 @@ faction = list(FACTION_STATION, FACTION_NEUTRAL) light_range = 4 basic_mob_flags = DEL_ON_DEATH - + move_force = MOVE_FORCE_VERY_STRONG + move_resist = MOVE_FORCE_VERY_STRONG + pull_force = MOVE_FORCE_VERY_STRONG speak_emote = list("chirps") response_help_continuous = "pets" response_help_simple = "pet" @@ -74,6 +76,8 @@ /mob/living/basic/node_drone/proc/arrive(obj/structure/ore_vent/parent_vent) attached_vent = parent_vent + maxHealth = 300 + ((attached_vent.boulder_size/BOULDER_SIZE_SMALL) * 100) + health = maxHealth flying_state = FLY_IN_STATE update_appearance(UPDATE_ICON_STATE) pixel_z = 400 @@ -83,14 +87,17 @@ /** * Called when wave defense is completed. Visually flicks the escape sprite and then deletes the mob. */ -/mob/living/basic/node_drone/proc/escape() +/mob/living/basic/node_drone/proc/escape(success) var/funny_ending = FALSE flying_state = FLY_OUT_STATE update_appearance(UPDATE_ICON_STATE) if(prob(1)) say("I have to go now, my planet needs me.") funny_ending = TRUE - visible_message(span_notice("The drone flies away to safety as the vent is secured.")) + if(success) + visible_message(span_notice("The drone flies away to safety as the vent is secured.")) + else + visible_message(span_danger("The drone flies away after failing to open the vent!")) animate(src, pixel_z = 400, time = 2 SECONDS, easing = QUAD_EASING|EASE_IN, flags = ANIMATION_PARALLEL) sleep(2 SECONDS) if(funny_ending) @@ -99,14 +106,15 @@ qdel(src) -/mob/living/basic/node_drone/proc/pre_escape() +/mob/living/basic/node_drone/proc/pre_escape(success = TRUE) + if(buckled) + buckled.unbuckle_mob(src) if(attached_vent) - attached_vent.unbuckle_mob(src) attached_vent = null if(!escaping) escaping = TRUE flick("mining_node_escape", src) - addtimer(CALLBACK(src, PROC_REF(escape)), 1.9 SECONDS) + addtimer(CALLBACK(src, PROC_REF(escape), success), 1.9 SECONDS) return /// The node drone AI controller diff --git a/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm b/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm index 78c4e9c61ea..d2b282f5b62 100644 --- a/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm +++ b/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm @@ -1,10 +1,10 @@ GLOBAL_LIST_INIT(raptor_growth_paths, list( - /mob/living/basic/mining/raptor/baby_raptor/red = list(RAPTOR_PURPLE, RAPTOR_WHITE), - /mob/living/basic/mining/raptor/baby_raptor/white = list(RAPTOR_GREEN, RAPTOR_PURPLE), - /mob/living/basic/mining/raptor/baby_raptor/purple = list(RAPTOR_GREEN, RAPTOR_WHITE), - /mob/living/basic/mining/raptor/baby_raptor/yellow = list(RAPTOR_GREEN, RAPTOR_RED), - /mob/living/basic/mining/raptor/baby_raptor/green = list(RAPTOR_RED, RAPTOR_YELLOW), - /mob/living/basic/mining/raptor/baby_raptor/blue = list(RAPTOR_RED, RAPTOR_PURPLE) + /mob/living/basic/raptor/baby_raptor/red = list(RAPTOR_PURPLE, RAPTOR_WHITE), + /mob/living/basic/raptor/baby_raptor/white = list(RAPTOR_GREEN, RAPTOR_PURPLE), + /mob/living/basic/raptor/baby_raptor/purple = list(RAPTOR_GREEN, RAPTOR_WHITE), + /mob/living/basic/raptor/baby_raptor/yellow = list(RAPTOR_GREEN, RAPTOR_RED), + /mob/living/basic/raptor/baby_raptor/green = list(RAPTOR_RED, RAPTOR_YELLOW), + /mob/living/basic/raptor/baby_raptor/blue = list(RAPTOR_RED, RAPTOR_PURPLE) )) GLOBAL_LIST_INIT(raptor_inherit_traits, list( @@ -19,17 +19,21 @@ GLOBAL_LIST_EMPTY(raptor_population) #define HAPPINESS_BOOST_DAMPENER 0.3 -/mob/living/basic/mining/raptor +/mob/living/basic/raptor name = "raptor" - desc = "A trusty powerful stead. Taming it might prove difficult..." + desc = "A trusty, powerful steed. Taming it might prove difficult..." icon = 'icons/mob/simple/lavaland/raptor_big.dmi' speed = 2 mob_biotypes = MOB_ORGANIC|MOB_BEAST - maxHealth = 400 - health = 400 + maxHealth = 270 + health = 270 melee_damage_lower = 10 melee_damage_upper = 15 - sentience_type = SENTIENCE_BOSS + combat_mode = TRUE + mob_size = MOB_SIZE_LARGE + unsuitable_atmos_damage = 0 + minimum_survivable_temperature = BODYTEMP_COLD_ICEBOX_SAFE + maximum_survivable_temperature = INFINITY attack_verb_continuous = "pecks" attack_verb_simple = "chomps" attack_sound = 'sound/weapons/punch1.ogg' @@ -60,12 +64,14 @@ GLOBAL_LIST_EMPTY(raptor_population) var/child_path -/mob/living/basic/mining/raptor/Initialize(mapload) +/mob/living/basic/raptor/Initialize(mapload) . = ..() if(SSmapping.is_planetary()) change_offsets = FALSE icon = 'icons/mob/simple/lavaland/raptor_icebox.dmi' + add_traits(list(TRAIT_LAVA_IMMUNE, TRAIT_ASHSTORM_IMMUNE, TRAIT_SNOWSTORM_IMMUNE), INNATE_TRAIT) + if(!mapload) GLOB.raptor_population += REF(src) AddComponent(/datum/component/obeys_commands, pet_commands) @@ -103,7 +109,7 @@ GLOBAL_LIST_EMPTY(raptor_population) if(can_breed) AddComponent(\ /datum/component/breed,\ - can_breed_with = typecacheof(list(/mob/living/basic/mining/raptor)),\ + can_breed_with = typecacheof(list(/mob/living/basic/raptor)),\ baby_path = /obj/item/food/egg/raptor_egg,\ post_birth = CALLBACK(src, PROC_REF(egg_inherit)),\ breed_timer = 3 MINUTES,\ @@ -114,12 +120,12 @@ GLOBAL_LIST_EMPTY(raptor_population) add_happiness_component() -/mob/living/basic/mining/raptor/buckle_mob(mob/living/target, force = FALSE, check_loc = TRUE, buckle_mob_flags= NONE) +/mob/living/basic/raptor/buckle_mob(mob/living/target, force = FALSE, check_loc = TRUE, buckle_mob_flags= NONE) if(!iscarbon(target)) return return ..() -/mob/living/basic/mining/raptor/proc/add_happiness_component() +/mob/living/basic/raptor/proc/add_happiness_component() var/static/list/percentage_callbacks = list(0, 15, 25, 35, 50, 75, 90, 100) AddComponent(\ /datum/component/happiness,\ @@ -130,18 +136,18 @@ GLOBAL_LIST_EMPTY(raptor_population) happiness_callback = CALLBACK(src, PROC_REF(happiness_change)),\ ) -/mob/living/basic/mining/raptor/proc/on_dir_change(datum/source, old_dir, new_dir) +/mob/living/basic/raptor/proc/on_dir_change(datum/source, old_dir, new_dir) SIGNAL_HANDLER adjust_offsets(new_dir) -/mob/living/basic/mining/raptor/proc/adjust_offsets(direction) +/mob/living/basic/raptor/proc/adjust_offsets(direction) if(!change_offsets) return pixel_x = (direction & EAST) ? -20 : 0 pixel_y = (direction & NORTH) ? -5 : 0 -/mob/living/basic/mining/raptor/proc/pre_attack(mob/living/puncher, atom/target) +/mob/living/basic/raptor/proc/pre_attack(mob/living/puncher, atom/target) SIGNAL_HANDLER if(!istype(target, /obj/structure/ore_container/food_trough/raptor_trough)) @@ -155,30 +161,30 @@ GLOBAL_LIST_EMPTY(raptor_population) INVOKE_ASYNC(src, PROC_REF(melee_attack), ore_food) return COMPONENT_HOSTILE_NO_ATTACK -/mob/living/basic/mining/raptor/melee_attack(mob/living/target, list/modifiers, ignore_cooldown) - if(!combat_mode && istype(target, /mob/living/basic/mining/raptor/baby_raptor)) +/mob/living/basic/raptor/melee_attack(mob/living/target, list/modifiers, ignore_cooldown) + if(!combat_mode && istype(target, /mob/living/basic/raptor/baby_raptor)) target.attack_hand(src, list(LEFT_CLICK = TRUE)) return return ..() -/mob/living/basic/mining/raptor/death(gibbed) +/mob/living/basic/raptor/death(gibbed) . = ..() GLOB.raptor_population -= REF(src) -/mob/living/basic/mining/raptor/proc/happiness_change(percent_value) +/mob/living/basic/raptor/proc/happiness_change(percent_value) var/attack_boost = round(initial(melee_damage_lower) * percent_value * HAPPINESS_BOOST_DAMPENER, 1) melee_damage_lower = initial(melee_damage_lower) + attack_boost melee_damage_upper = melee_damage_lower + 5 ///pass down our inheritance to the egg -/mob/living/basic/mining/raptor/proc/egg_inherit(obj/item/food/egg/raptor_egg/baby_egg, mob/living/basic/mining/raptor/partner) +/mob/living/basic/raptor/proc/egg_inherit(obj/item/food/egg/raptor_egg/baby_egg, mob/living/basic/raptor/partner) var/datum/raptor_inheritance/inherit = new inherit.set_parents(inherited_stats, partner.inherited_stats) baby_egg.inherited_stats = inherit baby_egg.determine_growth_path(src, partner) -/mob/living/basic/mining/raptor/proc/inherit_properties() +/mob/living/basic/raptor/proc/inherit_properties() if(isnull(inherited_stats)) return for(var/trait in GLOB.raptor_inherit_traits) // done this way to allow overriding of traits when assigned new inherit datum @@ -189,11 +195,11 @@ GLOBAL_LIST_EMPTY(raptor_population) maxHealth += inherited_stats.health_modifier heal_overall_damage(maxHealth) -/mob/living/basic/mining/raptor/Destroy() +/mob/living/basic/raptor/Destroy() QDEL_NULL(inherited_stats) return ..() -/mob/living/basic/mining/raptor/red +/mob/living/basic/raptor/red name = "red raptor" icon_state = "raptor_red" icon_living = "raptor_red" @@ -202,19 +208,19 @@ GLOBAL_LIST_EMPTY(raptor_population) melee_damage_upper = 20 raptor_color = RAPTOR_RED dex_description = "A resilient breed of raptors, battle-tested and bred for the purpose of humbling its foes in combat, \ - This breed demonstrates higher combat capabilities than its peers and oozes rutheless aggression." - child_path = /mob/living/basic/mining/raptor/baby_raptor/red + This breed demonstrates higher combat capabilities than its peers and oozes ruthless aggression." + child_path = /mob/living/basic/raptor/baby_raptor/red -/mob/living/basic/mining/raptor/purple +/mob/living/basic/raptor/purple name = "purple raptor" icon_state = "raptor_purple" icon_living = "raptor_purple" icon_dead = "raptor_purple_dead" raptor_color = RAPTOR_PURPLE dex_description = "A dependable mount, bred for the purpose of long distance pilgrimages. This breed is also able to store its rider's possessions." - child_path = /mob/living/basic/mining/raptor/baby_raptor/purple + child_path = /mob/living/basic/raptor/baby_raptor/purple -/mob/living/basic/mining/raptor/purple/Initialize(mapload) +/mob/living/basic/raptor/purple/Initialize(mapload) . = ..() create_storage( max_specific_storage = WEIGHT_CLASS_NORMAL, @@ -222,57 +228,57 @@ GLOBAL_LIST_EMPTY(raptor_population) storage_type = /datum/storage/raptor_storage, ) -/mob/living/basic/mining/raptor/green +/mob/living/basic/raptor/green name = "green raptor" icon_state = "raptor_green" icon_living = "raptor_green" icon_dead = "raptor_green_dead" - maxHealth = 460 - health = 460 + maxHealth = 400 + health = 400 raptor_color = RAPTOR_GREEN dex_description = "A tough breed of raptor, made to withstand the harshest of punishment and to laugh in the face of pain, \ - This breed is able to withstand more beating than its peers." - child_path = /mob/living/basic/mining/raptor/baby_raptor/green + this breed is able to withstand more punishment than its peers." + child_path = /mob/living/basic/raptor/baby_raptor/green -/mob/living/basic/mining/raptor/green/Initialize(mapload) +/mob/living/basic/raptor/green/Initialize(mapload) . = ..() AddElement(/datum/element/proficient_miner) -/mob/living/basic/mining/raptor/white +/mob/living/basic/raptor/white name = "white raptor" icon_state = "raptor_white" icon_living = "raptor_white" icon_dead = "raptor_white_dead" raptor_color = RAPTOR_WHITE dex_description = "A loving sort, it cares for it peers and rushes to their aid with reckless abandon. It is able to heal any raptors' ailments." - child_path = /mob/living/basic/mining/raptor/baby_raptor/white + child_path = /mob/living/basic/raptor/baby_raptor/white -/mob/living/basic/mining/raptor/white/Initialize(mapload) +/mob/living/basic/raptor/white/Initialize(mapload) . = ..() AddComponent(\ /datum/component/healing_touch,\ heal_brute = melee_damage_upper,\ heal_burn = melee_damage_upper,\ heal_time = 0,\ - valid_targets_typecache = typecacheof(list(/mob/living/basic/mining/raptor)),\ + valid_targets_typecache = typecacheof(list(/mob/living/basic/raptor)),\ ) -/mob/living/basic/mining/raptor/black +/mob/living/basic/raptor/black name = "black raptor" icon_state = "raptor_black" icon_living = "raptor_black" icon_dead = "raptor_black_dead" - maxHealth = 460 - health = 460 + maxHealth = 400 + health = 400 speed = 1 ridable_component = /datum/component/riding/creature/raptor/fast melee_damage_lower = 20 melee_damage_upper = 25 raptor_color = RAPTOR_BLACK dex_description = "An ultra rare breed. Due to its sparse nature, not much is known about this sort. However it is said to possess many of its peers' abilities." - child_path = /mob/living/basic/mining/raptor/baby_raptor/black + child_path = /mob/living/basic/raptor/baby_raptor/black -/mob/living/basic/mining/raptor/yellow +/mob/living/basic/raptor/yellow name = "yellow raptor" icon_state = "raptor_yellow" icon_living = "raptor_yellow" @@ -281,18 +287,18 @@ GLOBAL_LIST_EMPTY(raptor_population) speed = 1 raptor_color = RAPTOR_YELLOW dex_description = "This breed possesses greasy fast speed, DEMON speed, making light work of long pilgrimages. It's said that a thunderclap could be heard when this breed reaches its maximum speed." - child_path = /mob/living/basic/mining/raptor/baby_raptor/yellow + child_path = /mob/living/basic/raptor/baby_raptor/yellow -/mob/living/basic/mining/raptor/blue +/mob/living/basic/raptor/blue name = "blue raptor" icon_state = "raptor_blue" icon_living = "raptor_blue" icon_dead = "raptor_blue_dead" raptor_color = RAPTOR_BLUE dex_description = "Known to produce nutritous and equally delicious milk, which is also said to possess healing properties." - child_path = /mob/living/basic/mining/raptor/baby_raptor/blue + child_path = /mob/living/basic/raptor/baby_raptor/blue -/mob/living/basic/mining/raptor/blue/Initialize(mapload) +/mob/living/basic/raptor/blue/Initialize(mapload) . = ..() AddComponent(\ /datum/component/udder,\ diff --git a/code/modules/mob/living/basic/lavaland/raptor/baby_raptor.dm b/code/modules/mob/living/basic/lavaland/raptor/baby_raptor.dm index a0a4f6aebc1..06d9fed8470 100644 --- a/code/modules/mob/living/basic/lavaland/raptor/baby_raptor.dm +++ b/code/modules/mob/living/basic/lavaland/raptor/baby_raptor.dm @@ -1,4 +1,4 @@ -/mob/living/basic/mining/raptor/baby_raptor +/mob/living/basic/raptor/baby_raptor name = "baby raptor" desc = "Will this grow into something useful?" icon = 'icons/mob/simple/lavaland/raptor_baby.dmi' @@ -20,7 +20,7 @@ ///probability we are to be rolled var/roll_rate = 100 -/mob/living/basic/mining/raptor/baby_raptor/Initialize(mapload) +/mob/living/basic/raptor/baby_raptor/Initialize(mapload) . = ..() if(isnull(growth_path)) return @@ -36,14 +36,14 @@ optional_grow_behavior = CALLBACK(src, PROC_REF(ready_to_grow)),\ ) -/mob/living/basic/mining/raptor/baby_raptor/add_happiness_component() +/mob/living/basic/raptor/baby_raptor/add_happiness_component() AddComponent(/datum/component/happiness, on_petted_change = 100) -/mob/living/basic/mining/raptor/baby_raptor/proc/check_grow() +/mob/living/basic/raptor/baby_raptor/proc/check_grow() return (stat != DEAD) -/mob/living/basic/mining/raptor/baby_raptor/proc/ready_to_grow() - var/mob/living/basic/mining/raptor/grown_mob = new growth_path(get_turf(src)) +/mob/living/basic/raptor/baby_raptor/proc/ready_to_grow() + var/mob/living/basic/raptor/grown_mob = new growth_path(get_turf(src)) QDEL_NULL(grown_mob.inherited_stats) grown_mob.inherited_stats = inherited_stats inherited_stats = null @@ -51,52 +51,52 @@ ADD_TRAIT(grown_mob, TRAIT_MOB_HATCHED, INNATE_TRAIT) //pass on the hatched trait qdel(src) -/mob/living/basic/mining/raptor/baby_raptor/black +/mob/living/basic/raptor/baby_raptor/black name = "baby black raptor" icon_state = "baby_black" icon_living = "baby_black" icon_dead = "baby_black_dead" - growth_path = /mob/living/basic/mining/raptor/black + growth_path = /mob/living/basic/raptor/black roll_rate = 10 -/mob/living/basic/mining/raptor/baby_raptor/red +/mob/living/basic/raptor/baby_raptor/red name = "baby red raptor" icon_state = "baby_red" icon_living = "baby_red" icon_dead = "baby_red_dead" - growth_path = /mob/living/basic/mining/raptor/red + growth_path = /mob/living/basic/raptor/red -/mob/living/basic/mining/raptor/baby_raptor/purple +/mob/living/basic/raptor/baby_raptor/purple name = "baby purple raptor" icon_state = "baby_purple" icon_living = "baby_purple" icon_dead = "baby_purple_dead" - growth_path = /mob/living/basic/mining/raptor/purple + growth_path = /mob/living/basic/raptor/purple -/mob/living/basic/mining/raptor/baby_raptor/white +/mob/living/basic/raptor/baby_raptor/white name = "baby white raptor" icon_state = "baby_white" icon_living = "baby_white" icon_dead = "baby_white_dead" - growth_path = /mob/living/basic/mining/raptor/white + growth_path = /mob/living/basic/raptor/white -/mob/living/basic/mining/raptor/baby_raptor/yellow +/mob/living/basic/raptor/baby_raptor/yellow name = "baby yellow raptor" icon_state = "baby_yellow" icon_living = "baby_yellow" icon_dead = "baby_yellow_dead" - growth_path = /mob/living/basic/mining/raptor/yellow + growth_path = /mob/living/basic/raptor/yellow -/mob/living/basic/mining/raptor/baby_raptor/green +/mob/living/basic/raptor/baby_raptor/green name = "baby green raptor" icon_state = "baby_green" icon_living = "baby_green" icon_dead = "baby_green_dead" - growth_path = /mob/living/basic/mining/raptor/green + growth_path = /mob/living/basic/raptor/green -/mob/living/basic/mining/raptor/baby_raptor/blue +/mob/living/basic/raptor/baby_raptor/blue name = "baby blue raptor" icon_state = "baby_blue" icon_living = "baby_blue" icon_dead = "baby_blue_dead" - growth_path = /mob/living/basic/mining/raptor/blue + growth_path = /mob/living/basic/raptor/blue diff --git a/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_controller.dm b/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_controller.dm index 40c2d836554..e036be575c9 100644 --- a/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_controller.dm +++ b/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_controller.dm @@ -2,10 +2,16 @@ /datum/ai_controller/basic_controller/raptor blackboard = list( + BB_INTERACTIONS_WITH_OWNER = list( + "Pecks", + "Nuzzles", + "Wags tail against", + "Playfully leans against" + ), BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/raptor, BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/raptor, - BB_BABIES_PARTNER_TYPES = list(/mob/living/basic/mining/raptor), - BB_BABIES_CHILD_TYPES = list(/mob/living/basic/mining/raptor/baby_raptor), + BB_BABIES_PARTNER_TYPES = list(/mob/living/basic/raptor), + BB_BABIES_CHILD_TYPES = list(/mob/living/basic/raptor/baby_raptor), BB_MAX_CHILDREN = 5, ) @@ -25,6 +31,7 @@ /datum/ai_planning_subtree/make_babies, /datum/ai_planning_subtree/find_and_hunt_target/raptor_start_trouble, /datum/ai_planning_subtree/express_happiness, + /datum/ai_planning_subtree/find_and_hunt_target/play_with_owner/raptor, ) /datum/ai_controller/basic_controller/raptor/TryPossessPawn(atom/new_pawn) @@ -39,15 +46,15 @@ /datum/targeting_strategy/basic/raptor -//dont attack anyone with the neutral faction. +//dont attack anyone with the neutral faction. /datum/targeting_strategy/basic/raptor/faction_check(datum/ai_controller/controller, mob/living/living_mob, mob/living/the_target) return (the_target.faction.Find(FACTION_NEUTRAL) || the_target.faction.Find(FACTION_RAPTOR)) /datum/ai_controller/basic_controller/baby_raptor blackboard = list( BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/raptor, - BB_FIND_MOM_TYPES = list(/mob/living/basic/mining/raptor), - BB_IGNORE_MOM_TYPES = list(/mob/living/basic/mining/raptor/baby_raptor), + BB_FIND_MOM_TYPES = list(/mob/living/basic/raptor), + BB_IGNORE_MOM_TYPES = list(/mob/living/basic/raptor/baby_raptor), ) ai_movement = /datum/ai_movement/basic_avoidance diff --git a/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_subtrees.dm b/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_subtrees.dm index 2d23268d35c..7ba0dad5561 100644 --- a/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_subtrees.dm +++ b/code/modules/mob/living/basic/lavaland/raptor/raptor_ai_subtrees.dm @@ -2,7 +2,7 @@ target_key = BB_INJURED_RAPTOR hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/heal_raptor finding_behavior = /datum/ai_behavior/find_hunt_target/injured_raptor - hunt_targets = list(/mob/living/basic/mining/raptor) + hunt_targets = list(/mob/living/basic/raptor) hunt_chance = 70 hunt_range = 9 @@ -15,7 +15,7 @@ target_key = BB_RAPTOR_VICTIM hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/bully_raptors finding_behavior = /datum/ai_behavior/find_hunt_target/raptor_victim - hunt_targets = list(/mob/living/basic/mining/raptor) + hunt_targets = list(/mob/living/basic/raptor) hunt_chance = 30 hunt_range = 9 @@ -38,7 +38,7 @@ target_key = BB_RAPTOR_BABY hunting_behavior = /datum/ai_behavior/hunt_target/care_for_young finding_behavior = /datum/ai_behavior/find_hunt_target/raptor_baby - hunt_targets = list(/mob/living/basic/mining/raptor/baby_raptor) + hunt_targets = list(/mob/living/basic/raptor/baby_raptor) hunt_chance = 75 hunt_range = 9 @@ -60,3 +60,7 @@ return return ..() +/datum/ai_planning_subtree/find_and_hunt_target/play_with_owner/raptor/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + if(!controller.blackboard[BB_RAPTOR_PLAYFUL]) + return + return ..() diff --git a/code/modules/mob/living/basic/lavaland/raptor/raptor_dex.dm b/code/modules/mob/living/basic/lavaland/raptor/raptor_dex.dm index 7080c91a500..ef7e6fa3167 100644 --- a/code/modules/mob/living/basic/lavaland/raptor/raptor_dex.dm +++ b/code/modules/mob/living/basic/lavaland/raptor/raptor_dex.dm @@ -19,7 +19,7 @@ /obj/item/raptor_dex/ui_static_data(mob/user) var/list/data = list() - var/mob/living/basic/mining/raptor/my_raptor = raptor.resolve() + var/mob/living/basic/raptor/my_raptor = raptor.resolve() data["raptor_image"] = icon2base64(getFlatIcon(image(icon = my_raptor.icon, icon_state = my_raptor.icon_state))) data["raptor_attack"] = my_raptor.melee_damage_lower @@ -44,7 +44,7 @@ data["inherited_attack_max"] = RAPTOR_INHERIT_MAX_ATTACK data["inherited_health"] = inherit.health_modifier data["inherited_health_max"] = RAPTOR_INHERIT_MAX_HEALTH - + data["inherited_traits"] = list() for(var/index in inherit.inherit_traits) data["inherited_traits"] += GLOB.raptor_inherit_traits[index] @@ -52,7 +52,7 @@ /obj/item/raptor_dex/interact_with_atom(atom/attacked_atom, mob/living/user) - if(!istype(attacked_atom, /mob/living/basic/mining/raptor)) + if(!istype(attacked_atom, /mob/living/basic/raptor)) return NONE raptor = WEAKREF(attacked_atom) diff --git a/code/modules/mob/living/basic/lavaland/raptor/raptor_egg.dm b/code/modules/mob/living/basic/lavaland/raptor/raptor_egg.dm index 9fb72239ca7..1b980857562 100644 --- a/code/modules/mob/living/basic/lavaland/raptor/raptor_egg.dm +++ b/code/modules/mob/living/basic/lavaland/raptor/raptor_egg.dm @@ -9,7 +9,7 @@ if(SSmapping.is_planetary()) icon = 'icons/mob/simple/lavaland/raptor_icebox.dmi' -/obj/item/food/egg/raptor_egg/proc/determine_growth_path(mob/living/basic/mining/raptor/dad, mob/living/basic/mining/raptor/mom) +/obj/item/food/egg/raptor_egg/proc/determine_growth_path(mob/living/basic/raptor/dad, mob/living/basic/raptor/mom) if(dad.type == mom.type) add_growth_component(dad.child_path) return @@ -24,9 +24,9 @@ add_growth_component(path) return var/list/valid_subtypes = list() - var/static/list/all_subtypes = subtypesof(/mob/living/basic/mining/raptor/baby_raptor) + var/static/list/all_subtypes = subtypesof(/mob/living/basic/raptor/baby_raptor) for(var/path in all_subtypes) - var/mob/living/basic/mining/raptor/baby_raptor/raptor_path = path + var/mob/living/basic/raptor/baby_raptor/raptor_path = path if(!prob(initial(raptor_path.roll_rate))) continue valid_subtypes += raptor_path @@ -46,7 +46,7 @@ post_hatch = CALLBACK(src, PROC_REF(post_hatch)),\ ) -/obj/item/food/egg/raptor_egg/proc/post_hatch(mob/living/basic/mining/raptor/baby) +/obj/item/food/egg/raptor_egg/proc/post_hatch(mob/living/basic/raptor/baby) if(!istype(baby)) return QDEL_NULL(baby.inherited_stats) diff --git a/code/modules/mob/living/basic/minebots/minebot.dm b/code/modules/mob/living/basic/minebots/minebot.dm index 3361330915f..32f0ed80121 100644 --- a/code/modules/mob/living/basic/minebots/minebot.dm +++ b/code/modules/mob/living/basic/minebots/minebot.dm @@ -1,6 +1,6 @@ /mob/living/basic/mining_drone name = "\improper Nanotrasen minebot" - desc = "The instructions printed on the side read: This is a small robot used to support miners, can be set to search and collect loose ore, or to help fend off wildlife. Insert any type of ore into it to make it start listening to your commands!" + desc = "The instructions printed on the side read: This is a small robot used to support miners, can be set to search and collect loose ore, or to help fend off wildlife." gender = NEUTER icon = 'icons/mob/silicon/aibots.dmi' icon_state = "mining_drone" @@ -107,6 +107,8 @@ for(var/obj/item/borg/upgrade/modkit/modkit as anything in stored_gun.modkits) . += span_notice("There is \a [modkit] installed, using [modkit.cost]% capacity.") + if(ai_controller && ai_controller.ai_status == AI_STATUS_IDLE) + . += "The [src] appears to be in sleep mode. You can restore normal functions by tapping it." /mob/living/basic/mining_drone/welder_act(mob/living/user, obj/item/welder) @@ -132,7 +134,10 @@ /mob/living/basic/mining_drone/attack_hand(mob/living/carbon/human/user, list/modifiers) if(!user.combat_mode) - ui_interact(user) + if(ai_controller && ai_controller.ai_status == AI_STATUS_IDLE) + ai_controller.set_ai_status(AI_STATUS_ON) + if(LAZYACCESS(modifiers, LEFT_CLICK)) //Lets Right Click be specifically for re-enabling their AI (and avoiding the UI popup), while Left Click simply does both. + ui_interact(user) return return ..() diff --git a/code/modules/mob/living/basic/pets/orbie/orbie_ai.dm b/code/modules/mob/living/basic/pets/orbie/orbie_ai.dm index 92f433bd08a..1452dd18dee 100644 --- a/code/modules/mob/living/basic/pets/orbie/orbie_ai.dm +++ b/code/modules/mob/living/basic/pets/orbie/orbie_ai.dm @@ -22,12 +22,12 @@ . = ..() if(. & AI_CONTROLLER_INCOMPATIBLE) return - RegisterSignal(new_pawn, COMSIG_AI_BLACKBOARD_KEY_SET(BB_LAST_RECIEVED_MESSAGE), PROC_REF(on_set_message)) + RegisterSignal(new_pawn, COMSIG_AI_BLACKBOARD_KEY_SET(BB_LAST_RECEIVED_MESSAGE), PROC_REF(on_set_message)) /datum/ai_controller/basic_controller/orbie/proc/on_set_message(datum/source) SIGNAL_HANDLER - addtimer(CALLBACK(src, PROC_REF(clear_blackboard_key), BB_LAST_RECIEVED_MESSAGE), MESSAGE_EXPIRY_TIME) + addtimer(CALLBACK(src, PROC_REF(clear_blackboard_key), BB_LAST_RECEIVED_MESSAGE), MESSAGE_EXPIRY_TIME) ///ai behavior that lets us search for other orbies to play with /datum/ai_planning_subtree/find_playmates @@ -84,10 +84,10 @@ /datum/ai_planning_subtree/relay_pda_message /datum/ai_planning_subtree/relay_pda_message/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) - if(controller.blackboard[BB_VIRTUAL_PET_LEVEL] < 2 || isnull(controller.blackboard[BB_LAST_RECIEVED_MESSAGE])) + if(controller.blackboard[BB_VIRTUAL_PET_LEVEL] < 2 || isnull(controller.blackboard[BB_LAST_RECEIVED_MESSAGE])) return - controller.queue_behavior(/datum/ai_behavior/relay_pda_message, BB_LAST_RECIEVED_MESSAGE) + controller.queue_behavior(/datum/ai_behavior/relay_pda_message, BB_LAST_RECEIVED_MESSAGE) /datum/ai_behavior/relay_pda_message/perform(seconds_per_tick, datum/ai_controller/controller, target_key) var/mob/living/basic/living_pawn = controller.pawn diff --git a/code/modules/mob/living/basic/slime/ai/behaviours.dm b/code/modules/mob/living/basic/slime/ai/behaviours.dm index e573bd57354..1cd46779945 100644 --- a/code/modules/mob/living/basic/slime/ai/behaviours.dm +++ b/code/modules/mob/living/basic/slime/ai/behaviours.dm @@ -32,6 +32,10 @@ if(REF(dinner) in hunter.faction) //Don't eat our friends... return + var/static/list/slime_faction = list(FACTION_SLIME) + if(faction_check(slime_faction, dinner.faction)) //Don't try to eat slimy things, no matter how hungry we are. Anyone else can be betrayed. + return + if(!hunter.can_feed_on(dinner, check_adjacent = FALSE)) //Are they tasty to slimes? return diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp.dm b/code/modules/mob/living/basic/space_fauna/carp/carp.dm index ee2073987da..816bb7cd838 100644 --- a/code/modules/mob/living/basic/space_fauna/carp/carp.dm +++ b/code/modules/mob/living/basic/space_fauna/carp/carp.dm @@ -20,7 +20,6 @@ icon_gib = "carp_gib" gold_core_spawnable = HOSTILE_SPAWN mob_biotypes = MOB_ORGANIC | MOB_BEAST - movement_type = FLYING health = 25 maxHealth = 25 pressure_resistance = 200 diff --git a/code/modules/mob/living/basic/space_fauna/robot_customer.dm b/code/modules/mob/living/basic/space_fauna/robot_customer.dm index aa5e4635f58..667adb7d268 100644 --- a/code/modules/mob/living/basic/space_fauna/robot_customer.dm +++ b/code/modules/mob/living/basic/space_fauna/robot_customer.dm @@ -10,6 +10,7 @@ icon_state = "amerifat" icon_living = "amerifat" + max_grab = GRAB_AGGRESSIVE basic_mob_flags = DEL_ON_DEATH mob_biotypes = MOB_ROBOTIC|MOB_HUMANOID sentience_type = SENTIENCE_ARTIFICIAL diff --git a/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm b/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm index bbefe37606b..be31e121249 100644 --- a/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm +++ b/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm @@ -28,7 +28,6 @@ damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0.5, OXY = 1) combat_mode = TRUE speed = 0 - movement_type = FLYING attack_verb_continuous = "chomps" attack_verb_simple = "chomp" attack_sound = 'sound/magic/demon_attack1.ogg' diff --git a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm index e964fbc385b..99a3b202f51 100644 --- a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm +++ b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm @@ -20,6 +20,7 @@ gold_core_spawnable = HOSTILE_SPAWN ai_controller = /datum/ai_controller/basic_controller/giant_spider bite_injection_flags = INJECT_CHECK_PENETRATE_THICK + max_grab = GRAB_AGGRESSIVE /// Actions to grant on Initialize var/list/innate_actions = null diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index 117b5f03835..1ef72fd18e6 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -508,6 +508,7 @@ actual_trauma.owner = owner SEND_SIGNAL(owner, COMSIG_CARBON_GAIN_TRAUMA, trauma) actual_trauma.on_gain() + log_game("[key_name_and_tag(owner)] has gained the following brain trauma: [trauma.type]") if(resilience) actual_trauma.resilience = resilience SSblackbox.record_feedback("tally", "traumas", 1, actual_trauma.type) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 6d84a0936e8..8b7ab84e3ae 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -117,12 +117,14 @@ throw_mode = THROW_MODE_DISABLED if(hud_used) hud_used.throw_icon.icon_state = "act_throw_off" + SEND_SIGNAL(src, COMSIG_LIVING_THROW_MODE_TOGGLE, throw_mode) /mob/living/carbon/proc/throw_mode_on(mode = THROW_MODE_TOGGLE) throw_mode = mode if(hud_used) hud_used.throw_icon.icon_state = "act_throw_on" + SEND_SIGNAL(src, COMSIG_LIVING_THROW_MODE_TOGGLE, throw_mode) /mob/proc/throw_item(atom/target) SEND_SIGNAL(src, COMSIG_MOB_THROW, target) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index a9bce1f54b2..aeed716d458 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -64,7 +64,7 @@ /mob/living/carbon/check_projectile_dismemberment(obj/projectile/P, def_zone) var/obj/item/bodypart/affecting = get_bodypart(def_zone) - if(affecting && !(affecting.bodypart_flags & BODYPART_UNREMOVABLE) && affecting.get_damage() >= (affecting.max_damage - P.dismemberment)) + if(affecting && affecting.can_dismember() && !(affecting.bodypart_flags & BODYPART_UNREMOVABLE) && affecting.get_damage() >= (affecting.max_damage - P.dismemberment)) affecting.dismember(P.damtype) if(P.catastropic_dismemberment) apply_damage(P.damage, P.damtype, BODY_ZONE_CHEST, wound_bonus = P.wound_bonus) //stops a projectile blowing off a limb effectively doing no damage. Mostly relevant for sniper rifles. diff --git a/code/modules/mob/living/carbon/carbon_update_icons.dm b/code/modules/mob/living/carbon/carbon_update_icons.dm index c5862a95e12..fcf62280c26 100644 --- a/code/modules/mob/living/carbon/carbon_update_icons.dm +++ b/code/modules/mob/living/carbon/carbon_update_icons.dm @@ -300,28 +300,36 @@ /mob/living/carbon/update_damage_overlays() remove_overlay(DAMAGE_LAYER) - var/mutable_appearance/damage_overlay = mutable_appearance('icons/mob/effects/dam_mob.dmi', "blank", -DAMAGE_LAYER) - overlays_standing[DAMAGE_LAYER] = damage_overlay - + var/mutable_appearance/damage_overlay for(var/obj/item/bodypart/iter_part as anything in bodyparts) - if(iter_part.dmg_overlay_type) - if(iter_part.brutestate) - damage_overlay.add_overlay("[iter_part.dmg_overlay_type]_[iter_part.body_zone]_[iter_part.brutestate]0") //we're adding icon_states of the base image as overlays - if(iter_part.burnstate) - damage_overlay.add_overlay("[iter_part.dmg_overlay_type]_[iter_part.body_zone]_0[iter_part.burnstate]") + if(!iter_part.dmg_overlay_type) + continue + if(isnull(damage_overlay) && (iter_part.brutestate || iter_part.burnstate)) + damage_overlay = mutable_appearance('icons/mob/effects/dam_mob.dmi', "blank", -DAMAGE_LAYER, appearance_flags = KEEP_TOGETHER) + if(iter_part.brutestate) + damage_overlay.add_overlay("[iter_part.dmg_overlay_type]_[iter_part.body_zone]_[iter_part.brutestate]0") //we're adding icon_states of the base image as overlays + if(iter_part.burnstate) + damage_overlay.add_overlay("[iter_part.dmg_overlay_type]_[iter_part.body_zone]_0[iter_part.burnstate]") + if(isnull(damage_overlay)) + return + + overlays_standing[DAMAGE_LAYER] = damage_overlay apply_overlay(DAMAGE_LAYER) /mob/living/carbon/update_wound_overlays() remove_overlay(WOUND_LAYER) - var/mutable_appearance/wound_overlay = mutable_appearance('icons/mob/effects/bleed_overlays.dmi', "blank", -WOUND_LAYER) - overlays_standing[WOUND_LAYER] = wound_overlay - + var/mutable_appearance/wound_overlay for(var/obj/item/bodypart/iter_part as anything in bodyparts) if(iter_part.bleed_overlay_icon) + wound_overlay ||= mutable_appearance('icons/mob/effects/bleed_overlays.dmi', "blank", -WOUND_LAYER, appearance_flags = KEEP_TOGETHER) wound_overlay.add_overlay(iter_part.bleed_overlay_icon) + if(isnull(wound_overlay)) + return + + overlays_standing[WOUND_LAYER] = wound_overlay apply_overlay(WOUND_LAYER) //SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular) diff --git a/code/modules/mob/living/carbon/damage_procs.dm b/code/modules/mob/living/carbon/damage_procs.dm index 30ff21ccc39..aeba381703b 100644 --- a/code/modules/mob/living/carbon/damage_procs.dm +++ b/code/modules/mob/living/carbon/damage_procs.dm @@ -128,20 +128,21 @@ return FALSE return adjustFireLoss(diff, updating_health, forced, required_bodytype) -/mob/living/carbon/adjustToxLoss(amount, updating_health = TRUE, forced = FALSE, required_biotype = ALL) - if(!can_adjust_tox_loss(amount, forced, required_biotype)) - return 0 - if(!forced && HAS_TRAIT(src, TRAIT_TOXINLOVER)) //damage becomes healing and healing becomes damage - amount = -amount - if(HAS_TRAIT(src, TRAIT_TOXIMMUNE)) //Prevents toxin damage, but not healing - amount = min(amount, 0) - if(amount > 0) - blood_volume = max(blood_volume - (5*amount), 0) - else - blood_volume = max(blood_volume - amount, 0) - else if(!forced && HAS_TRAIT(src, TRAIT_TOXIMMUNE)) //Prevents toxin damage, but not healing - amount = min(amount, 0) - return ..() +/mob/living/carbon/human/adjustToxLoss(amount, updating_health = TRUE, forced = FALSE, required_biotype = ALL) + . = ..() + if(. >= 0) // 0 = no damage, + values = healed damage + return . + + if(AT_TOXIN_VOMIT_THRESHOLD(src)) + apply_status_effect(/datum/status_effect/tox_vomit) + +/mob/living/carbon/human/setToxLoss(amount, updating_health, forced, required_biotype) + . = ..() + if(. >= 0) + return . + + if(AT_TOXIN_VOMIT_THRESHOLD(src)) + apply_status_effect(/datum/status_effect/tox_vomit) /mob/living/carbon/adjustStaminaLoss(amount, updating_stamina, forced, required_biotype = ALL) . = ..() diff --git a/code/modules/mob/living/carbon/human/_species.dm b/code/modules/mob/living/carbon/human/_species.dm index a6a2fa53505..ce9461b828f 100644 --- a/code/modules/mob/living/carbon/human/_species.dm +++ b/code/modules/mob/living/carbon/human/_species.dm @@ -32,8 +32,11 @@ GLOBAL_LIST_EMPTY(features_by_species) ///The maximum number of bodyparts this species can have. var/max_bodypart_count = 6 - ///This allows races to have specific hair colors. If null, it uses the H's hair/facial hair colors. If "mutcolor", it uses the H's mutant_color. If "fixedmutcolor", it uses fixedmutcolor - var/hair_color + /// This allows races to have specific hair colors. + /// If null, it uses the mob's hair/facial hair colors. + /// If USE_MUTANT_COLOR, it uses the mob's mutant_color. + /// If USE_FIXED_MUTANT_COLOR, it uses fixedmutcolor + var/hair_color_mode ///The alpha used by the hair. 255 is completely solid, 0 is invisible. var/hair_alpha = 255 ///The alpha used by the facial hair. 255 is completely solid, 0 is invisible. @@ -119,8 +122,6 @@ GLOBAL_LIST_EMPTY(features_by_species) var/siemens_coeff = 1 ///To use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA. var/fixed_mut_color = "" - ///A fixed hair color that's independent of the mcolor feature in DNA. - var/fixed_hair_color = "" ///Special mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache var/inert_mutation = /datum/mutation/human/dwarfism ///Used to set the mob's death_sound upon species change @@ -635,39 +636,39 @@ GLOBAL_LIST_EMPTY(features_by_species) var/obj/item/bodypart/arm/left/left_arm = species_human.get_bodypart(BODY_ZONE_L_ARM) var/obj/item/bodypart/leg/right/right_leg = species_human.get_bodypart(BODY_ZONE_R_LEG) var/obj/item/bodypart/leg/left/left_leg = species_human.get_bodypart(BODY_ZONE_L_LEG) - var/datum/sprite_accessory/markings = GLOB.moth_markings_list[species_human.dna.features["moth_markings"]] + var/datum/sprite_accessory/markings = SSaccessories.moth_markings_list[species_human.dna.features["moth_markings"]] + var/mutable_appearance/marking = mutable_appearance(layer = -BODY_LAYER, appearance_flags = KEEP_TOGETHER) + if(noggin && (IS_ORGANIC_LIMB(noggin))) - var/mutable_appearance/markings_head_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_head", -BODY_LAYER) - markings_head_overlay.pixel_y += height_offset - standing += markings_head_overlay + var/mutable_appearance/markings_head_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_head") + marking.overlays += markings_head_overlay if(chest && (IS_ORGANIC_LIMB(chest))) - var/mutable_appearance/markings_chest_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_chest", -BODY_LAYER) - markings_chest_overlay.pixel_y += height_offset - standing += markings_chest_overlay + var/mutable_appearance/markings_chest_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_chest") + marking.overlays += markings_chest_overlay if(right_arm && (IS_ORGANIC_LIMB(right_arm))) - var/mutable_appearance/markings_r_arm_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_r_arm", -BODY_LAYER) - markings_r_arm_overlay.pixel_y += height_offset - standing += markings_r_arm_overlay + var/mutable_appearance/markings_r_arm_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_r_arm") + marking.overlays += markings_r_arm_overlay if(left_arm && (IS_ORGANIC_LIMB(left_arm))) - var/mutable_appearance/markings_l_arm_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_l_arm", -BODY_LAYER) - markings_l_arm_overlay.pixel_y += height_offset - standing += markings_l_arm_overlay + var/mutable_appearance/markings_l_arm_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_l_arm") + marking.overlays += markings_l_arm_overlay if(right_leg && (IS_ORGANIC_LIMB(right_leg))) - var/mutable_appearance/markings_r_leg_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_r_leg", -BODY_LAYER) - standing += markings_r_leg_overlay + var/mutable_appearance/markings_r_leg_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_r_leg") + marking.overlays += markings_r_leg_overlay if(left_leg && (IS_ORGANIC_LIMB(left_leg))) - var/mutable_appearance/markings_l_leg_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_l_leg", -BODY_LAYER) - standing += markings_l_leg_overlay + var/mutable_appearance/markings_l_leg_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_l_leg") + marking.overlays += markings_l_leg_overlay + + standing += marking //Underwear, Undershirts & Socks if(!HAS_TRAIT(species_human, TRAIT_NO_UNDERWEAR)) if(species_human.underwear) - var/datum/sprite_accessory/underwear/underwear = GLOB.underwear_list[species_human.underwear] + var/datum/sprite_accessory/underwear/underwear = SSaccessories.underwear_list[species_human.underwear] var/mutable_appearance/underwear_overlay if(underwear) if(species_human.dna.species.sexes && species_human.physique == FEMALE && (underwear.gender == MALE)) @@ -680,7 +681,7 @@ GLOBAL_LIST_EMPTY(features_by_species) standing += underwear_overlay if(species_human.undershirt) - var/datum/sprite_accessory/undershirt/undershirt = GLOB.undershirt_list[species_human.undershirt] + var/datum/sprite_accessory/undershirt/undershirt = SSaccessories.undershirt_list[species_human.undershirt] if(undershirt) var/mutable_appearance/working_shirt if(species_human.dna.species.sexes && species_human.physique == FEMALE) @@ -691,7 +692,7 @@ GLOBAL_LIST_EMPTY(features_by_species) standing += working_shirt if(species_human.socks && species_human.num_legs >= 2 && !(species_human.bodyshape & BODYSHAPE_DIGITIGRADE)) - var/datum/sprite_accessory/socks/socks = GLOB.socks_list[species_human.socks] + var/datum/sprite_accessory/socks/socks = SSaccessories.socks_list[species_human.socks] if(socks) standing += mutable_appearance(socks.icon, socks.icon_state, -BODY_LAYER) @@ -700,6 +701,7 @@ GLOBAL_LIST_EMPTY(features_by_species) species_human.apply_overlay(BODY_LAYER) handle_mutant_bodyparts(species_human) + */ //SKYRAT EDIT REMOVAL END @@ -745,21 +747,11 @@ GLOBAL_LIST_EMPTY(features_by_species) var/datum/sprite_accessory/accessory switch(bodypart) if("ears") - accessory = GLOB.ears_list[source.dna.features["ears"]] + accessory = SSaccessories.ears_list[source.dna.features["ears"]] if("body_markings") - accessory = GLOB.body_markings_list[source.dna.features["body_markings"]] - if("wings") - accessory = GLOB.wings_list[source.dna.features["wings"]] - if("wingsopen") - accessory = GLOB.wings_open_list[source.dna.features["wings"]] + accessory = SSaccessories.body_markings_list[source.dna.features["body_markings"]] if("legs") - accessory = GLOB.legs_list[source.dna.features["legs"]] - if("moth_wings") - accessory = GLOB.moth_wings_list[source.dna.features["moth_wings"]] - if("moth_antennae") - accessory = GLOB.moth_antennae_list[source.dna.features["moth_antennae"]] - if("caps") - accessory = GLOB.caps_list[source.dna.features["caps"]] + accessory = SSaccessories.legs_list[source.dna.features["legs"]] if(!accessory || accessory.icon_state == "none") continue @@ -781,19 +773,11 @@ GLOBAL_LIST_EMPTY(features_by_species) if(!forced_colour) switch(accessory.color_src) if(MUTANT_COLOR) - if(fixed_mut_color) - accessory_overlay.color = fixed_mut_color - else - accessory_overlay.color = source.dna.features["mcolor"] + accessory_overlay.color = fixed_mut_color || source.dna.features["mcolor"] if(HAIR_COLOR) - if(hair_color == "mutcolor") - accessory_overlay.color = source.dna.features["mcolor"] - else if(hair_color == "fixedmutcolor") - accessory_overlay.color = fixed_hair_color - else - accessory_overlay.color = source.hair_color + accessory_overlay.color = get_fixed_hair_color(source) || source.hair_color if(FACIAL_HAIR_COLOR) - accessory_overlay.color = source.facial_hair_color + accessory_overlay.color = get_fixed_hair_color(source) || source.facial_hair_color if(EYE_COLOR) accessory_overlay.color = source.eye_color_left else @@ -1786,7 +1770,7 @@ GLOBAL_LIST_EMPTY(features_by_species) /datum/species/proc/get_species_perks() var/list/species_perks = list() - // Let us get every perk we can concieve of in one big list. + // Let us get every perk we can conceive of in one big list. // The order these are called (kind of) matters. // Species unique perks first, as they're more important than genetic perks, // and language perk last, as it comes at the end of the perks list @@ -1962,7 +1946,7 @@ GLOBAL_LIST_EMPTY(features_by_species) SPECIES_PERK_TYPE = SPECIES_NEUTRAL_PERK, SPECIES_PERK_ICON = "tint", SPECIES_PERK_NAME = initial(exotic_blood.name), - SPECIES_PERK_DESC = "[name] blood is [initial(exotic_blood.name)], which can make recieving medical treatment harder.", + SPECIES_PERK_DESC = "[name] blood is [initial(exotic_blood.name)], which can make receiving medical treatment harder.", )) // Otherwise otherwise, see if they have an exotic bloodtype set @@ -1971,7 +1955,7 @@ GLOBAL_LIST_EMPTY(features_by_species) SPECIES_PERK_TYPE = SPECIES_NEUTRAL_PERK, SPECIES_PERK_ICON = "tint", SPECIES_PERK_NAME = "Exotic Blood", - SPECIES_PERK_DESC = "[plural_form] have \"[exotic_bloodtype]\" type blood, which can make recieving medical treatment harder.", + SPECIES_PERK_DESC = "[plural_form] have \"[exotic_bloodtype]\" type blood, which can make receiving medical treatment harder.", )) return to_add @@ -2241,3 +2225,21 @@ GLOBAL_LIST_EMPTY(features_by_species) return harddel_deets_dumped = TRUE return "Gained / Owned: [properly_gained ? "Yes" : "No"]" + +/** + * Get what hair color is used by this species for a mob. + * + * Arguments + * * for_mob - The mob to get the hair color for. Required. + * + * Returns a color string or null. + */ +/datum/species/proc/get_fixed_hair_color(mob/living/carbon/human/for_mob) + ASSERT(!isnull(for_mob)) + switch(hair_color_mode) + if(USE_MUTANT_COLOR) + return for_mob.dna.features["mcolor"] + if(USE_FIXED_MUTANT_COLOR) + return fixed_mut_color + + return null diff --git a/code/modules/mob/living/carbon/human/dummy.dm b/code/modules/mob/living/carbon/human/dummy.dm index 193200c1e3a..d5f83163822 100644 --- a/code/modules/mob/living/carbon/human/dummy.dm +++ b/code/modules/mob/living/carbon/human/dummy.dm @@ -81,6 +81,19 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) /mob/living/carbon/human/dummy/log_mob_tag(text) return +// To speed up the preference menu, we apply 1 filter to the entire mob +/mob/living/carbon/human/dummy/regenerate_icons() + . = ..() + apply_height_filters(src, TRUE) + +/mob/living/carbon/human/dummy/apply_height_filters(image/appearance, only_apply_in_prefs = FALSE) + if(only_apply_in_prefs) + return ..() + +// Not necessary with above +/mob/living/carbon/human/dummy/apply_height_offsets(image/appearance, upper_torso) + return + /// Takes in an accessory list and returns the first entry from that list, ensuring that we dont return SPRITE_ACCESSORY_NONE in the process. /proc/get_consistent_feature_entry(list/accessory_feature_list) var/consistent_entry = (accessory_feature_list- SPRITE_ACCESSORY_NONE)[1] diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 4febca81d67..40403c7c1bc 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -675,12 +675,12 @@ visible_message(span_danger("[src] manages to [cuff_break ? "break" : "remove"] [I]!")) to_chat(src, span_notice("You successfully [cuff_break ? "break" : "remove"] [I].")) return TRUE - //SKYRAT ERP UPDATE ADDITION: NOW GLOVES CAN RESTRAIN PLAYERS + // SKYRAT EDIT ADDITION: NOW GLOVES CAN RESTRAIN PLAYERS if(I == gloves) visible_message(span_danger("[src] manages to [cuff_break ? "break" : "remove"] [I]!")) to_chat(src, span_notice("You successfully [cuff_break ? "break" : "remove"] [I].")) return TRUE - //SKYRAT ERP UPDATE ADDITION END + // SKYRAT EDIT ADDITION END /mob/living/carbon/human/replace_records_name(oldname, newname) // Only humans have records right now, move this up if changed. var/datum/record/crew/crew_record = find_record(oldname) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 7569ddbe240..52fe6d7b684 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -14,6 +14,7 @@ can_be_shoved_into = TRUE initial_language_holder = /datum/language_holder/empty // We get stuff from our species flags_1 = PREVENT_CONTENTS_EXPLOSION_1 + max_grab = GRAB_KILL maxHealth = HUMAN_MAXHEALTH //SKYRAT EDIT ADDITION health = HUMAN_MAXHEALTH //SKYRAT EDIT ADDITION @@ -77,7 +78,7 @@ /mob/living/carbon/human, /mob/living/basic/slime, )) - var/lastpuke = 0 + var/account_id var/hardcore_survival_score = 0 diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index fec698cab33..02f1ff9678f 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -326,6 +326,8 @@ fitness_modifier *= 2 if (HAS_TRAIT(src, TRAIT_STRENGTH)) fitness_modifier *= 1.5 + if (HAS_TRAIT(src, TRAIT_ROD_SUPLEX)) + fitness_modifier *= 2 // To be able to suplex a rod, you must possess an incredible amount of power if (HAS_TRAIT(src, TRAIT_EASILY_WOUNDED)) fitness_modifier /= 2 if (HAS_TRAIT(src, TRAIT_GAMER)) diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 6f1c3f02ddf..522fa663601 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -203,15 +203,17 @@ There are several things that need to be remembered: inv.update_icon() //Bloody hands begin - var/mutable_appearance/bloody_lefthand_overlay = mutable_appearance('icons/effects/blood.dmi', "bloodyhands_left", -GLOVES_LAYER) - var/mutable_appearance/bloody_righthand_overlay = mutable_appearance('icons/effects/blood.dmi', "bloodyhands_right", -GLOVES_LAYER) - cut_overlay(bloody_lefthand_overlay) - cut_overlay(bloody_righthand_overlay) - if(!gloves && blood_in_hands && (num_hands > 0)) - if(has_left_hand(check_disabled = FALSE)) - add_overlay(bloody_lefthand_overlay) - if(has_right_hand(check_disabled = FALSE)) - add_overlay(bloody_righthand_overlay) + if(isnull(gloves)) + if(blood_in_hands && num_hands > 0) + // When byond gives us filters that respect dirs we can just use an alpha mask for this but until then, two icons weeeee + var/mutable_appearance/hands_combined = mutable_appearance(layer = -GLOVES_LAYER, appearance_flags = KEEP_TOGETHER) + if(has_left_hand(check_disabled = FALSE)) + hands_combined.overlays += mutable_appearance('icons/effects/blood.dmi', "bloodyhands_left") + if(has_right_hand(check_disabled = FALSE)) + hands_combined.overlays += mutable_appearance('icons/effects/blood.dmi', "bloodyhands_right") + overlays_standing[GLOVES_LAYER] = hands_combined + apply_overlay(GLOVES_LAYER) + return // Bloody hands end if(gloves) @@ -865,25 +867,15 @@ mutant_styles: The mutant style - taur bodytype, STYLE_TESHARI, etc. // SKYRAT E female_uniform = NO_FEMALE_UNIFORM, override_state = null, override_file = null, - use_height_offset = TRUE, mutant_styles = NONE, // SKYRAT EDIT ADD - Further outfit modification for outfits (added `mutant_styles` argument) ) //Find a valid icon_state from variables+arguments - var/t_state - if(override_state) - t_state = override_state - else - t_state = !isinhands ? (worn_icon_state ? worn_icon_state : icon_state) : (inhand_icon_state ? inhand_icon_state : icon_state) - + var/t_state = override_state || (isinhands ? inhand_icon_state : worn_icon_state) || icon_state //Find a valid icon file from variables+arguments - var/file2use - if(override_file) - file2use = override_file - else - file2use = !isinhands ? (worn_icon ? worn_icon : default_icon_file) : default_icon_file + var/file2use = override_file || (isinhands ? null : worn_icon) || default_icon_file //Find a valid layer from variables+arguments - var/layer2use = alternate_worn_layer ? alternate_worn_layer : default_layer + var/layer2use = alternate_worn_layer || default_layer var/mutable_appearance/standing if(female_uniform) @@ -897,28 +889,9 @@ mutant_styles: The mutant style - taur bodytype, STYLE_TESHARI, etc. // SKYRAT E //Get the overlays for this item when it's being worn //eg: ammo counters, primed grenade flashes, etc. - var/list/worn_overlays = worn_overlays(standing, isinhands, file2use, mutant_styles) // SKYRAT EDIT CHANGE - ORIGINAL: var/list/worn_overlays = worn_overlays(standing, isinhands) - if(worn_overlays?.len) - if(!isinhands && default_layer && ishuman(loc) && use_height_offset) - var/mob/living/carbon/human/human_loc = loc - if(human_loc.get_mob_height() != HUMAN_HEIGHT_MEDIUM) - var/string_form_layer = num2text(default_layer) - var/offset_amount = GLOB.layers_to_offset[string_form_layer] - if(isnull(offset_amount)) - // Worn overlays don't get batched in with standing overlays because they are overlay overlays - // ...So we need to apply human height here as well - for(var/mutable_appearance/applied_appearance as anything in worn_overlays) - if(isnull(applied_appearance)) - continue - human_loc.apply_height_filters(applied_appearance) - - else - for(var/mutable_appearance/applied_appearance in worn_overlays) - if(isnull(applied_appearance)) - continue - human_loc.apply_height_offsets(applied_appearance, offset_amount) - - standing.overlays.Add(worn_overlays) + var/list/worn_overlays = worn_overlays(standing, isinhands, file2use, mutant_styles) // SKYRAT EDIT CHANGE - ORIGINAL: var/list/worn_overlays = worn_overlays(standing, isinhands, file2use) + if(length(worn_overlays)) + standing.overlays += worn_overlays standing = center_image(standing, isinhands ? inhand_x_dimension : worn_x_dimension, isinhands ? inhand_y_dimension : worn_y_dimension) @@ -1000,23 +973,19 @@ mutant_styles: The mutant style - taur bodytype, STYLE_TESHARI, etc. // SKYRAT E var/raw_applied = overlays_standing[cache_index] var/string_form_index = num2text(cache_index) - var/offset_amount = GLOB.layers_to_offset[string_form_index] - if(isnull(offset_amount)) + var/offset_type = GLOB.layers_to_offset[string_form_index] + if(isnull(offset_type)) if(islist(raw_applied)) - for(var/mutable_appearance/applied_appearance as anything in raw_applied) - if(isnull(applied_appearance)) - continue + for(var/image/applied_appearance in raw_applied) apply_height_filters(applied_appearance) - else if(!isnull(raw_applied)) + else if(isimage(raw_applied)) apply_height_filters(raw_applied) else if(islist(raw_applied)) - for(var/mutable_appearance/applied_appearance as anything in raw_applied) - if(isnull(applied_appearance)) - continue - apply_height_offsets(applied_appearance, offset_amount) - else if(!isnull(raw_applied)) - apply_height_offsets(raw_applied, offset_amount) + for(var/image/applied_appearance in raw_applied) + apply_height_offsets(applied_appearance, offset_type) + else if(isimage(raw_applied)) + apply_height_offsets(raw_applied, offset_type) return ..() @@ -1026,7 +995,7 @@ mutant_styles: The mutant style - taur bodytype, STYLE_TESHARI, etc. // SKYRAT E * upper_torso is to specify whether the appearance is locate in the upper half of the mob rather than the lower half, * higher up things (hats for example) need to be offset more due to the location of the filter displacement */ -/mob/living/carbon/human/proc/apply_height_offsets(mutable_appearance/appearance, upper_torso) +/mob/living/carbon/human/proc/apply_height_offsets(image/appearance, upper_torso) var/height_to_use = num2text(get_mob_height()) var/final_offset = 0 switch(upper_torso) @@ -1043,7 +1012,7 @@ mutant_styles: The mutant style - taur bodytype, STYLE_TESHARI, etc. // SKYRAT E /** * Applies a filter to an appearance according to mob height */ -/mob/living/carbon/human/proc/apply_height_filters(mutable_appearance/appearance) +/mob/living/carbon/human/proc/apply_height_filters(image/appearance) var/static/icon/cut_torso_mask = icon('icons/effects/cut.dmi', "Cut1") var/static/icon/cut_legs_mask = icon('icons/effects/cut.dmi', "Cut2") var/static/icon/lenghten_torso_mask = icon('icons/effects/cut.dmi', "Cut3") @@ -1077,6 +1046,12 @@ mutant_styles: The mutant style - taur bodytype, STYLE_TESHARI, etc. // SKYRAT E appearance.add_filter("Lenghten_Torso", 1, displacement_map_filter(lenghten_torso_mask, x = 0, y = 0, size = 1)) appearance.add_filter("Lenghten_Legs", 1, displacement_map_filter(lenghten_legs_mask, x = 0, y = 0, size = 2)) + // Kinda gross but because many humans overlays do not use KEEP_TOGETHER we need to manually propogate the filter + // Otherwise overlays, such as worn overlays on icons, won't have the filter "applied", and the effect kinda breaks + if(!(appearance.appearance_flags & KEEP_TOGETHER)) + for(var/image/overlay in list() + appearance.underlays + appearance.overlays) + apply_height_filters(overlay) + return appearance #undef RESOLVE_ICON_STATE diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index be355bddbea..d8119c6a527 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -270,19 +270,6 @@ return min(1, thermal_protection) -/mob/living/carbon/human/handle_random_events(seconds_per_tick, times_fired) - //Puke if toxloss is too high - if(stat) - return - if(getToxLoss() < 45 || nutrition <= 20) - return - - lastpuke += SPT_PROB(30, seconds_per_tick) - if(lastpuke >= 50) // about 25 second delay I guess // This is actually closer to 150 seconds - vomit(VOMIT_CATEGORY_DEFAULT, lost_nutrition = 20) - lastpuke = 0 - - /mob/living/carbon/human/has_smoke_protection() if(isclothing(wear_mask)) if(wear_mask.clothing_flags & BLOCK_GAS_SMOKE_EFFECT) diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index af4cfd398fa..4667dadb4d4 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -26,7 +26,7 @@ bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_SPREAD // about 150C // Cold temperatures hurt faster as it is harder to move with out the heat energy bodytemp_cold_damage_limit = (T20C - 10) // about 10c - hair_color = "fixedmutcolor" + hair_color_mode = USE_FIXED_MUTANT_COLOR hair_alpha = 140 facial_hair_alpha = 140 @@ -54,7 +54,6 @@ if(!ishuman(new_ethereal)) return default_color = new_ethereal.dna.features["ethcolor"] - fixed_hair_color = default_color RegisterSignal(new_ethereal, COMSIG_ATOM_EMAG_ACT, PROC_REF(on_emag_act)) RegisterSignal(new_ethereal, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp_act)) RegisterSignal(new_ethereal, COMSIG_HIT_BY_SABOTEUR, PROC_REF(on_saboteur)) @@ -112,7 +111,6 @@ ethereal_light.set_light_range_power_color(1 + (2 * healthpercent), 1 + (1 * healthpercent), current_color) ethereal_light.set_light_on(TRUE) fixed_mut_color = current_color - fixed_hair_color = current_color ethereal.update_body() ethereal.set_facial_haircolor(current_color, override = TRUE, update = FALSE) ethereal.set_haircolor(current_color, override = TRUE, update = TRUE) @@ -120,7 +118,6 @@ ethereal_light.set_light_on(FALSE) var/dead_color = rgb(128,128,128) fixed_mut_color = dead_color - fixed_hair_color = dead_color ethereal.update_body() ethereal.set_facial_haircolor(dead_color, override = TRUE, update = FALSE) ethereal.set_haircolor(dead_color, override = TRUE, update = TRUE) diff --git a/code/modules/mob/living/carbon/human/species_types/felinid.dm b/code/modules/mob/living/carbon/human/species_types/felinid.dm index 57fd87500ec..71e65cbc22f 100644 --- a/code/modules/mob/living/carbon/human/species_types/felinid.dm +++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm @@ -246,7 +246,7 @@ SPECIES_PERK_ICON = FA_ICON_PERSON_FALLING, SPECIES_PERK_NAME = "Catlike Grace", SPECIES_PERK_DESC = "Felinids have catlike instincts allowing them to land upright on their feet. \ - Instead of being knocked down from falling, you only recieve a short slowdown. \ + Instead of being knocked down from falling, you only receive a short slowdown. \ However, they do not have catlike legs, and the fall will deal additional damage.", ), list( @@ -261,14 +261,14 @@ SPECIES_PERK_NAME = "Hydrophobia", SPECIES_PERK_DESC = "Felinids don't like getting soaked with water.", ), -//Skyrat addition begin +// SKYRAT EDIT ADDITION START list( SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, SPECIES_PERK_ICON = "paw", SPECIES_PERK_NAME = "Soft Landing", SPECIES_PERK_DESC = "Felinids are unhurt by high falls, and land on their feet.", ), -//Skyrat addition end +// SKYRAT EDIT ADDITION END ) return to_add diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 5a1c632acd7..879bd4e437d 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -30,7 +30,7 @@ changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT inherent_factions = list(FACTION_SLIME) species_language_holder = /datum/language_holder/jelly - hair_color = "mutcolor" + hair_color_mode = USE_MUTANT_COLOR hair_alpha = 150 facial_hair_alpha = 150 bodypart_overrides = list( diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index e8f323e1911..4c0430352a8 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -9,7 +9,7 @@ ) inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG mutant_bodyparts = list("moth_markings" = "None") - // external_organs = list(/obj/item/organ/external/wings/moth = "Plain", /obj/item/organ/external/antennae = "Plain") // SKYRAT EDIT - Fixing moths + // external_organs = list(/obj/item/organ/external/wings/moth = "Plain", /obj/item/organ/external/antennae = "Plain") // SKYRAT EDIT REMOVAL - Fixing moths meat = /obj/item/food/meat/slab/human/mutant/moth mutanttongue = /obj/item/organ/internal/tongue/moth mutanteyes = /obj/item/organ/internal/eyes/moth diff --git a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm index 046cbc165aa..61383bc55c1 100644 --- a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm @@ -2,11 +2,9 @@ name = "Mushroomperson" plural_form = "Mushroompeople" id = SPECIES_MUSHROOM - mutant_bodyparts = list("caps" = list(MUTANT_INDEX_NAME = "Round", MUTANT_INDEX_COLOR_LIST = list("#FF4B19"))) // SKYRAT EDIT - Customization - ORIGINAL: mutant_bodyparts = list("caps" = "Round") changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN fixed_mut_color = "#DBBF92" - hair_color = "#FF4B19" //cap color, spot color uses eye color inherent_traits = list( TRAIT_MUTANT_COLORS, @@ -41,10 +39,6 @@ /datum/species/mush/on_species_gain(mob/living/carbon/C, datum/species/old_species) . = ..() if(ishuman(C)) - var/mob/living/carbon/human/H = C - if(!H.dna.mutant_bodyparts["caps"] || H.dna.mutant_bodyparts["caps"][MUTANT_INDEX_NAME] != "None") // SKYRAT EDIT - Customization - ORIGINAL: if(!H.dna.features["caps"]) - H.dna.mutant_bodyparts["caps"] = list(MUTANT_INDEX_NAME = "Round", MUTANT_INDEX_COLOR_LIST = list(H.hair_color)) // SKYRAT EDIT - Customization - ORIGINAL: H.dna.features["caps"] = "Round" - handle_mutant_bodyparts(H) mush = new() mush.teach(C) mush.allow_temp_override = FALSE @@ -61,6 +55,36 @@ if(chem.type == /datum/reagent/toxin/plantbgone/weedkiller) affected.adjustToxLoss(3 * REM * seconds_per_tick) -/datum/species/mush/handle_mutant_bodyparts(mob/living/carbon/human/H, forced_colour, force_update = FALSE) //SKYRAT EDIT - ORIGINAL: /datum/species/mush/handle_mutant_bodyparts(mob/living/carbon/human/H, forced_colour) (one parameter added) - forced_colour = FALSE - return ..() +/datum/species/mush/get_fixed_hair_color(mob/living/carbon/human/for_mob) + return "#FF4B19" //cap color, spot color uses eye color + +/// A mushpersons mushroom cap organ +/obj/item/organ/external/mushroom_cap + name = "mushroom cap" + desc = "These are yummie, no cap." + + use_mob_sprite_as_obj_sprite = TRUE + + zone = BODY_ZONE_HEAD + slot = ORGAN_SLOT_EXTERNAL_POD_HAIR + + preference = "feature_mushperson_cap" + + //dna_block = DNA_MUSHROOM_CAPS_BLOCK // SKYRAT EDIT REMOVAL - Customization - We have our own system to handle DNA. + restyle_flags = EXTERNAL_RESTYLE_PLANT + + bodypart_overlay = /datum/bodypart_overlay/mutant/mushroom_cap + +/// Bodypart overlay for the mushroom cap organ +/datum/bodypart_overlay/mutant/mushroom_cap + layers = EXTERNAL_ADJACENT + feature_key = "caps" + +/datum/bodypart_overlay/mutant/mushroom_cap/get_global_feature_list() + return GLOB.caps_list + +/datum/bodypart_overlay/mutant/mushroom_cap/can_draw_on_bodypart(mob/living/carbon/human/human) + if((human.head?.flags_inv & HIDEHAIR) || (human.wear_mask?.flags_inv & HIDEHAIR)) + return FALSE + + return TRUE diff --git a/code/modules/mob/living/carbon/human/species_types/snail.dm b/code/modules/mob/living/carbon/human/species_types/snail.dm index ba77ba720c0..f0f526a1489 100644 --- a/code/modules/mob/living/carbon/human/species_types/snail.dm +++ b/code/modules/mob/living/carbon/human/species_types/snail.dm @@ -116,7 +116,8 @@ max_integrity = 200 resistance_flags = FIRE_PROOF | ACID_PROOF -/datum/armor/backpack_snail //SKYRAT COMMENT CLARIFICATION - Roundstart Snails - These armor values don't actually do any protection of the wearer, this is for checking direct damage to the backpack. Damage resistance stuff is in their heart file. +// SKYRAT EDIT ADDITION - CLARIFICATION - Roundstart Snails - These armor values don't actually do any protection of the wearer, this is for checking direct damage to the backpack. Damage resistance stuff is in their heart file. +/datum/armor/backpack_snail melee = 40 bullet = 30 laser = 30 diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 99d1f5bc8ea..f7626bd0e63 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -75,10 +75,10 @@ // Second link in a breath chain, calls [carbon/proc/check_breath()] /mob/living/carbon/proc/breathe(seconds_per_tick, times_fired) var/obj/item/organ/internal/lungs = get_organ_slot(ORGAN_SLOT_LUNGS) - if(SEND_SIGNAL(src, COMSIG_CARBON_ATTEMPT_BREATHE) & COMSIG_CARBON_BLOCK_BREATH) + if(SEND_SIGNAL(src, COMSIG_CARBON_ATTEMPT_BREATHE, seconds_per_tick, times_fired) & COMSIG_CARBON_BLOCK_BREATH) return - SEND_SIGNAL(src, COMSIG_CARBON_PRE_BREATHE) + SEND_SIGNAL(src, COMSIG_CARBON_PRE_BREATHE, seconds_per_tick, times_fired) var/datum/gas_mixture/environment if(loc) @@ -353,11 +353,6 @@ // Clear moodlet if no miasma at all. clear_mood_event("smell") else - // Miasma sickness - if(prob(1 * miasma_pp)) - var/datum/disease/advance/miasma_disease = new /datum/disease/advance/random(max_symptoms = 2, max_level = 3) - miasma_disease.name = "Unknown" - ForceContractDisease(miasma_disease, make_copy = TRUE, del_on_fail = TRUE) // Miasma side-effects. if (HAS_TRAIT(src, TRAIT_ANOSMIA)) //We can't feel miasma without sense of smell return @@ -528,8 +523,6 @@ for(var/datum/disease/disease as anything in diseases) if(QDELETED(disease)) //Got cured/deleted while the loop was still going. continue - if(SPT_PROB(disease.infectivity, seconds_per_tick)) - disease.spread() if(stat != DEAD || disease.process_dead) disease.stage_act(seconds_per_tick, times_fired) diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index 7e67b214efc..861d692c206 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -361,14 +361,31 @@ /mob/living/proc/adjustToxLoss(amount, updating_health = TRUE, forced = FALSE, required_biotype = ALL) if(!can_adjust_tox_loss(amount, forced, required_biotype)) return 0 + + if(!forced && HAS_TRAIT(src, TRAIT_TOXINLOVER)) //damage becomes healing and healing becomes damage + amount = -amount + if(HAS_TRAIT(src, TRAIT_TOXIMMUNE)) //Prevents toxin damage, but not healing + amount = min(amount, 0) + if(blood_volume) + if(amount > 0) + blood_volume = max(blood_volume - (5 * amount), 0) + else + blood_volume = max(blood_volume - amount, 0) + + else if(!forced && HAS_TRAIT(src, TRAIT_TOXIMMUNE)) //Prevents toxin damage, but not healing + amount = min(amount, 0) + . = toxloss toxloss = clamp((toxloss + (amount * CONFIG_GET(number/damage_multiplier))), 0, maxHealth * 2) . -= toxloss + if(!.) // no change, no need to update return FALSE + if(updating_health) updatehealth() + /mob/living/proc/setToxLoss(amount, updating_health = TRUE, forced = FALSE, required_biotype = ALL) if(!forced && (status_flags & GODMODE)) return FALSE diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 4ad18c4653b..fa4d8299a9e 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -681,13 +681,15 @@ return stripped_multiline_input(usr, "Choose an emote to display.", "Me" , null, MAX_MESSAGE_LEN) // SKYRAT EDIT CHANGE - ORIGINAL : return copytext(sanitize(input("Choose an emote to display.") as text|null), 1, MAX_MESSAGE_LEN) /datum/emote/living/custom/proc/get_custom_emote_type_from_user() - var/type = input("Is this a visible or hearable emote?") as null|anything in list("Visible", "Hearable") + var/type = input("Is this a visible or hearable emote?") as null|anything in list("Visible", "Hearable", "Both") switch(type) if("Visible") return EMOTE_VISIBLE if("Hearable") return EMOTE_AUDIBLE + if("Both") + return EMOTE_VISIBLE | EMOTE_AUDIBLE else tgui_alert(usr,"Unable to use this emote, must be either hearable or visible.") return FALSE diff --git a/code/modules/mob/living/init_signals.dm b/code/modules/mob/living/init_signals.dm index 8415881a83a..064a0573353 100644 --- a/code/modules/mob/living/init_signals.dm +++ b/code/modules/mob/living/init_signals.dm @@ -87,7 +87,7 @@ SIGNAL_HANDLER REMOVE_TRAIT(src, TRAIT_KNOCKEDOUT, TRAIT_DEATHCOMA) -/// Updates medhud when recieving relevant signals. +/// Updates medhud when receiving relevant signals. /mob/living/proc/update_medhud_on_signal(datum/source) SIGNAL_HANDLER med_hud_set_health() diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index dd7e8a17c9b..7c2af9a1572 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -53,10 +53,6 @@ if (QDELETED(src)) // diseases can qdel the mob via transformations return - if(stat != DEAD) - //Random events (vomiting etc) - handle_random_events(seconds_per_tick, times_fired) - //Handle temperature/pressure differences between body and environment var/datum/gas_mixture/environment = loc.return_air() if(environment) @@ -82,9 +78,6 @@ /mob/living/proc/handle_wounds(seconds_per_tick, times_fired) return -/mob/living/proc/handle_random_events(seconds_per_tick, times_fired) - return - // Base mob environment handler for body temperature /mob/living/proc/handle_environment(datum/gas_mixture/environment, seconds_per_tick, times_fired) var/loc_temp = get_temperature(environment) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 7da5e6d2dca..7f8edb978e3 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -289,20 +289,17 @@ return /mob/living/get_photo_description(obj/item/camera/camera) - var/list/mob_details = list() var/list/holding = list() var/len = length(held_items) if(len) - for(var/obj/item/I in held_items) + for(var/obj/item/held_item in held_items) if(!holding.len) - holding += "[p_They()] [p_are()] holding \a [I]" - else if(held_items.Find(I) == len) - holding += ", and \a [I]." + holding += "[p_They()] [p_are()] holding \a [held_item]" + else if(held_items.Find(held_item) == len) + holding += ", and \a [held_item]" else - holding += ", \a [I]" - holding += "." - mob_details += "You can also see [src] on the photo[health < (maxHealth * 0.75) ? ", looking a bit hurt":""][holding ? ". [holding.Join("")]":"."]." - return mob_details.Join("") + holding += ", \a [held_item]" + return "You can also see [src] on the photo[health < (maxHealth * 0.75) ? ", looking a bit hurt":""][holding.len ? ". [holding.Join("")].":"."]" //Called when we bump onto an obj /mob/living/proc/ObjBump(obj/O) @@ -636,10 +633,11 @@ * Returns the access list for this mob */ /mob/living/proc/get_access() + var/list/access_list = list() + SEND_SIGNAL(src, COMSIG_MOB_RETRIEVE_SIMPLE_ACCESS, access_list) var/obj/item/card/id/id = get_idcard() - if(isnull(id)) - return list() - return id.GetAccess() + access_list += id?.GetAccess() + return access_list /mob/living/proc/get_id_in_hand() var/obj/item/held_item = get_active_held_item() @@ -2222,6 +2220,7 @@ GLOBAL_LIST_EMPTY(fire_appearances) to_chat(src, span_warning("You can't see through the floor above you.")) return + looking_vertically = TRUE reset_perspective(ceiling) /mob/living/proc/stop_look_up() @@ -2230,6 +2229,7 @@ GLOBAL_LIST_EMPTY(fire_appearances) /mob/living/proc/end_look_up() stop_look_up() + looking_vertically = FALSE UnregisterSignal(src, COMSIG_MOVABLE_PRE_MOVE) UnregisterSignal(src, COMSIG_MOVABLE_MOVED) @@ -2272,6 +2272,7 @@ GLOBAL_LIST_EMPTY(fire_appearances) to_chat(src, span_warning("You can't see through the floor below you.")) return + looking_vertically = TRUE reset_perspective(lower_level) /mob/living/proc/stop_look_down() @@ -2280,6 +2281,7 @@ GLOBAL_LIST_EMPTY(fire_appearances) /mob/living/proc/end_look_down() stop_look_down() + looking_vertically = FALSE UnregisterSignal(src, COMSIG_MOVABLE_PRE_MOVE) UnregisterSignal(src, COMSIG_MOVABLE_MOVED) @@ -2777,7 +2779,7 @@ GLOBAL_LIST_EMPTY(fire_appearances) set name = "Look Up" set category = "IC" - if(client.perspective != MOB_PERSPECTIVE) + if(looking_vertically) end_look_up() else look_up() @@ -2786,7 +2788,7 @@ GLOBAL_LIST_EMPTY(fire_appearances) set name = "Look Down" set category = "IC" - if(client.perspective != MOB_PERSPECTIVE) + if(looking_vertically) end_look_down() else look_down() diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index d25eb894ae9..74c01b93621 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -266,22 +266,23 @@ /mob/living/proc/grabbedby(mob/living/user, supress_message = FALSE, grabbed_part) // SKYRAT EDIT CHANGE - ORIGINAL: /mob/living/proc/grabbedby(mob/living/user, supress_message = FALSE) if(user == src || anchored || !isturf(user.loc)) return FALSE + if(!user.pulling || user.pulling != src) user.start_pulling(src, supress_message = supress_message) return - // This line arbitrarily prevents any non-carbon from upgrading grabs - if(!iscarbon(user)) - return + if(!(status_flags & CANPUSH) || HAS_TRAIT(src, TRAIT_PUSHIMMUNE)) to_chat(user, span_warning("[src] can't be grabbed more aggressively!")) return FALSE + if(user.grab_state >= GRAB_AGGRESSIVE && HAS_TRAIT(user, TRAIT_PACIFISM)) to_chat(user, span_warning("You don't want to risk hurting [src]!")) return FALSE + grippedby(user) //proc to upgrade a simple pull into a more aggressive grab. -/mob/living/proc/grippedby(mob/living/carbon/user, instant = FALSE) +/mob/living/proc/grippedby(mob/living/user, instant = FALSE) if(user.grab_state >= user.max_grab) return user.changeNext_move(CLICK_CD_GRABBING) diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 56d10b83700..7224153ec92 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -214,6 +214,9 @@ ///what multiplicative slowdown we get from turfs currently. var/current_turf_slowdown = 0 + /// Is the mob looking vertically + var/looking_vertically = FALSE + /// Living mob's mood datum var/datum/mood/mob_mood diff --git a/code/modules/mob/living/silicon/ai/ai_defense.dm b/code/modules/mob/living/silicon/ai/ai_defense.dm index a80b84b95aa..7dea684e569 100644 --- a/code/modules/mob/living/silicon/ai/ai_defense.dm +++ b/code/modules/mob/living/silicon/ai/ai_defense.dm @@ -64,6 +64,10 @@ . = ..() if(user.combat_mode) return + if(stat != DEAD && !incapacitated() && (client || deployed_shell?.client)) + // alive and well AIs control their floor bolts + balloon_alert(user, "the AI's bolt motors resist.") + return ITEM_INTERACT_SUCCESS balloon_alert(user, "[!is_anchored ? "tightening" : "loosening"] bolts...") balloon_alert(src, "bolts being [!is_anchored ? "tightened" : "loosened"]...") if(!tool.use_tool(src, user, 4 SECONDS)) diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm index 8bb4d42b3c7..7a6b4c5f207 100644 --- a/code/modules/mob/living/silicon/laws.dm +++ b/code/modules/mob/living/silicon/laws.dm @@ -30,13 +30,13 @@ addtimer(CALLBACK(src, PROC_REF(show_laws)), 0) addtimer(CALLBACK(src, PROC_REF(deadchat_lawchange)), 0) last_lawchange_announce = world.time - //SKYRAT ADDITION START: AI LAWSYNC + // SKYRAT EDIT ADDITION START: AI LAWSYNC if(isAI(src)) var/mob/living/silicon/ai/ai = src for(var/mob/living/silicon/robot/cyborg as anything in ai.connected_robots) if(cyborg.connected_ai && cyborg.lawupdate) cyborg.lawsync() - //SKYRAT ADDITON END + // SKYRAT EDIT ADDITON END /mob/living/silicon/proc/set_zeroth_law(law, law_borg, announce = TRUE) laws_sanity_check() diff --git a/code/modules/mob/living/silicon/robot/robot_model.dm b/code/modules/mob/living/silicon/robot/robot_model.dm index 4cefbb87d9a..d2826d293d9 100644 --- a/code/modules/mob/living/silicon/robot/robot_model.dm +++ b/code/modules/mob/living/silicon/robot/robot_model.dm @@ -657,8 +657,7 @@ ..() var/obj/item/lightreplacer/light_replacer = locate(/obj/item/lightreplacer) in basic_modules if(light_replacer) - for(var/charge in 1 to coeff) - light_replacer.Charge(cyborg) + light_replacer.Charge(cyborg, coeff) var/obj/item/reagent_containers/spray/cyborg_drying/drying_agent = locate(/obj/item/reagent_containers/spray/cyborg_drying) in basic_modules if(drying_agent) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm index cebdfc99de1..16f4cbc9779 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm @@ -20,6 +20,10 @@ maxbodytemp = INFINITY vision_range = 5 aggro_vision_range = 18 + // Pale purple, should be red enough to see stuff on lavaland + lighting_cutoff_red = 25 + lighting_cutoff_green = 15 + lighting_cutoff_blue = 35 move_force = MOVE_FORCE_OVERPOWERING move_resist = MOVE_FORCE_OVERPOWERING pull_force = MOVE_FORCE_OVERPOWERING @@ -82,11 +86,11 @@ crusher_kill = TRUE if(crusher_loot) // spawn crusher loot, if any spawn_crusher_loot() - //SKYRAT ADDITION START - ASHWALKER TROPHIES + // SKYRAT EDIT ADDITION START - ASHWALKER TROPHIES var/datum/status_effect/ashwalker_damage/ashie_damage = has_status_effect(/datum/status_effect/ashwalker_damage) if(!crusher_kill && ashie_damage && crusher_loot && ashie_damage.total_damage >= maxHealth * 0.6) spawn_crusher_loot() - //SKYRAT ADDITION END + // SKYRAT EDIT ADDITION END if(true_spawn && !(flags_1 & ADMIN_SPAWNED_1)) var/tab = "megafauna_kills" if(crusher_kill) @@ -211,7 +215,13 @@ L.add_mob_memory(/datum/memory/megafauna_slayer, antagonist = src) L.client.give_award(/datum/award/achievement/boss/boss_killer, L) L.client.give_award(achievement_type, L) + //SKYRAT EDIT START + /* if(crusher_kill && istype(L.get_active_held_item(), /obj/item/kinetic_crusher)) + */ + var/obj/item/held_item = L.get_active_held_item() + if(crusher_kill && (istype(held_item, /obj/item/kinetic_gauntlet) || held_item.GetComponent(/datum/component/kinetic_crusher))) //trust me, i hate this just as much as you + //SKYRAT EDIT END L.client.give_award(crusher_achievement_type, L) L.client.give_award(/datum/award/score/boss_score, L) //Score progression for bosses killed in general L.client.give_award(score_achievement_type, L) //Score progression for specific boss killed diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm index 4c6605cd839..37649ceb3c5 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm @@ -29,7 +29,6 @@ Difficulty: Medium health_doll_icon = "miner" mob_biotypes = MOB_ORGANIC|MOB_HUMANOID light_color = COLOR_LIGHT_GRAYISH_RED - movement_type = GROUND speak_emote = list("roars") speed = 3 move_to_delay = 3 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm index d39c8a3e52b..d2773597fa1 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm @@ -1,10 +1,4 @@ #define WENDIGO_ENRAGED (health <= maxHealth*0.5) -#define WENDIGO_CIRCLE_SHOTCOUNT 24 -#define WENDIGO_CIRCLE_REPEATCOUNT 8 -#define WENDIGO_SPIRAL_SHOTCOUNT 40 -#define WENDIGO_WAVE_SHOTCOUNT 7 -#define WENDIGO_WAVE_REPEATCOUNT 32 -#define WENDIGO_SHOTGUN_SHOTCOUNT 5 /* @@ -51,9 +45,6 @@ Difficulty: Hard death_message = "falls to the ground in a bloody heap, shaking the arena." death_sound = 'sound/effects/gravhit.ogg' footstep_type = FOOTSTEP_MOB_HEAVY - attack_action_types = list(/datum/action/innate/megafauna_attack/heavy_stomp, - /datum/action/innate/megafauna_attack/teleport, - /datum/action/innate/megafauna_attack/shockwave_scream) summon_line = "GwaHOOOOOOOOOOOOOOOOOOOOO" /// Saves the turf the megafauna was created at (spawns exit portal here) var/turf/starting @@ -61,37 +52,38 @@ Difficulty: Hard var/stomp_range = 1 /// Stores directions the mob is moving, then calls that a move has fully ended when these directions are removed in moved var/stored_move_dirs = 0 - /// If the wendigo is allowed to move - var/can_move = TRUE /// Time before the wendigo can scream again var/scream_cooldown_time = 10 SECONDS + /// Teleport Ability + var/datum/action/cooldown/mob_cooldown/teleport/teleport + /// Shotgun Ability + var/datum/action/cooldown/mob_cooldown/projectile_attack/shotgun_blast/wendigo/shotgun_blast + /// Ground Slam Ability + var/datum/action/cooldown/mob_cooldown/ground_slam/ground_slam + /// Alternating Projectiles Ability + var/datum/action/cooldown/mob_cooldown/projectile_attack/alternating_circle/alternating_circle + /// Spiral Projectiles Ability + var/datum/action/cooldown/mob_cooldown/projectile_attack/spiral_shots/wendigo/spiral + /// Wave Projectiles Ability + var/datum/action/cooldown/mob_cooldown/projectile_attack/wave/wave /// Stores the last scream time so it doesn't spam it COOLDOWN_DECLARE(scream_cooldown) /mob/living/simple_animal/hostile/megafauna/wendigo/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_NO_FLOATING_ANIM, INNATE_TRAIT) - -/datum/action/innate/megafauna_attack/heavy_stomp - name = "Heavy Stomp" - button_icon = 'icons/mob/actions/actions_items.dmi' - button_icon_state = "sniper_zoom" - chosen_message = "You are now stomping the ground around you." - chosen_attack_num = 1 - -/datum/action/innate/megafauna_attack/teleport - name = "Teleport" - button_icon = 'icons/effects/bubblegum.dmi' - button_icon_state = "smack ya one" - chosen_message = "You are now teleporting at the target you click on." - chosen_attack_num = 2 - -/datum/action/innate/megafauna_attack/shockwave_scream - name = "Shockwave Scream" - button_icon = 'icons/mob/actions/actions_animal.dmi' - button_icon_state = "expand" - chosen_message = "You are now screeching, disorienting targets around you." - chosen_attack_num = 3 + teleport = new(src) + shotgun_blast = new(src) + ground_slam = new(src) + alternating_circle = new(src) + spiral = new(src) + wave = new(src) + teleport.Grant(src) + shotgun_blast.Grant(src) + ground_slam.Grant(src) + alternating_circle.Grant(src) + spiral.Grant(src) + wave.Grant(src) /mob/living/simple_animal/hostile/megafauna/wendigo/Initialize(mapload) . = ..() @@ -108,13 +100,6 @@ Difficulty: Hard move_to_delay = initial(move_to_delay) if(client) - switch(chosen_attack) - if(1) - heavy_stomp() - if(2) - try_teleport() - if(3) - shockwave_scream() return var/mob/living/living_target = target @@ -127,28 +112,54 @@ Difficulty: Hard chosen_attack = rand(1, 2) switch(chosen_attack) if(1) - heavy_stomp() + ground_slam.Activate(target) if(2) - try_teleport() + teleport.Activate(target) + if(WENDIGO_ENRAGED) + shotgun_blast.Activate(target) if(3) do_teleport(src, starting, 0, channel=TELEPORT_CHANNEL_BLUESPACE, forced = TRUE) - shockwave_scream() + var/shockwave_attack + if(WENDIGO_ENRAGED) + shockwave_attack = rand(1, 3) + else + shockwave_attack = rand(1, 2) + switch(shockwave_attack) + if(1) + alternating_circle.enraged = WENDIGO_ENRAGED + alternating_circle.Activate(target) + if(2) + spiral.enraged = WENDIGO_ENRAGED + spiral.Activate(target) + if(3) + wave.Activate(target) + update_cooldowns(list(COOLDOWN_UPDATE_SET_MELEE = 3 SECONDS, COOLDOWN_UPDATE_SET_RANGED = 3 SECONDS)) /mob/living/simple_animal/hostile/megafauna/wendigo/Move(atom/newloc, direct) - if(!can_move) - return stored_move_dirs |= direct - return ..() + . = ..() + // Remove after anyways in case the movement was prevented + stored_move_dirs &= ~direct /mob/living/simple_animal/hostile/megafauna/wendigo/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change = TRUE) . = ..() stored_move_dirs &= ~movement_dir if(!stored_move_dirs) - INVOKE_ASYNC(src, PROC_REF(wendigo_slam), stomp_range, 1, 8) + INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(wendigo_slam), src, stomp_range, 1, 8) -/// Slams the ground around the source throwing back enemies caught nearby, delay is for the radius increase -/mob/living/simple_animal/hostile/megafauna/wendigo/proc/wendigo_slam(range, delay, throw_range) - var/turf/origin = get_turf(src) +/proc/wendigo_scream(mob/owner) + SLEEP_CHECK_DEATH(5, owner) + playsound(owner.loc, 'sound/magic/demon_dies.ogg', 600, FALSE, 10) + var/pixel_shift = rand(5, 15) + animate(owner, pixel_z = pixel_shift, time = 1, loop = 20, flags = ANIMATION_RELATIVE) + animate(pixel_z = -pixel_shift, time = 1, flags = ANIMATION_RELATIVE) + for(var/mob/living/dizzy_target in get_hearers_in_view(7, owner) - owner) + dizzy_target.set_dizzy_if_lower(12 SECONDS) + to_chat(dizzy_target, span_danger("[owner] screams loudly!")) + SLEEP_CHECK_DEATH(1 SECONDS, owner) + +/proc/wendigo_slam(mob/owner, range, delay, throw_range) + var/turf/origin = get_turf(owner) if(!origin) return var/list/all_turfs = RANGE_TURFS(range, origin) @@ -158,117 +169,16 @@ Difficulty: Hard if(get_dist(origin, stomp_turf) > sound_range) continue new /obj/effect/temp_visual/small_smoke/halfsecond(stomp_turf) - for(var/mob/living/target in stomp_turf) - if(target == src || target.throwing) + for(var/mob/living/hit_mob in stomp_turf) + if(hit_mob == owner || hit_mob.throwing) continue - to_chat(target, span_userdanger("[src]'s ground slam shockwave sends you flying!")) - var/turf/thrownat = get_ranged_target_turf_direct(src, target, throw_range, rand(-10, 10)) - target.throw_at(thrownat, 8, 2, null, TRUE, force = MOVE_FORCE_OVERPOWERING, gentle = TRUE) - target.apply_damage(20, BRUTE, wound_bonus=CANT_WOUND) - shake_camera(target, 2, 1) + to_chat(hit_mob, span_userdanger("[owner]'s ground slam shockwave sends you flying!")) + var/turf/thrownat = get_ranged_target_turf_direct(owner, hit_mob, throw_range, rand(-10, 10)) + hit_mob.throw_at(thrownat, 8, 2, null, TRUE, force = MOVE_FORCE_OVERPOWERING, gentle = TRUE) + hit_mob.apply_damage(20, BRUTE, wound_bonus=CANT_WOUND) + shake_camera(hit_mob, 2, 1) all_turfs -= stomp_turf - sleep(delay) - -/// Larger but slower ground stomp -/mob/living/simple_animal/hostile/megafauna/wendigo/proc/heavy_stomp() - can_move = FALSE - wendigo_slam(5, 3 - WENDIGO_ENRAGED, 8) - update_cooldowns(list(COOLDOWN_UPDATE_SET_MELEE = 0 SECONDS, COOLDOWN_UPDATE_SET_RANGED = 0 SECONDS)) - can_move = TRUE - -/// Teleports to a location 4 turfs away from the enemy in view -/mob/living/simple_animal/hostile/megafauna/wendigo/proc/try_teleport() - teleport(6) - if(WENDIGO_ENRAGED) - playsound(loc, 'sound/magic/clockwork/invoke_general.ogg', 100, TRUE) - for(var/shots in 1 to WENDIGO_SHOTGUN_SHOTCOUNT) - var/spread = shots * 10 - 30 - var/turf/startloc = get_step(get_turf(src), get_dir(src, target)) - var/turf/endloc = get_turf(target) - if(!endloc) - break - var/obj/projectile/colossus/wendigo_shockwave/shockwave = new /obj/projectile/colossus/wendigo_shockwave(loc) - shockwave.speed = 8 - shockwave.preparePixelProjectile(endloc, startloc, null, spread) - shockwave.firer = src - if(target) - shockwave.original = target - shockwave.fire() - update_cooldowns(list(COOLDOWN_UPDATE_SET_MELEE = 0 SECONDS, COOLDOWN_UPDATE_SET_RANGED = 0 SECONDS)) - -/mob/living/simple_animal/hostile/megafauna/wendigo/proc/teleport(range = 6) - var/list/possible_ends = view(range, target.loc) - view(range - 1, target.loc) - for(var/turf/closed/cant_teleport_turf in possible_ends) - possible_ends -= cant_teleport_turf - if(!possible_ends.len) - return - var/turf/end = pick(possible_ends) - do_teleport(src, end, 0, channel=TELEPORT_CHANNEL_BLUESPACE, forced = TRUE) - -/// Applies dizziness to all nearby enemies that can hear the scream and animates the wendigo shaking up and down as shockwave projectiles shoot outward -/mob/living/simple_animal/hostile/megafauna/wendigo/proc/shockwave_scream() - can_move = FALSE - COOLDOWN_START(src, scream_cooldown, scream_cooldown_time) - SLEEP_CHECK_DEATH(5, src) - playsound(loc, 'sound/magic/demon_dies.ogg', 600, FALSE, 10) - var/pixel_shift = rand(5, 15) - animate(src, pixel_z = pixel_shift, time = 1, loop = 20, flags = ANIMATION_RELATIVE) - animate(pixel_z = -pixel_shift, time = 1, flags = ANIMATION_RELATIVE) - for(var/mob/living/dizzy_target in get_hearers_in_view(7, src) - src) - dizzy_target.set_dizzy_if_lower(12 SECONDS) - to_chat(dizzy_target, span_danger("The wendigo screams loudly!")) - SLEEP_CHECK_DEATH(1 SECONDS, src) - spiral_attack() - update_cooldowns(list(COOLDOWN_UPDATE_SET_MELEE = 3 SECONDS, COOLDOWN_UPDATE_SET_RANGED = 3 SECONDS)) - SLEEP_CHECK_DEATH(3 SECONDS, src) - can_move = TRUE - -/// Shoots shockwave projectiles in a random preset pattern -/mob/living/simple_animal/hostile/megafauna/wendigo/proc/spiral_attack() - var/list/choices = list("Alternating Circle", "Spiral") - if(WENDIGO_ENRAGED) - choices += "Wave" - var/spiral_type = pick(choices) - switch(spiral_type) - if("Alternating Circle") - var/shots_per = WENDIGO_CIRCLE_SHOTCOUNT - for(var/shoot_times in 1 to WENDIGO_CIRCLE_REPEATCOUNT) - var/offset = shoot_times % 2 - for(var/shot in 1 to shots_per) - var/angle = shot * 360 / shots_per + (offset * 360 / shots_per) * 0.5 - var/obj/projectile/colossus/wendigo_shockwave/shockwave = new /obj/projectile/colossus/wendigo_shockwave(loc) - shockwave.firer = src - shockwave.speed = 3 - WENDIGO_ENRAGED - shockwave.fire(angle) - SLEEP_CHECK_DEATH(6 - WENDIGO_ENRAGED * 2, src) - if("Spiral") - var/shots_spiral = WENDIGO_SPIRAL_SHOTCOUNT - var/angle_to_target = get_angle(src, target) - var/spiral_direction = pick(-1, 1) - for(var/shot in 1 to shots_spiral) - var/shots_per_tick = 5 - WENDIGO_ENRAGED * 3 - var/angle_change = (5 + WENDIGO_ENRAGED * shot / 6) * spiral_direction - for(var/count in 1 to shots_per_tick) - var/angle = angle_to_target + shot * angle_change + count * 360 / shots_per_tick - var/obj/projectile/colossus/wendigo_shockwave/shockwave = new /obj/projectile/colossus/wendigo_shockwave(loc) - shockwave.firer = src - shockwave.damage = 15 - shockwave.fire(angle) - SLEEP_CHECK_DEATH(1, src) - if("Wave") - var/shots_per = WENDIGO_WAVE_SHOTCOUNT - var/difference = 360 / shots_per - var/wave_direction = pick(-1, 1) - for(var/shoot_times in 1 to WENDIGO_WAVE_REPEATCOUNT) - for(var/shot in 1 to shots_per) - var/angle = shot * difference + shoot_times * 5 * wave_direction * -1 - var/obj/projectile/colossus/wendigo_shockwave/shockwave = new /obj/projectile/colossus/wendigo_shockwave(loc) - shockwave.firer = src - shockwave.wave_movement = TRUE - shockwave.speed = 8 - shockwave.wave_speed = 10 * wave_direction - shockwave.fire(angle) - SLEEP_CHECK_DEATH(2, src) + SLEEP_CHECK_DEATH(delay, owner) /mob/living/simple_animal/hostile/megafauna/wendigo/death(gibbed, list/force_grant) if(health > 0) @@ -285,6 +195,7 @@ Difficulty: Hard /obj/projectile/colossus/wendigo_shockwave name = "wendigo shockwave" + speed = 2 /// If wave movement is enabled var/wave_movement = FALSE /// Amount the angle changes every pixel move @@ -292,6 +203,17 @@ Difficulty: Hard /// Amount of movements this projectile has made var/pixel_moves = 0 +/obj/projectile/colossus/wendigo_shockwave/spiral + damage = 15 + +/obj/projectile/colossus/wendigo_shockwave/wave + speed = 8 + wave_movement = TRUE + wave_speed = 10 + +/obj/projectile/colossus/wendigo_shockwave/wave/alternate + wave_speed = -10 + /obj/projectile/colossus/wendigo_shockwave/pixel_move(trajectory_multiplier, hitscanning = FALSE) . = ..() if(wave_movement) @@ -325,6 +247,8 @@ Difficulty: Hard /obj/item/crusher_trophy/wendigo_horn/effect_desc() return "melee hits inflict twice as much damage" +//SKYRAT EDIT START - MOVED TO MODULAR +/* /obj/item/crusher_trophy/wendigo_horn/add_to(obj/item/kinetic_crusher/crusher, mob/living/user) . = ..() if(.) @@ -334,6 +258,8 @@ Difficulty: Hard . = ..() if(.) crusher.AddComponent(/datum/component/two_handed, force_wielded=20) +*/ +//SKYRAT EDIT END /obj/item/wendigo_skull name = "wendigo skull" @@ -344,9 +270,3 @@ Difficulty: Hard throwforce = 0 #undef WENDIGO_ENRAGED -#undef WENDIGO_CIRCLE_SHOTCOUNT -#undef WENDIGO_CIRCLE_REPEATCOUNT -#undef WENDIGO_SPIRAL_SHOTCOUNT -#undef WENDIGO_WAVE_SHOTCOUNT -#undef WENDIGO_WAVE_REPEATCOUNT -#undef WENDIGO_SHOTGUN_SHOTCOUNT diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm index 0b163124a8e..936398478a3 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm @@ -81,4 +81,9 @@ var/obj/item/I = user.get_active_held_item() if(!I) return + //SKYRAT EDIT START + if(istype(I, /obj/item/kinetic_gauntlet)) + var/obj/item/kinetic_gauntlet/gauntlet = I + gauntlet.next_attack = 0 //i hate this but i also don't know how else to implement this + //SKYRAT EDIT END I.melee_attack_chain(user, target, null) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 2a5be377ecd..a0658c3a02b 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -134,9 +134,6 @@ /// What job does this mob have var/job = null//Living - /// Can this mob enter shuttles - var/move_on_shuttle = 1 - /// bitflags defining which status effects can be inflicted (replaces canknockdown, canstun, etc) var/status_flags = CANSTUN|CANKNOCKDOWN|CANUNCONSCIOUS|CANPUSH diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 7a8c993f26b..9092efac428 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -115,6 +115,27 @@ . += "*" return sanitize(.) +/** + * For when you're only able to speak a limited amount of words + * phrase - the string to convert + * definitive_limit - the amount of words to limit the phrase to, optional +*/ +/proc/stifled(phrase, definitive_limit = null) + phrase = html_decode(phrase) + var/num_words = 0 + var/words = splittext(phrase, " ") + if(definitive_limit > 0) // in case someone passes a negative + num_words = min(definitive_limit, length(words)) + else + num_words = min(rand(3, 5), length(words)) + . = "" + for(var/i = 1, i <= num_words, i++) + if(num_words == i) + . += words[i] + "..." + else + . += words[i] + " ... " + return sanitize(.) + /** * Turn text into complete gibberish! * diff --git a/code/modules/mob/mob_say.dm b/code/modules/mob/mob_say.dm index f634bd187a4..bd6c9dfe6b3 100644 --- a/code/modules/mob/mob_say.dm +++ b/code/modules/mob/mob_say.dm @@ -42,6 +42,7 @@ /mob/verb/me_verb(message as text) set name = "Me" set category = "IC" + set desc = "Perform a custom emote. Leave blank to pick between an audible or a visible emote (Defaults to visible)." if(GLOB.say_disabled) //This is here to try to identify lag problems to_chat(usr, span_danger("Speech is currently admin-disabled.")) @@ -49,7 +50,7 @@ message = trim(copytext_char(sanitize(message), 1, MAX_MESSAGE_LEN)) - QUEUE_OR_CALL_VERB_FOR(VERB_CALLBACK(src, TYPE_PROC_REF(/mob, emote), "me", 1, message, TRUE), SSspeech_controller) + QUEUE_OR_CALL_VERB_FOR(VERB_CALLBACK(src, TYPE_PROC_REF(/mob, emote), "me", EMOTE_VISIBLE|EMOTE_AUDIBLE, message, TRUE), SSspeech_controller) /mob/try_speak(message, ignore_spam = FALSE, forced = null, filterproof = FALSE) var/list/filter_result diff --git a/code/modules/mob_spawn/ghost_roles/mining_roles.dm b/code/modules/mob_spawn/ghost_roles/mining_roles.dm index f03101584f7..eb5ad90513a 100644 --- a/code/modules/mob_spawn/ghost_roles/mining_roles.dm +++ b/code/modules/mob_spawn/ghost_roles/mining_roles.dm @@ -36,7 +36,7 @@ if(3) flavour_text += "you were a doctor on one of Nanotrasen's space stations, but you left behind that damn corporation's tyranny and everything it stood for. From a metaphorical hell \ to a literal one, you find yourself nonetheless missing the recycled air and warm floors of what you left behind... but you'd still rather be here than there." - outfit.uniform = /obj/item/clothing/under/rank/medical/scrubs/blue + outfit.uniform = /obj/item/clothing/under/rank/medical/doctor outfit.suit = /obj/item/clothing/suit/toggle/labcoat outfit.back = /obj/item/storage/backpack/medic if(4) diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index 24bae497cab..aaee4713413 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -306,7 +306,7 @@ playsound(src, 'sound/machines/scanbuzz.ogg', 25, FALSE, SILENCED_SOUND_EXTRARANGE) return - // SKYRAT ADDITION END + // SKYRAT EDIT ADDITION END if(!wearer.incapacitated()) var/atom/movable/screen/inventory/hand/ui_hand = over_object diff --git a/code/modules/mod/modules/_module.dm b/code/modules/mod/modules/_module.dm index aeab9fbb43c..7856233a219 100644 --- a/code/modules/mod/modules/_module.dm +++ b/code/modules/mod/modules/_module.dm @@ -101,7 +101,7 @@ if(!COOLDOWN_FINISHED(src, cooldown_timer)) balloon_alert(mod.wearer, "on cooldown!") return FALSE - if(((!mod.active || mod.activating) && !(allow_flags & MODULE_ALLOW_INACTIVE)) || !mod.get_charge()) //SKYRAT ADDITION: INACTIVE USE + if(((!mod.active || mod.activating) && !(allow_flags & MODULE_ALLOW_INACTIVE)) || !mod.get_charge()) // SKYRAT EDIT ADDITION: INACTIVE USE balloon_alert(mod.wearer, "unpowered!") return FALSE diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 54d6abe51cc..ff08a07611e 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -484,7 +484,10 @@ playsound(src, 'sound/machines/card_slide.ogg', 50) /obj/item/modular_computer/proc/turn_on(mob/user, open_ui = TRUE) - var/issynth = HAS_SILICON_ACCESS(user) // Robots and AIs get different activation messages. + var/issynth = FALSE // Robots and AIs get different activation messages. + if(user) + issynth = HAS_SILICON_ACCESS(user) + if(atom_integrity <= integrity_failure * max_integrity) if(user) if(issynth) diff --git a/code/modules/modular_computers/computers/item/computer_circuit.dm b/code/modules/modular_computers/computers/item/computer_circuit.dm index 2a6a0d70be9..35caaf3c851 100644 --- a/code/modules/modular_computers/computers/item/computer_circuit.dm +++ b/code/modules/modular_computers/computers/item/computer_circuit.dm @@ -5,7 +5,9 @@ var/obj/item/modular_computer/computer ///Turns the PC on/off var/datum/port/input/on_off - ///When set, will print a piece of paper with the value as text. + ///Determines the text to be printed + var/datum/port/input/print_text + /// Print when triggered var/datum/port/input/print ///Sent when turned on @@ -18,6 +20,7 @@ var/datum/port/input/red var/datum/port/input/green var/datum/port/input/blue + var/datum/port/input/set_color /obj/item/circuit_component/modpc/register_shell(atom/movable/shell) . = ..() @@ -39,10 +42,11 @@ * I hope you're cool with me doing it here. */ if(computer.has_light && isnull(lights)) - lights = add_input_port("Toggle Lights", PORT_TYPE_SIGNAL) + lights = add_input_port("Toggle Lights", PORT_TYPE_SIGNAL, trigger = PROC_REF(toggle_flashlight)) red = add_input_port("Red", PORT_TYPE_NUMBER) green = add_input_port("Green", PORT_TYPE_NUMBER) blue = add_input_port("Blue", PORT_TYPE_NUMBER) + set_color = add_input_port("Set Color", PORT_TYPE_SIGNAL, trigger = PROC_REF(set_flashlight_color)) /obj/item/circuit_component/modpc/unregister_shell(atom/movable/shell) if(computer) @@ -51,45 +55,37 @@ return ..() /obj/item/circuit_component/modpc/populate_ports() - on_off = add_input_port("Turn On/Off", PORT_TYPE_SIGNAL) - print = add_input_port("Print Text", PORT_TYPE_STRING) + on_off = add_input_port("Turn On/Off", PORT_TYPE_SIGNAL, trigger = PROC_REF(toggle_power)) + print_text = add_input_port("Print Text", PORT_TYPE_STRING) + print = add_input_port("Print", PORT_TYPE_SIGNAL, trigger = PROC_REF(print_text)) is_on = add_output_port("Turned On", PORT_TYPE_SIGNAL) - is_on = add_output_port("Shut Down", PORT_TYPE_SIGNAL) + is_off = add_output_port("Shut Down", PORT_TYPE_SIGNAL) /obj/item/circuit_component/modpc/pre_input_received(datum/port/input/port) if(isnull(computer)) return - if(COMPONENT_TRIGGERED_BY(print, port)) + if(COMPONENT_TRIGGERED_BY(print_text, port)) print.set_value(html_encode(trim(print.value, MAX_PAPER_LENGTH))) - else if(COMPONENT_TRIGGERED_BY(red, port)) - red.set_value(clamp(red.value, 0, 255)) - else if(COMPONENT_TRIGGERED_BY(blue, port)) - blue.set_value(clamp(blue.value, 0, 255)) - else if(COMPONENT_TRIGGERED_BY(green, port)) - green.set_value(clamp(green.value, 0, 255)) -/obj/item/circuit_component/modpc/input_received(datum/port/input/port) - if(isnull(computer)) - return - if(COMPONENT_TRIGGERED_BY(on_off, port)) - if(computer.enabled) - INVOKE_ASYNC(computer, TYPE_PROC_REF(/obj/item/modular_computer, shutdown_computer)) - else - INVOKE_ASYNC(computer, TYPE_PROC_REF(/obj/item/modular_computer, turn_on)) - return +/obj/item/circuit_component/modpc/proc/print_text(datum/source) + if(computer.enabled) + computer.print_text(print_text.value) - if(!computer.enabled) - return +/obj/item/circuit_component/modpc/proc/toggle_power(datum/source) + if(computer.enabled) + INVOKE_ASYNC(computer, TYPE_PROC_REF(/obj/item/modular_computer, shutdown_computer)) + else + INVOKE_ASYNC(computer, TYPE_PROC_REF(/obj/item/modular_computer, turn_on)) - if(COMPONENT_TRIGGERED_BY(print, port)) - computer.print_text(print.value) +/obj/item/circuit_component/modpc/proc/toggle_flashlight(datum/source) + computer.toggle_flashlight() - if(lights) - if(COMPONENT_TRIGGERED_BY(lights, port)) - computer.toggle_flashlight() - if(COMPONENT_TRIGGERED_BY(red, port) || COMPONENT_TRIGGERED_BY(green, port) || COMPONENT_TRIGGERED_BY(blue, port)) - computer.set_flashlight_color(rgb(red.value || 0, green.value || 0, blue.value || 0)) +/obj/item/circuit_component/modpc/proc/set_flashlight_color(datum/source) + red.set_value(clamp(red.value, 0, 255)) + blue.set_value(clamp(blue.value, 0, 255)) + green.set_value(clamp(green.value, 0, 255)) + computer.set_flashlight_color(rgb(red.value || 0, green.value || 0, blue.value || 0)) /obj/item/circuit_component/modpc/proc/computer_on(datum/source, mob/user) SIGNAL_HANDLER diff --git a/code/modules/modular_computers/file_system/programs/messenger/messenger_program.dm b/code/modules/modular_computers/file_system/programs/messenger/messenger_program.dm index 34aaf9c8515..557a610fa75 100644 --- a/code/modules/modular_computers/file_system/programs/messenger/messenger_program.dm +++ b/code/modules/modular_computers/file_system/programs/messenger/messenger_program.dm @@ -717,7 +717,7 @@ var/photo_message = signal.data["photo"] ? " (Photo Attached)" : "" to_chat(messaged_mob, span_infoplain("[icon2html(computer, messaged_mob)] PDA message from [sender_title], \"[inbound_message]\"[photo_message] [reply]")) - SEND_SIGNAL(computer, COMSIG_COMPUTER_RECIEVED_MESSAGE, sender_title, inbound_message, photo_message) + SEND_SIGNAL(computer, COMSIG_COMPUTER_RECEIVED_MESSAGE, sender_title, inbound_message, photo_message) if (alert_able && (!alert_silenced || is_rigged)) computer.ring(ringtone) diff --git a/code/modules/modular_computers/file_system/programs/techweb.dm b/code/modules/modular_computers/file_system/programs/techweb.dm index 2103e0d4a22..1394b9556a6 100644 --- a/code/modules/modular_computers/file_system/programs/techweb.dm +++ b/code/modules/modular_computers/file_system/programs/techweb.dm @@ -197,7 +197,7 @@ if(stored_research.can_afford(price)) user.investigate_log("researched [id]([json_encode(price)]) on techweb id [stored_research.id] via [computer].", INVESTIGATE_RESEARCH) if(istype(stored_research, /datum/techweb/science)) - SSblackbox.record_feedback("associative", "science_techweb_unlock", 1, list("id" = "[id]", "name" = tech_node.display_name, "price" = "[json_encode(price)]", "time" = SQLtime())) + SSblackbox.record_feedback("associative", "science_techweb_unlock", 1, list("id" = "[id]", "name" = tech_node.display_name, "price" = "[json_encode(price)]", "time" = ISOtime())) if(stored_research.research_node_id(id)) computer.say("Successfully researched [tech_node.display_name].") var/logname = "Unknown" diff --git a/code/modules/modular_computers/file_system/programs/virtual_pet.dm b/code/modules/modular_computers/file_system/programs/virtual_pet.dm index 1d3196789ca..1a1c69b9748 100644 --- a/code/modules/modular_computers/file_system/programs/virtual_pet.dm +++ b/code/modules/modular_computers/file_system/programs/virtual_pet.dm @@ -127,11 +127,11 @@ GLOBAL_LIST_EMPTY(virtual_pets_list) pet.forceMove(computer) -/datum/computer_file/program/virtual_pet/proc/on_message_recieve(datum/source, sender_title, inbound_message, photo_message) +/datum/computer_file/program/virtual_pet/proc/on_message_receive(datum/source, sender_title, inbound_message, photo_message) SIGNAL_HANDLER var/message_to_display = "[sender_title] has sent you a message [photo_message ? "with a photo attached" : ""]: [inbound_message]!" - pet.ai_controller?.set_blackboard_key(BB_LAST_RECIEVED_MESSAGE, message_to_display) + pet.ai_controller?.set_blackboard_key(BB_LAST_RECEIVED_MESSAGE, message_to_display) /datum/computer_file/program/virtual_pet/proc/pet_pre_clean(atom/source, mob/user) SIGNAL_HANDLER @@ -289,7 +289,7 @@ GLOBAL_LIST_EMPTY(virtual_pets_list) /datum/computer_file/program/virtual_pet/proc/grant_level_abilities() switch(level) if(2) - RegisterSignal(computer, COMSIG_COMPUTER_RECIEVED_MESSAGE, PROC_REF(on_message_recieve)) // we will now read out PDA messages + RegisterSignal(computer, COMSIG_COMPUTER_RECEIVED_MESSAGE, PROC_REF(on_message_receive)) // we will now read out PDA messages var/datum/action/cooldown/mob_cooldown/lights/lights = new(pet) lights.Grant(pet) pet.ai_controller?.set_blackboard_key(BB_LIGHTS_ABILITY, lights) diff --git a/code/modules/photography/_pictures.dm b/code/modules/photography/_pictures.dm index 3d430439b90..3a6aa1ffc64 100644 --- a/code/modules/photography/_pictures.dm +++ b/code/modules/photography/_pictures.dm @@ -177,7 +177,7 @@ fdel(jsonpath) else json = list() - json[id] = serialize_list() + json[id] = serialize_list(semvers = list()) WRITE_FILE(jsonpath, json_encode(json)) /datum/picture/proc/Copy(greyscale = FALSE, cropx = 0, cropy = 0) diff --git a/code/modules/photography/camera/camera.dm b/code/modules/photography/camera/camera.dm index 35462a24d86..c8159de9b34 100644 --- a/code/modules/photography/camera/camera.dm +++ b/code/modules/photography/camera/camera.dm @@ -226,7 +226,7 @@ if(person.is_face_visible()) names += "[person.name]" - var/datum/picture/picture = new("picture", desc.Join(" "), mobs_spotted, dead_spotted, names, get_icon, null, psize_x, psize_y, blueprints, can_see_ghosts = see_ghosts) + var/datum/picture/picture = new("picture", desc.Join("
"), mobs_spotted, dead_spotted, names, get_icon, null, psize_x, psize_y, blueprints, can_see_ghosts = see_ghosts) after_picture(user, picture) SEND_SIGNAL(src, COMSIG_CAMERA_IMAGE_CAPTURED, target, user, picture) blending = FALSE diff --git a/code/modules/power/apc/apc_attack.dm b/code/modules/power/apc/apc_attack.dm index acaaac1bd3e..8c9715f1dcb 100644 --- a/code/modules/power/apc/apc_attack.dm +++ b/code/modules/power/apc/apc_attack.dm @@ -111,13 +111,11 @@ if(!HAS_SILICON_ACCESS(user)) return TRUE . = TRUE - var/mob/living/silicon/ai/AI = user - var/mob/living/silicon/robot/robot = user - if(istype(AI) || istype(robot)) + if(isAI(user) || iscyborg(user)) if(aidisabled) . = FALSE - else if(istype(malfai) && (malfai != AI || !(robot in malfai.connected_robots))) - . = FALSE + else if(istype(malfai) && !(malfai == user || (user in malfai.connected_robots))) + . = FALSE if (!. && !loud) balloon_alert(user, "it's disabled!") return . diff --git a/code/modules/power/apc/apc_tool_act.dm b/code/modules/power/apc/apc_tool_act.dm index 0116205fdd4..a82ce2f8f0d 100644 --- a/code/modules/power/apc/apc_tool_act.dm +++ b/code/modules/power/apc/apc_tool_act.dm @@ -484,7 +484,7 @@ else if(machine_stat & (BROKEN|MAINT)) balloon_alert(user, "nothing happens!") else - if(allowed(usr) && !wires.is_cut(WIRE_IDSCAN) && !malfhack && !remote_control_user) + if(allowed(usr) && !wires.is_cut(WIRE_IDSCAN) && ((!malfhack && !remote_control_user) || (malfhack && (malfai == user || (user in malfai.connected_robots))))) locked = !locked balloon_alert(user, locked ? "locked" : "unlocked") update_appearance() diff --git a/code/modules/power/lighting/light.dm b/code/modules/power/lighting/light.dm index b86cc09ab51..626334228d6 100644 --- a/code/modules/power/lighting/light.dm +++ b/code/modules/power/lighting/light.dm @@ -328,11 +328,17 @@ var/delay = rand(BROKEN_SPARKS_MIN, BROKEN_SPARKS_MAX) addtimer(CALLBACK(src, PROC_REF(broken_sparks)), delay, TIMER_UNIQUE | TIMER_NO_HASH_WAIT) +/obj/machinery/light/proc/is_full_charge() + if(cell) + return cell.charge == cell.maxcharge + return TRUE + /obj/machinery/light/process(seconds_per_tick) - if(has_power()) //If the light is being powered by the station. + if(has_power()) + // If the cell is done mooching station power, and reagents don't need processing, stop processing + if(is_full_charge() && !reagents) + return PROCESS_KILL if(cell) - if(cell.charge == cell.maxcharge && !reagents) //If the cell is done mooching station power, and reagents don't need processing, stop processing - return PROCESS_KILL charge_cell(LIGHT_EMERGENCY_POWER_USE * seconds_per_tick, cell = cell) //Recharge emergency power automatically while not using it if(reagents) //with most reagents coming out at 300, and with most meaningful reactions coming at 370+, this rate gives a few seconds of time to place it in and get out of dodge regardless of input. reagents.adjust_thermal_energy(8 * reagents.total_volume * SPECIFIC_HEAT_DEFAULT * seconds_per_tick) diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index 932aef0e8e5..52f40537144 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -3,7 +3,7 @@ /obj/machinery/field/containment name = "containment field" desc = "An energy field." - icon = 'icons/obj/machines/engine/singularity.dmi' // SKYRAT EDIT CHANGE - ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/machines/engine/singularity.dmi' // SKYRAT EDIT CHANGE - ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "Contain_F" density = FALSE move_resist = INFINITY diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 38f18d7d627..d0b40c1b498 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -1,7 +1,7 @@ /obj/machinery/power/emitter name = "emitter" desc = "A heavy-duty industrial laser, often used in containment fields and power generation." - icon = 'icons/obj/machines/engine/singularity.dmi' //SKYRAT EDIT CHANGE - ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/machines/engine/singularity.dmi' //SKYRAT EDIT CHANGE - ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "emitter" base_icon_state = "emitter" diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index ba9fde43d49..1d982c98b5c 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -26,7 +26,7 @@ no power level overlay is currently in the overlays list. /obj/machinery/field/generator name = "field generator" desc = "A large thermal battery that projects a high amount of energy when powered." - icon = 'icons/obj/machines/field_generator.dmi' //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/machines/field_generator.dmi' //ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE icon_state = "Field_Gen" anchored = FALSE density = TRUE diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index b719b93d98c..40637490768 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -234,7 +234,7 @@ addtimer(CALLBACK(src, PROC_REF(narsie_spawn_animation_end)), 3.5 SECONDS) /obj/narsie/proc/narsie_spawn_animation_end() - var/datum/component/singularity/singularity_component = singularity.resolve() + var/datum/component/singularity/singularity_component = singularity?.resolve() singularity_component?.roaming = TRUE /** diff --git a/code/modules/procedural_mapping/mapGeneratorModule.dm b/code/modules/procedural_mapping/mapGeneratorModule.dm index 7bf32d15195..46196b68034 100644 --- a/code/modules/procedural_mapping/mapGeneratorModule.dm +++ b/code/modules/procedural_mapping/mapGeneratorModule.dm @@ -108,7 +108,7 @@ //Checks and Rejects dense turfs /datum/map_generator_module/proc/checkPlaceAtom(turf/T) - if(!T) + if(!T || (T.turf_flags & TURF_BLOCKS_POPULATE_TERRAIN_FLORAFEATURES)) return FALSE if(T.density) return FALSE diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index 3c0500ac219..5034ac96e82 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -105,7 +105,7 @@ simulated_hit.firer = throwingdatum.get_thrower() simulated_hit.on_hit(hit_atom) -/obj/item/gun/ballistic/automatic/pistol/m1911 //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE +/obj/item/gun/ballistic/automatic/pistol/m1911 //ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE name = "\improper M1911" desc = "A classic .45 handgun with a small magazine capacity." icon_state = "m1911" diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 7481443bade..4b7b8e261fd 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -54,7 +54,7 @@ ..() rack() -/obj/item/gun/ballistic/shotgun/automatic/combat //ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE +/obj/item/gun/ballistic/shotgun/automatic/combat //ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE name = "combat shotgun" desc = "A semi automatic shotgun with tactical furniture and a six-shell capacity underneath." icon_state = "cshotgun" diff --git a/code/modules/projectiles/guns/energy/beam_rifle.dm b/code/modules/projectiles/guns/energy/beam_rifle.dm index 1c5b025baea..11399e9c24d 100644 --- a/code/modules/projectiles/guns/energy/beam_rifle.dm +++ b/code/modules/projectiles/guns/energy/beam_rifle.dm @@ -71,6 +71,8 @@ var/current_zoom_x = 0 var/current_zoom_y = 0 + var/obj/projectile/beam/beam_rifle/hitscan/aiming_beam/trace = null + /obj/item/gun/energy/beam_rifle/apply_fantasy_bonuses(bonus) . = ..() delay = modify_fantasy_variable("delay", delay, -bonus * 2) @@ -192,16 +194,19 @@ if(diff < AIMING_BEAM_ANGLE_CHANGE_THRESHOLD && !force_update) return aiming_lastangle = lastangle - var/obj/projectile/beam/beam_rifle/hitscan/aiming_beam/P = new - P.gun = src - P.wall_pierce_amount = wall_pierce_amount - P.structure_pierce_amount = structure_piercing - P.do_pierce = projectile_setting_pierce + // ONLY ONE at once (since fire can sleep) + if(trace) + QDEL_NULL(trace) + trace = new + trace.gun = src + trace.wall_pierce_amount = wall_pierce_amount + trace.structure_pierce_amount = structure_piercing + trace.do_pierce = projectile_setting_pierce if(aiming_time) var/percent = ((100/aiming_time)*aiming_time_left) - P.color = rgb(255 * percent,255 * ((100 - percent) / 100),0) + trace.color = rgb(255 * percent,255 * ((100 - percent) / 100),0) else - P.color = rgb(0, 255, 0) + trace.color = rgb(0, 255, 0) var/turf/curloc = get_turf(src) var/atom/target_atom = current_user.client.mouse_object_ref?.resolve() @@ -211,8 +216,9 @@ return targloc = get_turf_in_angle(lastangle, curloc, 10) var/mouse_modifiers = params2list(current_user.client.mouseParams) - P.preparePixelProjectile(targloc, current_user, mouse_modifiers, 0) - P.fire(lastangle) + trace.preparePixelProjectile(targloc, current_user, mouse_modifiers, 0) + trace.fire(lastangle) + trace = null /obj/item/gun/energy/beam_rifle/process() if(!aiming) @@ -259,6 +265,7 @@ aiming_time_left = aiming_time aiming = FALSE QDEL_LIST(current_tracers) + QDEL_NULL(trace) stop_zooming(user) /obj/item/gun/energy/beam_rifle/proc/set_user(mob/user) diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index f64437e3579..e54cb3d75d4 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -119,7 +119,7 @@ /obj/item/gun/energy/e_gun/turret/add_seclight_point() return -/obj/item/gun/energy/e_gun/nuclear //SKYRAT EDIT - ICON OVERRIDDEN IN AESTHETICS MODULE +/obj/item/gun/energy/e_gun/nuclear // SKYRAT EDIT - ICON OVERRIDDEN IN AESTHETICS MODULE name = "advanced energy gun" desc = "An energy gun with an experimental miniaturized nuclear reactor that automatically charges the internal power cell." icon_state = "nucgun" diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index b9c8b7de41f..2179e31c395 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -1,4 +1,4 @@ -/obj/item/gun/energy/ionrifle //SKYRAT EDIT - ICON OVERRIDDEN IN AESTHETICS MODULE +/obj/item/gun/energy/ionrifle // SKYRAT EDIT - ICON OVERRIDDEN IN AESTHETICS MODULE name = "ion rifle" desc = "A man-portable anti-armor weapon designed to disable mechanical threats at range." icon_state = "ionrifle" diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 08530405338..03e613e4cf3 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -1,5 +1,6 @@ #define MOVES_HITSCAN -1 //Not actually hitscan but close as we get without actual hitscan. #define MUZZLE_EFFECT_PIXEL_INCREMENT 17 //How many pixels to move the muzzle flash up so your character doesn't look like they're shitting out lasers. +#define MAX_RANGE_HIT_PRONE_TARGETS 10 //How far do the projectile hits the prone mob /obj/projectile name = "projectile" @@ -190,8 +191,10 @@ var/shrapnel_type ///If we have a shrapnel_type defined, these embedding stats will be passed to the spawned shrapnel type, which will roll for embedding on the target var/list/embedding - ///If TRUE, hit mobs even if they're on the floor and not our target + ///If TRUE, hit mobs, even if they are lying on the floor and are not our target within MAX_RANGE_HIT_PRONE_TARGETS tiles var/hit_prone_targets = FALSE + ///if TRUE, ignores the range of MAX_RANGE_HIT_PRONE_TARGETS tiles of hit_prone_targets + var/ignore_range_hit_prone_targets = FALSE ///For what kind of brute wounds we're rolling for, if we're doing such a thing. Lasers obviously don't care since they do burn instead. var/sharpness = NONE ///How much we want to drop damage per tile as it travels through the air @@ -206,10 +209,10 @@ COMSIG_ATOM_ENTERED = PROC_REF(on_entered), COMSIG_ATOM_ATTACK_HAND = PROC_REF(attempt_parry), ) - //SKYRAT ADDITION START + // SKYRAT EDIT ADDITION START /// If this should be able to hit the target even on direct firing when `ignored_factions` applies var/ignore_direct_target = FALSE - //SKYRAT ADDITION END + // SKYRAT EDIT ADDITION END /// If true directly targeted turfs can be hit var/can_hit_turfs = FALSE @@ -639,12 +642,17 @@ return FALSE if(HAS_TRAIT(living_target, TRAIT_IMMOBILIZED) && HAS_TRAIT(living_target, TRAIT_FLOORED) && HAS_TRAIT(living_target, TRAIT_HANDS_BLOCKED)) return FALSE - if(!hit_prone_targets) + if(hit_prone_targets) var/mob/living/buckled_to = living_target.lowest_buckled_mob() - if(!buckled_to.density) // Will just be us if we're not buckled to another mob - return FALSE - if(living_target.body_position != LYING_DOWN) + if((decayedRange - range) <= MAX_RANGE_HIT_PRONE_TARGETS) // after MAX_RANGE_HIT_PRONE_TARGETS tiles, auto-aim hit for mobs on the floor turns off return TRUE + if(ignore_range_hit_prone_targets) // doesn't apply to projectiles that must hit the target in combat mode or something else, no matter what + return TRUE + if(buckled_to.density) // Will just be us if we're not buckled to another mob + return TRUE + return FALSE + else if(living_target.body_position == LYING_DOWN) + return FALSE return TRUE /** @@ -827,6 +835,8 @@ RegisterSignal(src, COMSIG_ATOM_ATTACK_HAND, PROC_REF(attempt_parry)) if(hitscan) process_hitscan() + if(QDELETED(src)) + return if(!(datum_flags & DF_ISPROCESSING)) START_PROCESSING(SSprojectiles, src) pixel_move(pixel_speed_multiplier, FALSE) //move it now! @@ -921,6 +931,9 @@ qdel(src) return //Kill! pixel_move(1, TRUE) + // No kevinz I do not care that this is a hitscan weapon, it is not allowed to travel 100 turfs in a tick + if(CHECK_TICK && QDELETED(src)) + return /obj/projectile/proc/pixel_move(trajectory_multiplier, hitscanning = FALSE) if(!loc || !trajectory) @@ -1195,6 +1208,7 @@ #undef MOVES_HITSCAN #undef MUZZLE_EFFECT_PIXEL_INCREMENT +#undef MAX_RANGE_HIT_PRONE_TARGETS /// Fire a projectile from this atom at another atom /atom/proc/fire_projectile(projectile_type, atom/target, sound, firer, list/ignore_targets = list()) diff --git a/code/modules/projectiles/projectile/bullets/shotgun.dm b/code/modules/projectiles/projectile/bullets/shotgun.dm index 914019b9792..b3ddaf9bc90 100644 --- a/code/modules/projectiles/projectile/bullets/shotgun.dm +++ b/code/modules/projectiles/projectile/bullets/shotgun.dm @@ -108,19 +108,6 @@ stamina = 6 embedding = null -/obj/projectile/bullet/pellet/shotgun_improvised - damage = 5 - wound_bonus = -5 - demolition_mod = 3 //Very good at acts of vandalism - -/obj/projectile/bullet/pellet/shotgun_improvised/Initialize(mapload) - . = ..() - range = rand(3, 8) - -/obj/projectile/bullet/pellet/shotgun_improvised/on_range() - do_sparks(1, TRUE, src) - ..() - // Mech Scattershot /obj/projectile/bullet/scattershot diff --git a/code/modules/projectiles/projectile/bullets/sniper.dm b/code/modules/projectiles/projectile/bullets/sniper.dm index 4425b20eeed..6118d90644d 100644 --- a/code/modules/projectiles/projectile/bullets/sniper.dm +++ b/code/modules/projectiles/projectile/bullets/sniper.dm @@ -9,6 +9,7 @@ dismemberment = 50 catastropic_dismemberment = TRUE armour_penetration = 50 + ignore_range_hit_prone_targets = TRUE ///Determines object damage. var/object_damage = 80 ///Determines how much additional damage the round does to mechs. diff --git a/code/modules/reagents/chem_splash.dm b/code/modules/reagents/chem_splash.dm index 2e94083f8cb..af3c11ce210 100644 --- a/code/modules/reagents/chem_splash.dm +++ b/code/modules/reagents/chem_splash.dm @@ -112,9 +112,8 @@ var/distance = max(1, get_dist(thing, epicenter)) var/fraction = 0.5 / (2 ** distance) //50/25/12/6... for a 200u splash, 25/12/6/3... for a 100u, 12/6/3/1 for a 50u source.expose(thing, TOUCH, fraction) - - // SKYRAT ADDITION START - Liquids + // SKYRAT EDIT ADDITION START - Liquids if(isturf(epicenter)) var/turf/center_of_mess = epicenter center_of_mess.add_liquid_from_reagents(source) - // SKYRAT ADDITION END + // SKYRAT EDIT ADDITION END diff --git a/code/modules/reagents/chemistry/colors.dm b/code/modules/reagents/chemistry/colors.dm index 6b260210c9e..ae57faa481c 100644 --- a/code/modules/reagents/chemistry/colors.dm +++ b/code/modules/reagents/chemistry/colors.dm @@ -19,3 +19,19 @@ mixcolor = BlendRGB(R.color, mixcolor, vol_temp/vol_counter) return mixcolor + +/proc/reagent_threshold_overlay(datum/reagents/reagents, fill_icon, fill_prefix, list/fill_icon_thresholds) + RETURN_TYPE(/mutable_appearance) + + var/threshold = null + for(var/i in 1 to fill_icon_thresholds.len) + if(ROUND_UP(100 * reagents.total_volume / reagents.maximum_volume) >= fill_icon_thresholds[i]) + threshold = i + + if(threshold) + var/fill_name = "[fill_prefix][fill_icon_thresholds[threshold]]" + var/mutable_appearance/filling = mutable_appearance(fill_icon, fill_name) + filling.color = mix_color_from_reagents(reagents.reagent_list) + return filling + + return null diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 7013c9bdb96..8638bfdfecb 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -92,7 +92,7 @@ /obj/machinery/chem_master/update_appearance(updates) . = ..() - if(panel_open || (machine_stat & (NOPOWER|BROKEN))) + if(panel_open || !is_operational) set_light(0) else set_light(1, 1, "#fffb00") @@ -112,7 +112,7 @@ . += mutable_appearance(icon, base_icon_state + "_overlay_extruder") // Screen overlay - if(!panel_open && !(machine_stat & (NOPOWER | BROKEN))) + if(!panel_open && is_operational) var/screen_overlay = base_icon_state + "_overlay_screen" if(is_printing) screen_overlay += "_active" @@ -123,15 +123,9 @@ // Buffer reagents overlay if(reagents.total_volume) - var/threshold = null var/static/list/fill_icon_thresholds = list(10, 20, 30, 40, 50, 60, 70, 80, 90, 100) - for(var/i in 1 to fill_icon_thresholds.len) - if(ROUND_UP(100 * (reagents.total_volume / reagents.maximum_volume)) >= fill_icon_thresholds[i]) - threshold = i - if(threshold) - var/fill_name = "chemmaster[fill_icon_thresholds[threshold]]" - var/mutable_appearance/filling = mutable_appearance('icons/obj/medical/reagent_fillings.dmi', fill_name) - filling.color = mix_color_from_reagents(reagents.reagent_list) + var/mutable_appearance/filling = reagent_threshold_overlay(reagents, 'icons/obj/medical/reagent_fillings.dmi', "chemmaster", fill_icon_thresholds) + if(!isnull(filling)) . += filling diff --git a/code/modules/reagents/chemistry/machinery/chem_separator.dm b/code/modules/reagents/chemistry/machinery/chem_separator.dm index 13be8d6554f..ac964b9f994 100644 --- a/code/modules/reagents/chemistry/machinery/chem_separator.dm +++ b/code/modules/reagents/chemistry/machinery/chem_separator.dm @@ -1,245 +1,439 @@ +///The maximum number of settings on a burner knob +#define MAX_BURNER_KNOB_SETTINGS 10 + /obj/structure/chem_separator name = "distillation apparatus" desc = "A device that performs chemical separation by distillation." icon = 'icons/obj/medical/chemical.dmi' icon_state = "separator" light_power = 1 - var/fill_icon = 'icons/obj/medical/reagent_fillings.dmi' - var/fill_icon_state = "separator" - /// Icons for different percentages of beaker/separator reagent volumes - var/list/fill_icon_thresholds = list(1,30,80) - /// The temperature thresholds used for thermometer icon update, in Celsius - var/list/temperature_icon_thresholds = list(0,50,100) - /// Whether the burner is currently on and the mixture is heating up - var/burning = FALSE - /// Whether the mixture is above the required temperature and the separation is in process + + ///Is the mixture currently boiling var/boiling = FALSE + /// Has the sound loop animation started + var/loop_started = FALSE /// Sound during separation var/datum/looping_sound/boiling/soundloop - /// Minimal mixture temperature for separation - var/required_temp = T0C + 100 - /// Mixture heating speed in degrees per second for full container - var/heating_rate = 5 - /// Separation speed in units per second - var/distillation_rate = 5 - /// Reagent container for the vapor of the separating reagent - var/datum/reagents/condenser - /// The reagent chosen for separation - var/datum/reagent/separating_reagent - /// Reagent container for condensate or separator filling - var/obj/item/reagent_containers/beaker + /// The container for transferring distilled reagents into + var/obj/item/reagent_containers/distilled_container + /// The container for holding the fuel source for the bunset burner + var/obj/item/reagent_containers/fuel_container + /// Is the bunset burner currenrly switched on/off + var/burner_on = FALSE + /// Do we have a condenser installed for forced cooling + var/condenser_installed = FALSE + /// Is the condenser on + var/condenser_on = FALSE + /// Knob setting on the burner + var/burner_knob = 1 /obj/structure/chem_separator/Initialize(mapload) . = ..() - create_reagents(300, TRANSPARENT | INJECTABLE) - condenser = new() - soundloop = new(src, boiling) + create_reagents(100, TRANSPARENT | INJECTABLE) + soundloop = new(src) + register_context() /obj/structure/chem_separator/Destroy() - if(burning) - STOP_PROCESSING(SSobj, src) - if(beaker) - QDEL_NULL(beaker) + QDEL_NULL(distilled_container) + QDEL_NULL(fuel_container) QDEL_NULL(soundloop) return ..() +/obj/structure/chem_separator/atom_deconstruct(disassembled) + var/atom/drop = drop_location() + + new /obj/item/stack/sheet/mineral/wood(drop, 1) + + new /obj/item/thermometer(drop) + + new /obj/item/burner(drop) + + if(condenser_installed) + new /obj/item/assembly/igniter/condenser(drop) + + if(!QDELETED(distilled_container)) + distilled_container.forceMove(drop) + + if(!QDELETED(fuel_container)) + fuel_container.forceMove(drop) + /obj/structure/chem_separator/Exited(atom/movable/gone, direction) . = ..() - if(gone == beaker) - beaker = null - update_appearance(UPDATE_ICON) + if(distilled_container == gone) + distilled_container = null + update_appearance(UPDATE_OVERLAYS) + if(fuel_container == gone) + toggle_burner(FALSE) + fuel_container = null + update_appearance(UPDATE_OVERLAYS) + +/obj/structure/chem_separator/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = NONE + if(isnull(held_item)) + if(!QDELETED(distilled_container)) + context[SCREENTIP_CONTEXT_LMB] = "Remove beaker" + . = CONTEXTUAL_SCREENTIP_SET + if(!QDELETED(fuel_container)) + context[SCREENTIP_CONTEXT_RMB] = "Remove fuel" + . = CONTEXTUAL_SCREENTIP_SET + if(burner_on) + context[SCREENTIP_CONTEXT_ALT_LMB] = "Off burner" + . = CONTEXTUAL_SCREENTIP_SET + return + + if(!condenser_installed && istype(held_item, /obj/item/assembly/igniter/condenser)) + context[SCREENTIP_CONTEXT_LMB] = "Installer cooler" + return CONTEXTUAL_SCREENTIP_SET + + if(is_reagent_container(held_item) && held_item.is_open_container()) + if(QDELETED(distilled_container)) + context[SCREENTIP_CONTEXT_LMB] = "[QDELETED(distilled_container) ? "Insert" : "Replace"] beaker" + return CONTEXTUAL_SCREENTIP_SET + if(QDELETED(fuel_container)) + context[SCREENTIP_CONTEXT_RMB] = "[QDELETED(fuel_container) ? "Insert" : "Replace"] fuel" + return CONTEXTUAL_SCREENTIP_SET + + if(held_item.tool_behaviour == TOOL_CROWBAR) + context[SCREENTIP_CONTEXT_LMB] = "Deconstruct" + return CONTEXTUAL_SCREENTIP_SET + +/obj/structure/chem_separator/examine(mob/user) + . = ..() + + if(reagents.total_volume) + . += span_notice("The distilation flask reads [reagents.total_volume]/[reagents.maximum_volume]u.") + if(!QDELETED(distilled_container)) + . += span_notice("The distilation beaker reads [distilled_container.reagents.total_volume]/[distilled_container.reagents.maximum_volume]u.") + . += span_notice("Remove beaker with [EXAMINE_HINT("LMB")].") + else + . += span_warning("Its missing a distilation container, insert with [EXAMINE_HINT("LMB")]") + if(!QDELETED(fuel_container)) + . += span_notice("The burner fuel container reads [fuel_container.reagents.total_volume]/[fuel_container.reagents.maximum_volume]u.") + . += span_notice("Remove fuel with [EXAMINE_HINT("RMB")].") + else + . += span_warning("Its missing a beaker containing fuel for the burner, insert with [EXAMINE_HINT("RMB")]") + if(burner_on) + . += span_notice("Off burner with [EXAMINE_HINT("ALT LMB")].") + else + . += span_notice("You can start a flame with an combustible device.") + + if(condenser_installed) + . += span_notice("The in-built condenser can facilitate faster cooling but consumes fuel.") + else + . += span_notice("You could install a [EXAMINE_HINT("condenser")] for fater cooling.") + + . += span_notice("You can [EXAMINE_HINT("examine more")] to see reagent boiling points & fuel properties.") + . += span_notice("The whole aparatus can be [EXAMINE_HINT("pried")] apart.") + +/obj/structure/chem_separator/examine_more(mob/user) + . = ..() + + . += span_notice("For burner fuel Plasma > Oil > Welding Fuel = Oxygen > Ethanol > Monkey Energy") + + . += span_notice("Upon cross examining the flasks reagents contents with its chart you see the boiling points of each reagent present.") + for(var/datum/reagent/reg as anything in reagents.reagent_list) + . += span_notice("[reg.name] [get_boiling_point(reg)]K") /obj/structure/chem_separator/update_overlays() . = ..() - set_light(burning ? light_power : 0) - // Burner overlay - if(burning) - . += mutable_appearance(icon, "[icon_state]_burn") - . += emissive_appearance(icon, "[icon_state]_burn", src) - // Separator reagents overlay + + //burner overlays + if(burner_on) + . += mutable_appearance('icons/obj/medical/chemical.dmi', "separator_burn") + . += emissive_appearance('icons/obj/medical/chemical.dmi', "separator_burn", src) + + var/static/list/fill_icon_thresholds = list(1, 30, 80) + + //distilation flask overlays if(reagents.total_volume) - var/threshold = null - for(var/i in 1 to fill_icon_thresholds.len) - if(ROUND_UP(100 * reagents.total_volume / reagents.maximum_volume) >= fill_icon_thresholds[i]) - threshold = i - if(threshold) - var/fill_name = "[fill_icon_state]_m_[fill_icon_thresholds[threshold]]" - var/mutable_appearance/filling = mutable_appearance(fill_icon, fill_name) - filling.color = mix_color_from_reagents(reagents.reagent_list) - . += filling - // Beaker overlay - if(beaker) - . += "[icon_state]_beaker" - // Beaker reagents overlay - if(beaker.reagents.total_volume) - var/threshold = null - for(var/i in 1 to fill_icon_thresholds.len) - if(ROUND_UP(100 * beaker.reagents.total_volume / beaker.reagents.maximum_volume) >= fill_icon_thresholds[i]) - threshold = i - if(threshold) - var/fill_name = "[fill_icon_state]_b_[fill_icon_thresholds[threshold]]" - var/mutable_appearance/filling = mutable_appearance(fill_icon, fill_name) - filling.color = mix_color_from_reagents(beaker.reagents.reagent_list) - . += filling - // Dripping overlay - if(boiling) - var/mutable_appearance/filling = mutable_appearance(fill_icon, "separator_dripping") - filling.color = separating_reagent.color - . += filling - // Thermometer overlay + var/mutable_appearance/overlay = reagent_threshold_overlay(reagents, 'icons/obj/medical/reagent_fillings.dmi', "separator_m_", fill_icon_thresholds) + if(!isnull(overlay)) + . += overlay + + //dripping overlay + if(boiling) + var/mutable_appearance/filling = mutable_appearance('icons/obj/medical/reagent_fillings.dmi', "separator_dripping") + filling.color = mix_color_from_reagents(reagents.reagent_list) + . += filling + + //distilation beaker overlays + if(!QDELETED(distilled_container)) + . += "separator_beaker" + var/mutable_appearance/overlay = reagent_threshold_overlay(distilled_container.reagents, 'icons/obj/medical/reagent_fillings.dmi', "separator_b_", fill_icon_thresholds) + if(!isnull(overlay)) + . += overlay + + //thermometer overlay + var/static/list/temperature_icon_thresholds = list(0, 50, 100) var/threshold = null for(var/i in 1 to temperature_icon_thresholds.len) if(ROUND_UP(reagents.chem_temp - T0C) >= temperature_icon_thresholds[i]) threshold = i if(threshold) - var/fill_name = "[icon_state]_temp_[temperature_icon_thresholds[threshold]]" - var/mutable_appearance/filling = mutable_appearance(icon_state, fill_name) + var/fill_name = "separator_temp_[temperature_icon_thresholds[threshold]]" + var/mutable_appearance/filling = mutable_appearance('icons/obj/medical/chemical.dmi', fill_name) . += filling -/// Checks whether the item can ignite the separator -/obj/structure/chem_separator/proc/ignite_with(obj/item/object, mob/living/user) - var/ignition_message = object.ignition_effect(src, user) - if(!ignition_message) - return FALSE - user.visible_message(ignition_message) - fire_act(object.get_temperature()) - return TRUE +/** + * Computes the boiling point of the reagent based on its mass. heaiver reagents obviously needs higher temps + * Arguments + * + * * datum/reagent/reg - the reagent whos boiling point we are trying to compute + */ +/obj/structure/chem_separator/proc/get_boiling_point(datum/reagent/reg) + PRIVATE_PROC(TRUE) -/obj/structure/chem_separator/attackby(obj/item/item, mob/user, params) - if(ignite_with(item, user)) - return TRUE // no afterattack - if(is_reagent_container(item) && !(item.item_flags & ABSTRACT) && item.is_open_container()) - var/obj/item/reagent_containers/new_beaker = item - if(!user.transferItemToLoc(new_beaker, src)) - return FALSE - replace_beaker(user, new_beaker) - balloon_alert(user, "added beaker") - update_appearance(UPDATE_ICON) - return TRUE // no afterattack - return ..() + //use the constant mass set on init + reg = GLOB.chemical_reagents_list[reg.type] -/// Insert, replace or eject the container depending on the state and parameters -/obj/structure/chem_separator/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) - if(!user) - CRASH("[user] ([user?.type]) is not a living, but is trying to replace beaker") - if(beaker) - if(burning) - stop() - if(!issilicon(user) && in_range(src, user)) - user.put_in_hands(beaker) - playsound(src, 'sound/items/handling/drinkglass_pickup.ogg', PICKUP_SOUND_VOLUME, ignore_walls = FALSE) - else - beaker.forceMove(drop_location()) - beaker = null - if(new_beaker) - beaker = new_beaker - playsound(src, 'sound/items/handling/drinkglass_drop.ogg', DROP_SOUND_VOLUME, ignore_walls = FALSE) - update_appearance(UPDATE_ICON) - return TRUE + //reagents masses can vary between 10->800 + var/normalized_coord = (reg.mass - 10) / 790 + + //return a boiling point anywhere between 400->900 k. Change if you want more varity + return 400 + (500 * normalized_coord) + +/** + * Computes the coefficient of burning(the ability of the reagent mixture to burn) of the burner fuel container + * reagents can affect the intensity of the flame in different ways. A -ve value the mixture can not combust + * whereas a +ve value(<= 1) means the flame can burn at maximum efficiency + */ +/obj/structure/chem_separator/proc/get_ignition_coefficient() + PRIVATE_PROC(TRUE) + + if(QDELETED(fuel_container)) + return 0 + + //map of reagents & how much burning potential they all have + var/static/list/reagent_coefficients = list( + /datum/reagent/toxin/plasma = 1, + /datum/reagent/fuel/oil = 0.9, + /datum/reagent/fuel = 0.8, + /datum/reagent/oxygen = 0.8, + /datum/reagent/consumable/ethanol = 0.7, + /datum/reagent/consumable/monkey_energy = 0.6, + /datum/reagent/water = - 0.7 + ) + + var/total_coefficient = 0 + for(var/datum/reagent/reg as anything in fuel_container.reagents.reagent_list) + var/coefficient = -1 //any fuel that is not on the list acts as an inhibitor + for(var/datum/reagent/fuel as anything in reagent_coefficients) + if(istype(reg, fuel)) + coefficient = reagent_coefficients[fuel] + break + total_coefficient += coefficient + + return clamp(total_coefficient, 0, 1) + +/** + * Toggles the burner on(only for a good fuel composition) or off + * Arguments + * + * * state - on or off + */ +/obj/structure/chem_separator/proc/toggle_burner(state) + PRIVATE_PROC(TRUE) + + if(!state) + burner_on = FALSE + set_light(0) + else + if(!get_ignition_coefficient()) //no proper fuel + return + if(!reagents.total_volume) //no reagents to distill + return + if(QDELETED(distilled_container)) //no beaker to receive distilled reagents + return + burner_on = TRUE + set_light(ROUND_UP(2 * (burner_knob / 5))) + update_appearance(UPDATE_OVERLAYS) /obj/structure/chem_separator/fire_act(exposed_temperature, exposed_volume) - if(burning) - return ..() - start() + toggle_burner(TRUE) /obj/structure/chem_separator/extinguish() . = ..() - if(burning) - stop() + toggle_burner(FALSE) -/// Ignite the burner to start the separation process -/obj/structure/chem_separator/proc/start() - if(!beaker) - return - if(beaker.reagents.total_volume >= beaker.reagents.maximum_volume) - return - if(!reagents.total_volume) - return - var/list/reagents_sorted = reagents.reagent_list.Copy() - reagents_sorted = sort_list(reagents_sorted, GLOBAL_PROC_REF(cmp_reagents_asc)) - separating_reagent = reagents_sorted[1] - burning = TRUE - update_appearance(UPDATE_ICON) - START_PROCESSING(SSobj, src) +/obj/structure/chem_separator/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + . = NONE + if(user.combat_mode || tool.item_flags & ABSTRACT || tool.flags_1 & HOLOGRAM_1 || !user.can_perform_action(src, ALLOW_SILICON_REACH)) + return ITEM_INTERACT_SKIP_TO_ATTACK -/// Extinguish the burner to stop the separation process -/obj/structure/chem_separator/proc/stop() - separating_reagent = null - burning = FALSE - if(boiling) - boiling = FALSE - condenser.trans_to(reagents, condenser.total_volume) - soundloop.stop() - update_appearance(UPDATE_ICON) - STOP_PROCESSING(SSobj, src) + ///Add the distilation flask + if(is_reagent_container(tool) && tool.is_open_container()) + //transfer old container + if(!QDELETED(distilled_container)) + user.put_in_hands(distilled_container) -/// Fill internal storage with reagents from the container -/obj/structure/chem_separator/proc/load() - if(burning) - return - if(!beaker?.reagents.total_volume) - return - if(reagents.total_volume >= reagents.maximum_volume) - return - beaker.reagents.trans_to(reagents, beaker.reagents.total_volume) - update_appearance(UPDATE_ICON) + //add new container + if(!user.transferItemToLoc(tool, src)) + to_chat(user, span_warning("[tool] is stuck in your hand.")) + return ITEM_INTERACT_BLOCKING + distilled_container = tool -/// Drain internal reagents into the container -/obj/structure/chem_separator/proc/unload() - if(burning) - return - if(!reagents.total_volume) - return - if(!beaker) - return - if(beaker.reagents.total_volume >= beaker.reagents.maximum_volume) - return - reagents.trans_to(beaker.reagents, reagents.total_volume) - update_appearance(UPDATE_ICON) + START_PROCESSING(SSobj, src) + balloon_alert(user, "distillation container added.") -/// Check whether the separation can process -/obj/structure/chem_separator/proc/can_process(datum/gas_mixture/air) - if(!burning) - return FALSE - if(!air || !air.has_gas(/datum/gas/oxygen, 1)) - return FALSE - if(air.temperature > required_temp) // Too hot to condense - return FALSE - if(!beaker) - return FALSE - if(beaker.reagents.total_volume >= beaker.reagents.maximum_volume) - return FALSE - if(!reagents.get_reagent_amount(separating_reagent.type)) - return FALSE - return TRUE + ui_interact(user) + update_appearance(UPDATE_OVERLAYS) + return ITEM_INTERACT_SUCCESS + else if(istype(tool, /obj/item/assembly/igniter/condenser)) + if(!user.temporarilyRemoveItemFromInventory(tool)) + to_chat(user, span_warning("[tool] is stuck in your hand.")) + return ITEM_INTERACT_BLOCKING + condenser_installed = TRUE + update_static_data_for_all_viewers() + qdel(tool) + balloon_alert(user, "condenser installed.") + return ITEM_INTERACT_SUCCESS + + ///Try & ignite the bunset burner with this item + var/ignition_message = tool.ignition_effect(src, user) + if(!ignition_message) + return NONE + user.visible_message(ignition_message) + toggle_burner(TRUE) + return ITEM_INTERACT_SUCCESS + +/obj/structure/chem_separator/crowbar_act(mob/living/user, obj/item/tool) + deconstruct(TRUE) + return ITEM_INTERACT_SUCCESS + +/obj/structure/chem_separator/attack_hand(mob/living/user, list/modifiers) + if(!QDELETED(distilled_container)) + if(!SStgui.get_open_ui(user, src)) //for convinience open ui first then interact with beakers if you still want to + ui_interact(user) + return TRUE + + if(user.put_in_hands(distilled_container)) + to_chat(user, span_notice("you take out the output flask.")) + update_appearance(UPDATE_OVERLAYS) + return TRUE + + return ..() + +/obj/structure/chem_separator/item_interaction_secondary(mob/living/user, obj/item/tool, list/modifiers) + . = NONE + if(user.combat_mode || tool.item_flags & ABSTRACT || tool.flags_1 & HOLOGRAM_1 || !user.can_perform_action(src, ALLOW_SILICON_REACH)) + return ITEM_INTERACT_SKIP_TO_ATTACK + + if(is_reagent_container(tool) && tool.is_open_container()) + //transfer old container + if(!QDELETED(fuel_container)) + user.put_in_hands(fuel_container) + + //add new container + if(!user.transferItemToLoc(tool, src)) + to_chat(user, span_warning("[tool] is stuck in your hand.")) + return ITEM_INTERACT_BLOCKING + fuel_container = tool + balloon_alert(user, "fuel container added.") + + ui_interact(user) + return ITEM_INTERACT_SUCCESS + +/obj/structure/chem_separator/attack_hand_secondary(mob/user, list/modifiers) + if(!QDELETED(fuel_container)) + if(!SStgui.get_open_ui(user, src)) //for convinience open ui first then interact with beakers if you still want to + ui_interact(user) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + + if(user.put_in_hands(fuel_container)) + to_chat(user, span_notice("you take out the burner fuel container")) + toggle_burner(FALSE) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + + return ..() + +///Returns the coefficient of cooling of reagents, taking into consideration the condenser +/obj/structure/chem_separator/proc/get_cool_coefficient() + PRIVATE_PROC(TRUE) + + var/coefficient = 0.2 + + var/fuel_coefficient = get_ignition_coefficient() + if(condenser_installed && condenser_on && fuel_coefficient > 0) + var/datum/reagents/fuel = fuel_container.reagents + if(fuel.remove_all(0.15)) + coefficient += fuel_coefficient + else + condenser_on = FALSE + + return coefficient /obj/structure/chem_separator/process(seconds_per_tick) - var/datum/gas_mixture/air = return_air() - if(!can_process(air)) - return stop() - if(isturf(loc)) - var/turf/location = loc - location.hotspot_expose(exposed_temperature = 700, exposed_volume = 5) - if(reagents.chem_temp < required_temp) - reagents.adjust_thermal_energy(heating_rate * seconds_per_tick * SPECIFIC_HEAT_DEFAULT * reagents.maximum_volume) - reagents.chem_temp = min(reagents.chem_temp, required_temp) - update_appearance(UPDATE_ICON) - return - if(reagents.chem_temp >= required_temp) - if(!boiling) + if(!reagents.total_volume) + if(QDELETED(distilled_container) || !distilled_container.reagents.total_volume) + boiling = FALSE + soundloop.stop() + toggle_burner(FALSE) + return PROCESS_KILL + + //if burner in on attempt to heat the reagents + if(burner_on) + var/can_process = TRUE + + //do we have good quality fuel to burn + var/fuel_coefficient = get_ignition_coefficient() + if(!fuel_coefficient) + can_process = FALSE + toggle_burner(FALSE) + + var/knob_ratio = burner_knob / MAX_BURNER_KNOB_SETTINGS + var/datum/reagents/fuel = fuel_container.reagents + + //consume some air after we have validated we have some good fuel. Only if we don't already use O2 as a fuel + if(can_process && !fuel.has_reagent(/datum/reagent/oxygen)) + var/datum/gas_mixture/air = return_air() + if(!air.remove_specific(/datum/gas/oxygen, 0.01 + (0.04 * knob_ratio))) //can burn anywhere between 0.01 & 0.05 moles of air based on the knob settings + can_process = FALSE + toggle_burner(FALSE) + + //burn some fuel if we combusted some air + if(can_process) + if(!fuel.remove_all(0.01 + (0.19 * knob_ratio))) //can burn anywhere between 0.01 & 0.2 units of fuel based on the knob settings + can_process = FALSE + toggle_burner(FALSE) + + //finally heat the mixture + if(can_process) + reagents.adjust_thermal_energy((1000 - reagents.chem_temp) * seconds_per_tick * SPECIFIC_HEAT_DEFAULT * (0.05 + (0.45 * knob_ratio)) * fuel_coefficient) + reagents.handle_reactions() + else if(reagents.chem_temp > DEFAULT_REAGENT_TEMPERATURE) //the container cools down if there is no flame heating it till it reaches room temps + reagents.adjust_thermal_energy((DEFAULT_REAGENT_TEMPERATURE - reagents.chem_temp) * seconds_per_tick * SPECIFIC_HEAT_DEFAULT * get_cool_coefficient()) + reagents.handle_reactions() + + //the target distilation beaker also cools down + if(!QDELETED(distilled_container) && distilled_container.reagents.chem_temp > DEFAULT_REAGENT_TEMPERATURE) + var/datum/reagents/distiled_reagents = distilled_container.reagents + distiled_reagents.adjust_thermal_energy((DEFAULT_REAGENT_TEMPERATURE - distiled_reagents.chem_temp) * seconds_per_tick * SPECIFIC_HEAT_DEFAULT * get_cool_coefficient()) + distiled_reagents.handle_reactions() + + //the distilation process checks the individual boiling point of each reagent based on their mass for seperation + boiling = FALSE + for(var/datum/reagent/reg in reagents.reagent_list) + var/bp = get_boiling_point(reg) + //we can now distil this + if(reagents.chem_temp > bp) + //distilation rate increases as temps go up peaking at 12 units per tick(at 200k above boiling point) + var/amount = 2 + ((reagents.chem_temp - bp) / 200) * 10 + if(!QDELETED(distilled_container)) + reagents.trans_to(distilled_container.reagents, amount, target_id = reg.type) + else //no target container means reagents vanish into thin air i.e leak out + reagents.remove_reagent(reg.type, amount) boiling = TRUE + + //boiling sound effect + if(boiling) + if(!loop_started) soundloop.start() - var/vapor_amount = distillation_rate * seconds_per_tick - // Vapor to condenser - reagents.trans_to(condenser, vapor_amount, target_id = separating_reagent.type) - // Cool the vapor down - condenser.set_temperature(air.temperature) - // Condense into container - condenser.trans_to(beaker.reagents, condenser.total_volume) - else if (boiling) - boiling = FALSE + loop_started = TRUE + update_appearance(UPDATE_OVERLAYS) + else soundloop.stop() - update_appearance(UPDATE_ICON) + loop_started = FALSE + update_appearance(UPDATE_OVERLAYS) /obj/structure/chem_separator/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -247,46 +441,102 @@ ui = new(user, src, "ChemSeparator", name) ui.open() -/obj/structure/chem_separator/ui_data(mob/user) - var/list/data = list() - data["is_burning"] = burning - data["temperature"] = reagents.chem_temp - T0C // Thermometer is in Celsius - data["own_total_volume"] = reagents.total_volume - data["own_maximum_volume"] = reagents.maximum_volume - data["own_reagent_color"] = mix_color_from_reagents(reagents.reagent_list) - data["beaker"] = !!beaker - if(beaker) - data["beaker_total_volume"] = beaker.reagents.total_volume - data["beaker_maximum_volume"] = beaker.reagents.maximum_volume - data["beaker_reagent_color"] = mix_color_from_reagents(beaker.reagents.reagent_list) - return data - -/obj/structure/chem_separator/ui_act(action, params) - if(..()) - return TRUE - switch(action) - if("load") - load() - if("unload") - unload() - if("start") - playsound(usr, 'sound/effects/pop.ogg', 30, ignore_walls = FALSE) - start() - if("stop") - stop() - if("eject") - replace_beaker(usr) - return TRUE - -/datum/crafting_recipe/chem_separator - name = "chemical separator" - result = /obj/structure/chem_separator - tool_behaviors = list(TOOL_WELDER) - time = 5 SECONDS - reqs = list( - /obj/item/stack/sheet/mineral/wood = 1, - /obj/item/stack/sheet/glass = 1, - /obj/item/burner = 1, - /obj/item/thermometer = 1, +/obj/structure/chem_separator/ui_static_data(mob/user) + return list( + "condenser_installed" = condenser_installed, + "max_burner_knob_settings" = MAX_BURNER_KNOB_SETTINGS, ) - category = CAT_CHEMISTRY + +/obj/structure/chem_separator/ui_data(mob/user) + . = list() + + //distilation flask data + var/list/flask_data = list() + flask_data["total_volume"] = reagents.total_volume + flask_data["maximum_volume"] = reagents.maximum_volume + flask_data["temp"] = reagents.chem_temp + flask_data["color"] = mix_color_from_reagents(reagents.reagent_list) + .["flask"] = flask_data + + //distilled beaker data + var/list/distilled_data = null + if(!QDELETED(distilled_container)) + var/datum/reagents/distilled_reagents = distilled_container.reagents + + distilled_data = list() + distilled_data["total_volume"] = distilled_reagents.total_volume + distilled_data["maximum_volume"] = distilled_reagents.maximum_volume + distilled_data["temp"] = distilled_reagents.chem_temp + distilled_data["color"] = mix_color_from_reagents(distilled_reagents.reagent_list) + .["beaker"] = distilled_data + + //burner fuel data + var/list/fuel_data = null + if(!QDELETED(fuel_container)) + var/datum/reagents/fuel_reagents = fuel_container.reagents + + fuel_data = list() + fuel_data["total_volume"] = fuel_reagents.total_volume + fuel_data["maximum_volume"] = fuel_reagents.maximum_volume + fuel_data["temp"] = fuel_reagents.chem_temp + fuel_data["color"] = mix_color_from_reagents(fuel_reagents.reagent_list) + .["fuel"] = fuel_data + + //Knob setting + .["burner_on"] = burner_on + .["knob"] = burner_knob + + //Condenser setting + .["condenser_on"] = condenser_on + +/obj/structure/chem_separator/ui_act(action, params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if(.) + return + + switch(action) + if("drain") + if(QDELETED(distilled_container) || !reagents.total_volume) + return FALSE + + if(reagents.trans_to(distilled_container.reagents, reagents.maximum_volume)) + toggle_burner(FALSE) + return TRUE + + if("filter") + if(QDELETED(distilled_container) || !distilled_container.reagents.total_volume) + return FALSE + + if(distilled_container.reagents.trans_to(reagents, reagents.maximum_volume)) + update_appearance(UPDATE_OVERLAYS) + return TRUE + + if("knob") + var/setting = params["amount"] + if(isnull(setting)) + return FALSE + + setting = text2num(setting) + if(!setting) + return FALSE + + burner_knob = clamp(setting, 1, MAX_BURNER_KNOB_SETTINGS) + if(burner_on) + set_light(ROUND_UP(2 * (burner_knob / MAX_BURNER_KNOB_SETTINGS))) + return TRUE + + if("cool") + if(!condenser_installed) + return FALSE + + condenser_on = !condenser_on + return TRUE + +/obj/structure/chem_separator/click_alt(mob/user) + if(!burner_on) + return CLICK_ACTION_BLOCKING + + toggle_burner(FALSE) + return CLICK_ACTION_SUCCESS + +#undef MAX_BURNER_KNOB_SETTINGS diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm index c5b77b7734f..13b22794409 100644 --- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm @@ -391,6 +391,8 @@ if(the_reagent2 == src) continue var/amount2purge = 3 + if(holder.has_reagent(/datum/reagent/toxin/anacea)) + amount2purge = 0 if(medibonus >= 3 && istype(the_reagent2, /datum/reagent/medicine)) //3 unique meds (2+multiver) | (1 + pure multiver) will make it not purge medicines continue affected_mob.reagents.remove_reagent(the_reagent2.type, amount2purge * REM * seconds_per_tick) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index a072166ab86..d87ff89bff7 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -54,10 +54,10 @@ var/obj/item/the_real_food = holder.my_atom if(isitem(the_real_food) && !is_reagent_container(the_real_food)) exposed_mob.add_mob_memory(/datum/memory/good_food, food = the_real_food) - // SKYRAT ADDITION BEGIN - Racial Drinks + // SKYRAT EDIT ADDITION BEGIN - Racial Drinks if (RACE_DRINK) exposed_mob.add_mood_event("quality_drink", /datum/mood_event/race_drink) - // SKYRAT ADDITION END + // SKYRAT EDIT ADDITION END /// Gets just how much nutrition this reagent is worth for the passed mob /datum/reagent/consumable/proc/get_nutriment_factor(mob/living/carbon/eater) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 10531d844c4..27a487bd4d4 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -683,7 +683,8 @@ description = "Quickly restores eye damage, cures nearsightedness, and has a chance to restore vision to the blind." reagent_state = LIQUID color = "#404040" //oculine is dark grey, inacusiate is light grey - metabolization_rate = 0.25 * REAGENTS_METABOLISM + metabolization_rate = 1 * REAGENTS_METABOLISM + overdose_threshold = 30 taste_description = "earthy bitterness" purity = REAGENT_STANDARD_PURITY ph = 10 @@ -703,6 +704,7 @@ return improve_eyesight(affected_mob, eyes) + /datum/reagent/medicine/oculine/proc/improve_eyesight(mob/living/carbon/affected_mob, obj/item/organ/internal/eyes/eyes) delta_light = creation_purity*10 eyes.lighting_cutoff += delta_light @@ -753,6 +755,11 @@ return restore_eyesight(affected_mob, eyes) +/datum/reagent/medicine/oculine/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired) + . = ..() + if(affected_mob.adjustOrganLoss(ORGAN_SLOT_EYES, 1.5 * REM * seconds_per_tick, required_organ_flag = affected_organ_flags)) + . = UPDATE_MOB_HEALTH + /datum/reagent/medicine/inacusiate name = "Inacusiate" description = "Rapidly repairs damage to the patient's ears to cure deafness, assuming the source of said deafness isn't from genetic mutations, chronic deafness, or a total defecit of ears." //by "chronic" deafness, we mean people with the "deaf" quirk @@ -1108,7 +1115,7 @@ . = ..() for(var/effect in status_effects_to_clear) affected_mob.remove_status_effect(effect) - affected_mob.reagents.remove_reagent(/datum/reagent/consumable/ethanol, 3 * REM * seconds_per_tick * normalise_creation_purity(), include_subtypes = TRUE) + affected_mob.reagents.remove_reagent(/datum/reagent/consumable/ethanol, 8 * REM * seconds_per_tick * normalise_creation_purity(), include_subtypes = TRUE) if(affected_mob.adjustToxLoss(-0.2 * REM * seconds_per_tick, updating_health = FALSE, required_biotype = affected_biotype)) . = UPDATE_MOB_HEALTH affected_mob.adjust_drunk_effect(-10 * REM * seconds_per_tick * normalise_creation_purity()) @@ -1348,7 +1355,7 @@ /datum/reagent/medicine/changelingadrenaline/on_mob_life(mob/living/carbon/metabolizer, seconds_per_tick, times_fired) . = ..() metabolizer.AdjustAllImmobility(-20 * REM * seconds_per_tick) - if(metabolizer.adjustStaminaLoss(-10 * REM * seconds_per_tick, updating_stamina = FALSE)) + if(metabolizer.adjustStaminaLoss(-30 * REM * seconds_per_tick, updating_stamina = FALSE)) . = UPDATE_MOB_HEALTH metabolizer.set_jitter_if_lower(20 SECONDS * REM * seconds_per_tick) metabolizer.set_dizzy_if_lower(20 SECONDS * REM * seconds_per_tick) diff --git a/code/modules/reagents/chemistry/recipes/drugs.dm b/code/modules/reagents/chemistry/recipes/drugs.dm index 3d25fa5e2b1..164e66bba90 100644 --- a/code/modules/reagents/chemistry/recipes/drugs.dm +++ b/code/modules/reagents/chemistry/recipes/drugs.dm @@ -122,9 +122,10 @@ reaction_tags = REACTION_TAG_EASY | REACTION_TAG_DRUG | REACTION_TAG_ORGAN | REACTION_TAG_DAMAGING //These drug item reactions should probably be converted to fermichem in the future. -/datum/chemical_reaction/moon_rock //botany is real easy so it requires a lot of kronkus_extract, make it cheaper if it doesnt get amde. +/datum/chemical_reaction/moon_rock //botany is real easy so it requires a lot of kronkus_extract, make it cheaper if it doesnt get made. required_reagents = list(/datum/reagent/kronkus_extract = 15, /datum/reagent/fuel = 10, /datum/reagent/ammonia = 5) mob_react = FALSE + reaction_flags = REACTION_INSTANT reaction_tags = REACTION_TAG_EASY | REACTION_TAG_DRUG | REACTION_TAG_ORGAN | REACTION_TAG_DAMAGING /datum/chemical_reaction/moon_rock/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) @@ -137,6 +138,7 @@ /datum/chemical_reaction/blastoff_ampoule required_reagents = list(/datum/reagent/silver = 10, /datum/reagent/toxin/cyanide = 10, /datum/reagent/lye = 5) mob_react = FALSE + reaction_flags = REACTION_INSTANT reaction_tags = REACTION_TAG_EASY | REACTION_TAG_DRUG | REACTION_TAG_ORGAN | REACTION_TAG_DAMAGING /datum/chemical_reaction/blastoff_ampoule/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) @@ -149,6 +151,7 @@ /datum/chemical_reaction/saturnx_glob required_reagents = list(/datum/reagent/lead = 5, /datum/reagent/consumable/nothing = 5, /datum/reagent/drug/maint/tar = 10) mob_react = FALSE + reaction_flags = REACTION_INSTANT reaction_tags = REACTION_TAG_EASY | REACTION_TAG_DRUG | REACTION_TAG_ORGAN | REACTION_TAG_DAMAGING /datum/chemical_reaction/saturnx_glob/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index 9bb645254e8..7b8a0655cb3 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -577,6 +577,7 @@ /datum/chemical_reaction/monkey required_reagents = list(/datum/reagent/monkey_powder = 50, /datum/reagent/water = 1) + reaction_flags = REACTION_INSTANT mix_message = "Expands into a brown mass before shaping itself into a monkey!." /datum/chemical_reaction/monkey/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index a25b3936a35..4d9cf6dffa4 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -246,7 +246,7 @@ icon_state = "water_high" //I was gonna clean my room... tank_volume = 3000 -/obj/structure/reagent_dispensers/foamtank//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/structure/reagent_dispensers/foamtank//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "firefighting foam tank" desc = "A tank full of firefighting foam." icon_state = "foam" @@ -255,7 +255,7 @@ openable = TRUE climbable = TRUE -/obj/structure/reagent_dispensers/fueltank//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/structure/reagent_dispensers/fueltank//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "fuel tank" desc = "A tank full of industrial welding fuel. Do not consume." icon_state = "fuel" @@ -359,7 +359,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/peppertank, 3 desc = "IT'S PEPPER TIME, BITCH!" find_and_hang_on_wall() -/obj/structure/reagent_dispensers/water_cooler//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/structure/reagent_dispensers/water_cooler//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "liquid cooler" desc = "A machine that dispenses liquid to drink." icon = 'icons/obj/machines/vending.dmi' @@ -429,7 +429,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/reagent_dispensers/wall/virusfood, 30 anchored = TRUE reagent_id = /datum/reagent/consumable/nutraslop -/obj/structure/reagent_dispensers/plumbed//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/structure/reagent_dispensers/plumbed//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "stationary water tank" anchored = TRUE icon_state = "water_stationary" diff --git a/code/modules/reagents/withdrawal/generic_addictions.dm b/code/modules/reagents/withdrawal/generic_addictions.dm index c7977435f4d..f38d4e27680 100644 --- a/code/modules/reagents/withdrawal/generic_addictions.dm +++ b/code/modules/reagents/withdrawal/generic_addictions.dm @@ -269,7 +269,7 @@ QDEL_NULL(fake_alert_ref) QDEL_NULL(health_doll_ref) -/* SKYRAT CHANGE, MOVED TO MODULAR. +/* SKYRAT EDIT REMOVAL START - MOVED TO MODULAR. ///Nicotine /datum/addiction/nicotine name = "nicotine" @@ -294,4 +294,4 @@ affected_carbon.set_jitter_if_lower(30 SECONDS * seconds_per_tick) if(SPT_PROB(5, seconds_per_tick)) affected_carbon.emote("cough") -*/ +*/ // SKYRAT EDIT REMOVAL END diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index bc40b1d0394..5ab1ee1e8a2 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -3,7 +3,7 @@ #define SEND_PRESSURE (0.05*ONE_ATMOSPHERE) /obj/machinery/disposal - icon = 'icons/obj/pipes_n_cables/disposal.dmi' //SKYRAT EDIT CHANGE - ICON OVERRIDEN IN SKYRAT AESTHETICS - SEE MODULE + icon = 'icons/obj/pipes_n_cables/disposal.dmi' //SKYRAT EDIT CHANGE - ICON OVERRIDDEN IN SKYRAT AESTHETICS - SEE MODULE density = TRUE armor_type = /datum/armor/machinery_disposal max_integrity = 200 @@ -241,7 +241,7 @@ flushing = TRUE flushAnimation() sleep(1 SECONDS) - if(last_sound < world.time + 1) + if(last_sound < world.time - 1) //Prevents piles of items from playing a dozen sounds at once playsound(src, 'sound/machines/disposalflush.ogg', 50, FALSE, FALSE) last_sound = world.time sleep(0.5 SECONDS) diff --git a/code/modules/research/designs/autolathe/multi-department_designs.dm b/code/modules/research/designs/autolathe/multi-department_designs.dm index 30787a1a072..b83938b5443 100644 --- a/code/modules/research/designs/autolathe/multi-department_designs.dm +++ b/code/modules/research/designs/autolathe/multi-department_designs.dm @@ -32,7 +32,8 @@ RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_ENGINEERING, ) departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE - + + /datum/design/tscanner name = "T-Ray Scanner" id = "tscanner" @@ -153,11 +154,11 @@ departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE /datum/design/cable_coil - name = "Cable Coil" + name = "Cable (x5)" id = "cable_coil" build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT*0.1, /datum/material/glass = SMALL_MATERIAL_AMOUNT*0.1) - build_path = /obj/item/stack/cable_coil + materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT*0.5, /datum/material/glass = SMALL_MATERIAL_AMOUNT*0.5) + build_path = /obj/item/stack/cable_coil/five category = list( RND_CATEGORY_INITIAL, RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_ENGINEERING, diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index 3548d8ac38d..85704c0c5b7 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -101,6 +101,16 @@ ) departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING +/datum/design/board/bioelec_gen + name = "Aquarium Bioelectricity Kit" + desc = "The required components to convert an aquarium into a bioelectricity generator." + id = "bioelec_gen" + build_path = /obj/item/aquarium_upgrade/bioelec_gen + category = list( + RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING, + ) + departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING + /datum/design/turbine_part_compressor name = "Turbine Compressor" desc = "The basic tier of a compressor blade." diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 98d3943d4f9..67f309a5f3c 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -17,7 +17,7 @@ #define EFFECT_PROB_VERYHIGH 95 #define FAIL 8 -/obj/machinery/rnd/experimentor//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/obj/machinery/rnd/experimentor//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "\improper E.X.P.E.R.I-MENTOR" desc = "A \"replacement\" for the destructive analyzer with a slight tendency to catastrophically fail." icon = 'icons/obj/machines/experimentator.dmi' diff --git a/code/modules/research/machinery/_production.dm b/code/modules/research/machinery/_production.dm index 48afd76f624..85a7a5495ed 100644 --- a/code/modules/research/machinery/_production.dm +++ b/code/modules/research/machinery/_production.dm @@ -418,6 +418,7 @@ created.pixel_x = created.base_pixel_x + rand(-6, 6) created.pixel_y = created.base_pixel_y + rand(-6, 6) + SSblackbox.record_feedback("nested tally", "lathe_printed_items", 1, list("[type]", "[created.type]")) if(is_stack) items_remaining = 0 diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 8e13c63f792..cc8e842f18e 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -108,7 +108,7 @@ Nothing else in the console has ID requirements. if(stored_research.can_afford(price)) user.investigate_log("researched [id]([json_encode(price)]) on techweb id [stored_research.id].", INVESTIGATE_RESEARCH) if(istype(stored_research, /datum/techweb/science)) - SSblackbox.record_feedback("associative", "science_techweb_unlock", 1, list("id" = "[id]", "name" = TN.display_name, "price" = "[json_encode(price)]", "time" = SQLtime())) + SSblackbox.record_feedback("associative", "science_techweb_unlock", 1, list("id" = "[id]", "name" = TN.display_name, "price" = "[json_encode(price)]", "time" = ISOtime())) if(stored_research.research_node_id(id)) say("Successfully researched [TN.display_name].") var/logname = "Unknown" diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm index 60dcc8716cc..069447c6f45 100644 --- a/code/modules/research/rdmachines.dm +++ b/code/modules/research/rdmachines.dm @@ -107,7 +107,6 @@ return screwdriver_act(user, tool) /obj/machinery/rnd/multitool_act(mob/living/user, obj/item/multitool/tool) - . = ITEM_INTERACT_BLOCKING if(panel_open) wires.interact(user) return ITEM_INTERACT_SUCCESS diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm index d4cb4afefda..c680abcae0a 100644 --- a/code/modules/research/stock_parts.dm +++ b/code/modules/research/stock_parts.dm @@ -1,7 +1,7 @@ /*Power cells are in code\modules\power\cell.dm If you create T5+ please take a pass at mech_fabricator.dm. The parts being good enough allows it to go into minus values and create materials out of thin air when printing stuff.*/ -/obj/item/storage/part_replacer +/obj/item/storage/part_replacer //SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "rapid part exchange device" desc = "Special mechanical module made to store, sort, and apply standard machine parts." icon_state = "RPED" @@ -58,7 +58,7 @@ If you create T5+ please take a pass at mech_fabricator.dm. The parts being good else playsound(src, pshoom_or_beepboopblorpzingshadashwoosh, 40, TRUE) -/obj/item/storage/part_replacer/bluespace +/obj/item/storage/part_replacer/bluespace //SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "bluespace rapid part exchange device" desc = "A version of the RPED that allows for replacement of parts and scanning from a distance, along with higher capacity for parts." icon_state = "BS_RPED" @@ -184,7 +184,7 @@ If you create T5+ please take a pass at mech_fabricator.dm. The parts being good new /obj/item/stock_parts/micro_laser(src) new /obj/item/stock_parts/matter_bin(src) -/obj/item/storage/part_replacer/cyborg +/obj/item/storage/part_replacer/cyborg //SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE name = "rapid part exchange device" desc = "Special mechanical module made to store, sort, and apply standard machine parts. This one has an extra large compartment for more parts." icon_state = "borgrped" diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 44ebc7c7933..07aaf5029ac 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -509,6 +509,18 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 4000) discount_experiments = list(/datum/experiment/scanning/random/cytology = 3000) //Big discount to reinforce doing it. +/datum/techweb_node/marine_util + id = "marine_util" + display_name = "Marine Utility" + description = "Fish are nice to look at and all, but they can be put to use." + prereq_ids = list("bio_process") + design_ids = list( + "bioelec_gen", + ) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 4000) + // only available if you've done the first fishing experiment (thus unlocking fishing tech), but not a strict requirement to get the tech + discount_experiments = list(/datum/experiment/scanning/fish/second = 3000) + /////////////////////////Advanced Surgery///////////////////////// /datum/techweb_node/imp_wt_surgery diff --git a/code/modules/shuttle/arrivals.dm b/code/modules/shuttle/arrivals.dm index 272638ce404..bdfe0da403c 100644 --- a/code/modules/shuttle/arrivals.dm +++ b/code/modules/shuttle/arrivals.dm @@ -114,14 +114,9 @@ return FALSE /obj/docking_port/mobile/arrivals/proc/PersonCheck() - for(var/V in GLOB.player_list) - var/mob/M = V - if((get_area(M) in areas) && M.stat != DEAD) - if(!iscameramob(M)) - return TRUE - var/mob/camera/C = M - if(C.move_on_shuttle) - return TRUE + for(var/mob/player as anything in GLOB.player_list) + if((get_area(player) in areas) && (player.stat != DEAD) && !HAS_TRAIT(player, TRAIT_BLOCK_SHUTTLE_MOVEMENT)) + return TRUE return FALSE /obj/docking_port/mobile/arrivals/proc/NukeDiskCheck() diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index a5ed3577de9..7f763b29e3f 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -281,12 +281,12 @@ All ShuttleMove procs go here /************************************Mob move procs************************************/ /mob/onShuttleMove(turf/newT, turf/oldT, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock) - if(!move_on_shuttle) + if(HAS_TRAIT(src, TRAIT_BLOCK_SHUTTLE_MOVEMENT)) return . = ..() /mob/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) - if(!move_on_shuttle) + if(HAS_TRAIT(src, TRAIT_BLOCK_SHUTTLE_MOVEMENT)) return . = ..() if(client && movement_force) diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index 354f08667eb..ba53c8b8c41 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -19,10 +19,10 @@ /datum/station_goal/dna_vault/New() ..() - animal_count = rand(15,20) //might be too few given ~15 roundstart stationside ones + animal_count = rand(10,15) //might be too few given ~15 roundstart stationside ones human_count = rand(round(0.75 * SSticker.totalPlayersReady) , SSticker.totalPlayersReady) // 75%+ roundstart population. var/non_standard_plants = non_standard_plants_count() - plant_count = rand(round(0.5 * non_standard_plants),round(0.7 * non_standard_plants)) + plant_count = rand(round(0.2 * non_standard_plants),round(0.4 * non_standard_plants)) /datum/station_goal/dna_vault/proc/non_standard_plants_count() . = 0 diff --git a/code/modules/surgery/advanced/brainwashing.dm b/code/modules/surgery/advanced/brainwashing.dm index 69b2a3d83c7..85fa694181b 100644 --- a/code/modules/surgery/advanced/brainwashing.dm +++ b/code/modules/surgery/advanced/brainwashing.dm @@ -1,7 +1,10 @@ /obj/item/disk/surgery/brainwashing - name = "Brainwashing Surgery Disk" - desc = "The disk provides instructions on how to impress an order on a brain, making it the primary objective of the patient." + name = "Surgery Disk" //SKYRAT EDIT: Formerly "Brainwashing Surgery Disk" //Finally I can upload the funny surgery disk without letting everyone in the room know about it! + desc = "The disk provides instructions on some kind of surgery, but the label has been scratched off..." //Skyrat edit: Moved to Special Desc. surgeries = list(/datum/surgery/advanced/brainwashing) + special_desc_requirement = EXAMINE_CHECK_JOB // SKYRAT EDIT + special_desc_jobs = list("Medical Doctor, Chief Medical Officer, Roboticist") // SKYRAT EDIT CHANGE //You mean to tell me the roles that get this role-exclusive item know what it does? + special_desc = "The disk provides instructions on how to impress an order on a brain, making it the primary objective of the patient." /datum/surgery/advanced/brainwashing name = "Brainwashing" diff --git a/code/modules/surgery/bodyparts/head_hair_and_lips.dm b/code/modules/surgery/bodyparts/head_hair_and_lips.dm index bfe70f0f574..b5db462294f 100644 --- a/code/modules/surgery/bodyparts/head_hair_and_lips.dm +++ b/code/modules/surgery/bodyparts/head_hair_and_lips.dm @@ -55,7 +55,7 @@ facial_hairstyle = human_head_owner.facial_hairstyle facial_hair_alpha = owner_species.facial_hair_alpha facial_hair_color = human_head_owner.facial_hair_color - fixed_hair_color = owner_species.fixed_hair_color //Can be null + fixed_hair_color = owner_species.get_fixed_hair_color(human_head_owner) //Can be null gradient_styles = human_head_owner.grad_style?.Copy() gradient_colors = human_head_owner.grad_color?.Copy() @@ -110,11 +110,11 @@ hair_overlay = image(hair_sprite_accessory.icon, hair_sprite_accessory.icon_state, -HAIR_LAYER, image_dir) hair_overlay.alpha = hair_alpha hair_overlay.pixel_y = hair_sprite_accessory.y_offset - // SKYRAT ADD - Species hair offset + // SKYRAT EDIT ADDITION - Species hair offset if(LAZYFIND(owner?.dna?.species?.offset_features, OFFSET_HAIR)) hair_overlay.pixel_x += owner.dna.species.offset_features[OFFSET_HAIR][INDEX_X] hair_overlay.pixel_y += owner.dna.species.offset_features[OFFSET_HAIR][INDEX_Y] - // SKYRAT ADD END + // SKYRAT EDIT ADDITION END //Emissive blocker if(blocks_emissive != EMISSIVE_BLOCK_NONE) hair_overlay.overlays += emissive_blocker(hair_overlay.icon, hair_overlay.icon_state, location, alpha = hair_alpha) @@ -127,11 +127,11 @@ var/hair_gradient_color = LAZYACCESS(gradient_colors, GRADIENT_HAIR_KEY) var/image/hair_gradient_overlay = get_gradient_overlay(hair_sprite_accessory.icon, hair_sprite_accessory.icon_state, -HAIR_LAYER, GLOB.hair_gradients_list[hair_gradient_style], hair_gradient_color, image_dir) hair_gradient_overlay.pixel_y = hair_sprite_accessory.y_offset - // SKYRAT ADD - Species hair offset + // SKYRAT EDIT ADDITION - Species hair offset if(LAZYFIND(owner?.dna?.species?.offset_features, OFFSET_HAIR)) hair_gradient_overlay.pixel_x += owner.dna.species.offset_features[OFFSET_HAIR][INDEX_X] hair_gradient_overlay.pixel_y += owner.dna.species.offset_features[OFFSET_HAIR][INDEX_Y] - // SKYRAT ADD END + // SKYRAT EDIT ADDITION END . += hair_gradient_overlay if(show_debrained && (head_flags & HEAD_DEBRAIN)) diff --git a/code/modules/surgery/organs/_organ.dm b/code/modules/surgery/organs/_organ.dm index a3cda722a35..e4bb7dfe769 100644 --- a/code/modules/surgery/organs/_organ.dm +++ b/code/modules/surgery/organs/_organ.dm @@ -318,18 +318,23 @@ INITIALIZE_IMMEDIATE(/obj/item/organ) replacement.set_organ_damage(damage) /// Called by medical scanners to get a simple summary of how healthy the organ is. Returns an empty string if things are fine. -/obj/item/organ/proc/get_status_text() - var/status = "" - if(owner.has_reagent(/datum/reagent/inverse/technetium)) - status = "[round((damage/maxHealth)*100, 1)]% damaged." - else if(organ_flags & ORGAN_FAILING) - status = "Non-Functional" - else if(damage > high_threshold) - status = "Severely Damaged" - else if (damage > low_threshold) - status = "Mildly Damaged" +/obj/item/organ/proc/get_status_text(advanced) + if(advanced && (organ_flags & ORGAN_PROMINENT)) + return "Harmful Foreign Body" - return status + if(owner.has_reagent(/datum/reagent/inverse/technetium)) + return "[round((damage/maxHealth)*100, 1)]% damaged." + + if(organ_flags & ORGAN_FAILING) + return "Non-Functional" + + if(damage > high_threshold) + return "Severely Damaged" + + if (damage > low_threshold) + return "Mildly Damaged" + + return "" /// Tries to replace the existing organ on the passed mob with this one, with special handling for replacing a brain without ghosting target /obj/item/organ/proc/replace_into(mob/living/carbon/new_owner) diff --git a/code/modules/surgery/organs/external/_external_organ.dm b/code/modules/surgery/organs/external/_external_organ.dm index 3156667ac09..a29d69af19e 100644 --- a/code/modules/surgery/organs/external/_external_organ.dm +++ b/code/modules/surgery/organs/external/_external_organ.dm @@ -64,6 +64,10 @@ receiver.update_body_parts() /obj/item/organ/external/Remove(mob/living/carbon/organ_owner, special, movement_flags) + // SKYRAT EDIT ADDITION START + if(mutantpart_key) + transfer_mutantpart_info(organ_owner, special) + // SKYRAT EDIT ADDITION END . = ..() if(!special) organ_owner.update_body_parts() @@ -77,10 +81,15 @@ if(!.) return + // SKYRAT EDIT ADDITION START + if(mutantpart_key) + copy_to_mutant_bodyparts(receiver, special) + // SKYRAT EDIT ADDITION END if(bodypart_overlay.imprint_on_next_insertion) //We only want this set *once* var/feature_name = receiver.dna.features[bodypart_overlay.feature_key] if (isnull(feature_name)) - bodypart_overlay.set_appearance_from_dna(receiver.dna) // SKYRAT EDIT CHANGE - ORIGINAL: feature_name = receiver.dna.species.external_organs[type] + if(!bodypart_overlay.set_appearance_from_dna(receiver.dna)) // SKYRAT EDIT CHANGE - ORIGINAL: feature_name = receiver.dna.species.external_organs[type] + bodypart_overlay.set_appearance_from_name(receiver.dna.species.external_organs[type]) // SKYRAT EDIT ADDITION // SKYRAT EDIT CHANGE START - Puts the following line in an else block else bodypart_overlay.set_appearance_from_name(feature_name) diff --git a/code/modules/surgery/organs/external/tails.dm b/code/modules/surgery/organs/external/tails.dm index e1de62308f0..d9dfbf7b9dd 100644 --- a/code/modules/surgery/organs/external/tails.dm +++ b/code/modules/surgery/organs/external/tails.dm @@ -58,6 +58,10 @@ tail_spines_overlay = new tail_spines_overlay.tail_spine_key = tail_spine_key + // SKYRAT EDIT ADDITION START + if(!bodypart.owner.dna.mutant_bodyparts["spines"]) + bodypart.owner.dna.mutant_bodyparts["spines"][MUTANT_INDEX_NAME] = list(MUTANT_INDEX_NAME = "None", MUTANT_INDEX_COLOR_LIST = list("#886600", "#886600", "#886600")) + // SKYRAT EDIT ADDITION END var/feature_name = bodypart.owner.dna.mutant_bodyparts["spines"][MUTANT_INDEX_NAME] // SKYRAT EDIT CHANGE - ORIGINAL: var/feature_name = bodypart.owner.dna.features["spines"] //tail spines don't live in DNA, but share feature names with regular spines tail_spines_overlay.set_appearance_from_dna(bodypart.owner.dna, feature_name, feature_key = "spines") // SKYRAT EDIT CHANGE - ORIGINAL: tail_spines_overlay.set_appearance_from_name(feature_name) bodypart.add_bodypart_overlay(tail_spines_overlay) @@ -164,9 +168,6 @@ feature_key = "tail" // SKYRAT EDIT - Customization - ORIGINAL: feature_key = "tail_cat" // color_source = ORGAN_COLOR_HAIR // SKYRAT EDIT REMOVAL -/datum/bodypart_overlay/mutant/tail/cat/get_global_feature_list() - return GLOB.sprite_accessories["tail"] // SKYRAT EDIT - Customization - ORIGINAL: return GLOB.tails_list_human - /obj/item/organ/external/tail/monkey bodypart_overlay = /datum/bodypart_overlay/mutant/tail/monkey diff --git a/code/modules/surgery/organs/internal/appendix/_appendix.dm b/code/modules/surgery/organs/internal/appendix/_appendix.dm index e5190f1282e..83ed8da84ac 100644 --- a/code/modules/surgery/organs/internal/appendix/_appendix.dm +++ b/code/modules/surgery/organs/internal/appendix/_appendix.dm @@ -87,7 +87,7 @@ ADD_TRAIT(organ_owner, TRAIT_DISEASELIKE_SEVERITY_MEDIUM, type) organ_owner.med_hud_set_status() -/obj/item/organ/internal/appendix/get_status_text() +/obj/item/organ/internal/appendix/get_status_text(advanced) if((!(organ_flags & ORGAN_FAILING)) && inflamation_stage) return "Inflamed" else diff --git a/code/modules/surgery/organs/internal/lungs/_lungs.dm b/code/modules/surgery/organs/internal/lungs/_lungs.dm index a7d30c2aa03..76e4d2ffb6a 100644 --- a/code/modules/surgery/organs/internal/lungs/_lungs.dm +++ b/code/modules/surgery/organs/internal/lungs/_lungs.dm @@ -462,14 +462,6 @@ /obj/item/organ/internal/lungs/proc/too_much_miasma(mob/living/carbon/breather, datum/gas_mixture/breath, miasma_pp, old_miasma_pp) // Inhale Miasma. Exhale nothing. breathe_gas_volume(breath, /datum/gas/miasma) - // Miasma sickness - if(prob(0.5 * miasma_pp)) - var/datum/disease/advance/miasma_disease = new /datum/disease/advance/random(max_symptoms = min(round(max(miasma_pp / 2, 1), 1), 6), max_level = min(round(max(miasma_pp, 1), 1), 8)) - // tl;dr the first argument chooses the smaller of miasma_pp/2 or 6(typical max virus symptoms), the second chooses the smaller of miasma_pp or 8(max virus symptom level) - // Each argument has a minimum of 1 and rounds to the nearest value. Feel free to change the pp scaling I couldn't decide on good numbers for it. - if(breather.CanContractDisease(miasma_disease)) - miasma_disease.name = "Unknown" - breather.AirborneContractDisease(miasma_disease, TRUE) // Miasma side effects if (HAS_TRAIT(breather, TRAIT_ANOSMIA)) //Anosmia quirk holder cannot smell miasma, but can get diseases from it. return diff --git a/code/modules/transport/tram/tram_controller.dm b/code/modules/transport/tram/tram_controller.dm index 624325f4996..ec7851ce536 100644 --- a/code/modules/transport/tram/tram_controller.dm +++ b/code/modules/transport/tram/tram_controller.dm @@ -250,6 +250,7 @@ for(var/obj/structure/transport/linear/tram/transport_module as anything in transport_modules) //only thing everyone needs to know is the new location. if(transport_module.travelling) //wee woo wee woo there was a double action queued. damn multi tile structs return //we don't care to undo cover_locked controls, though, as that will resolve itself + transport_module.verify_transport_contents() transport_module.glide_size_override = DELAY_TO_GLIDE_SIZE(speed_limiter) transport_module.set_travelling(TRUE) diff --git a/code/modules/transport/transport_module.dm b/code/modules/transport/transport_module.dm index a2ba6f5167b..72c60aea3a5 100644 --- a/code/modules/transport/transport_module.dm +++ b/code/modules/transport/transport_module.dm @@ -165,6 +165,12 @@ initial_contents += new_initial_contents +///verify the movables in our list of contents are actually on our loc +/obj/structure/transport/linear/proc/verify_transport_contents() + for(var/atom/movable/movable_contents as anything in transport_contents) + if(!(movable_contents.loc in locs)) + remove_item_from_transport(movable_contents) + ///signal handler for COMSIG_MOVABLE_UPDATE_GLIDE_SIZE: when a movable in transport_contents changes its glide_size independently. ///adds that movable to a lazy list, movables in that list have their glide_size updated when the tram next moves /obj/structure/transport/linear/proc/on_changed_glide_size(atom/movable/moving_contents, new_glide_size) diff --git a/code/modules/tutorials/_tutorial.dm b/code/modules/tutorials/_tutorial.dm index aecdcb7f23b..1211f8e2993 100644 --- a/code/modules/tutorials/_tutorial.dm +++ b/code/modules/tutorials/_tutorial.dm @@ -9,6 +9,7 @@ VAR_PROTECTED/mob/user VAR_PRIVATE/atom/movable/screen/tutorial_instruction/instruction_screen + VAR_PRIVATE/atom/movable/screen/tutorial_skip/skip_button /datum/tutorial/New(mob/user) src.user = user @@ -17,10 +18,11 @@ /datum/tutorial/Destroy(force) user.client?.screen -= instruction_screen + user.client?.screen -= skip_button QDEL_NULL(instruction_screen) + QDEL_NULL(skip_button) user = null - return ..() /// Gets the [`/datum/tutorial_manager`] that owns this tutorial. @@ -70,6 +72,7 @@ if (!isnull(instruction_screen)) animate(instruction_screen, time = INSTRUCTION_SCREEN_DELAY, alpha = 0, easing = SINE_EASING) + animate(skip_button, time = INSTRUCTION_SCREEN_DELAY, alpha = 0, easing = SINE_EASING) delay += INSTRUCTION_SCREEN_DELAY QDEL_IN(src, delay) @@ -97,6 +100,10 @@ /// If a message already exists, will fade it out and replace it. /datum/tutorial/proc/show_instruction(message) PROTECTED_PROC(TRUE) + if(isnull(skip_button)) + skip_button = new + user.client?.screen += skip_button + RegisterSignal(skip_button, COMSIG_SCREEN_ELEMENT_CLICK, PROC_REF(dismiss)) if (isnull(instruction_screen)) instruction_screen = new(null, null, message, user.client) diff --git a/code/modules/tutorials/tutorial_skip.dm b/code/modules/tutorials/tutorial_skip.dm new file mode 100644 index 00000000000..803aebc8650 --- /dev/null +++ b/code/modules/tutorials/tutorial_skip.dm @@ -0,0 +1,35 @@ +/atom/movable/screen/tutorial_skip + icon = 'icons/effects/alphacolors.dmi' + icon_state = "white" + screen_loc = "TOP,LEFT" + color = COLOR_NEARLY_ALL_BLACK + alpha = 0 + mouse_opacity = MOUSE_OPACITY_OPAQUE + layer = TUTORIAL_INSTRUCTIONS_LAYER + var/atom/movable/screen/tutorial_skip_text/skip_text + +/atom/movable/screen/tutorial_skip/Initialize(mapload, datum/hud/hud_owner) + . = ..() + transform = transform.Scale(9, 1) + skip_text = new(null, hud_owner) + vis_contents += skip_text + maptext = MAPTEXT_VCR_OSD_MONO("Remind me later") + animate(src, alpha = 245, time = 0.8 SECONDS, easing = SINE_EASING) + +/atom/movable/screen/tutorial_skip/Destroy() + QDEL_NULL(skip_text) + return ..() + +/atom/movable/screen/tutorial_skip_text + alpha = 0 + layer = TUTORIAL_INSTRUCTIONS_LAYER + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + maptext_height = 32 + maptext_width = 200 + maptext_x = 20 + maptext_y = 9 + +/atom/movable/screen/tutorial_skip_text/Initialize(mapload, datum/hud/hud_owner) + . = ..() + var/newtext = MAPTEXT_VCR_OSD_MONO("Remind me later") + animate(src, alpha = 255, time = 0.5 SECONDS, maptext=newtext) diff --git a/code/modules/unit_tests/mob_damage.dm b/code/modules/unit_tests/mob_damage.dm index c27bc31ffe0..64b12b8f477 100644 --- a/code/modules/unit_tests/mob_damage.dm +++ b/code/modules/unit_tests/mob_damage.dm @@ -580,3 +580,22 @@ if(!verify_damage(gusgus, 0, included_types = BRUTELOSS)) TEST_FAIL("heal_overall_damage did not apply its healing correctly on the mouse!") + +/// Tests that humans get the tox_vomit status effect when heavily poisoned +/datum/unit_test/human_tox_damage + +/datum/unit_test/human_tox_damage/Run() + // Spawn a dummy, give it a bunch of tox damage. It should get the status effect. + var/mob/living/carbon/human/dummy = allocate(/mob/living/carbon/human/consistent) + dummy.setToxLoss(75) + var/datum/status_effect/tox_effect = dummy.has_status_effect(/datum/status_effect/tox_vomit) + TEST_ASSERT_NOTNULL(tox_effect, "Dummy didn't get tox_vomit status effect despite at [dummy.getToxLoss()] toxin damage (Method: SET)!") + // Clear the toxin damage away, and force a status effect tick: It should delete itself + dummy.setToxLoss(0) + tox_effect.tick(initial(tox_effect.tick_interval)) + TEST_ASSERT(QDELETED(tox_effect), "Dummy still has tox_vomit status effect despite at [dummy.getToxLoss()] toxin damage (Method: SET)!") + // Test another method of gaining tox damage, use an entirely clean slate just to be sure + var/mob/living/carbon/human/dummy_two = allocate(/mob/living/carbon/human/consistent) + dummy_two.adjustToxLoss(75) + var/datum/status_effect/tox_effect_two = dummy_two.has_status_effect(/datum/status_effect/tox_vomit) + TEST_ASSERT_NOTNULL(tox_effect_two, "Dummy didn't get tox_vomit status effect at [dummy_two.getToxLoss()] toxin damage (METHOD: ADJUST)!") diff --git a/code/modules/unit_tests/screenshot_humanoids.dm b/code/modules/unit_tests/screenshot_humanoids.dm index 6e5bcd03a6b..3bfaffb8c70 100644 --- a/code/modules/unit_tests/screenshot_humanoids.dm +++ b/code/modules/unit_tests/screenshot_humanoids.dm @@ -2,6 +2,8 @@ /datum/unit_test/screenshot_humanoids /datum/unit_test/screenshot_humanoids/Run() + var/list/testable_species = subtypesof(/datum/species) + // Test lizards as their own thing so we can get more coverage on their features var/mob/living/carbon/human/lizard = allocate(/mob/living/carbon/human/dummy/consistent) lizard.dna.features["mcolor"] = "#099" @@ -13,6 +15,7 @@ lizard.set_species(/datum/species/lizard) lizard.equipOutfit(/datum/outfit/job/engineer) test_screenshot("[/datum/species/lizard]", get_flat_icon_for_all_directions(lizard)) + testable_species -= /datum/species/lizard // let me have this var/mob/living/carbon/human/moth = allocate(/mob/living/carbon/human/dummy/consistent) @@ -23,9 +26,21 @@ moth.set_species(/datum/species/moth) moth.equipOutfit(/datum/outfit/job/cmo, visualsOnly = TRUE) test_screenshot("[/datum/species/moth]", get_flat_icon_for_all_directions(moth)) + testable_species -= /datum/species/moth + + // More in depth test for slimes since they have a lot going on + for (var/datum/species/slime_type as anything in typesof(/datum/species/jelly)) + var/mob/living/carbon/human/slime = allocate(/mob/living/carbon/human/dummy/consistent) + slime.dna.features["mcolor"] = COLOR_PINK + slime.hairstyle = "Bob Hair 2" + slime.hair_color = COLOR_RED // Should be forced to pink + slime.set_species(slime_type) + slime.equipOutfit(/datum/outfit/job/scientist/consistent) + test_screenshot("[slime_type]", get_flat_icon_for_all_directions(slime)) + testable_species -= slime_type // The rest of the species - for (var/datum/species/species_type as anything in subtypesof(/datum/species) - /datum/species/moth - /datum/species/lizard) + for (var/datum/species/species_type as anything in testable_species) test_screenshot("[species_type]", get_flat_icon_for_all_directions(make_dummy(species_type, /datum/outfit/job/assistant/consistent))) /datum/unit_test/screenshot_humanoids/proc/make_dummy(species, job_outfit) diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly.png index f2e4780e34b..95a158d5e3c 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_luminescent.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_luminescent.png index 10306f0a123..fa65d6efb4a 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_luminescent.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_luminescent.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_roundstartslime.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_roundstartslime.png index 0be9ecb865f..4d2bd75fbc1 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_roundstartslime.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_roundstartslime.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_slime.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_slime.png index af27be67277..8e017e1c0df 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_slime.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_slime.png differ diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_stargazer.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_stargazer.png index f2e4780e34b..95a158d5e3c 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_stargazer.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_jelly_stargazer.png differ diff --git a/code/modules/unit_tests/simple_animal_freeze.dm b/code/modules/unit_tests/simple_animal_freeze.dm index 1061f6dc585..e10cd2636cf 100644 --- a/code/modules/unit_tests/simple_animal_freeze.dm +++ b/code/modules/unit_tests/simple_animal_freeze.dm @@ -80,8 +80,8 @@ /mob/living/simple_animal/pet/gondola/virtual_domain, /mob/living/simple_animal/soulscythe, - //MODULAR SKYRAT ENTRIES - //PLEASE REFACTOR THESE AS YOU CAN + // MODULAR SKYRAT ENTRIES + // PLEASE REFACTOR THESE AS YOU CAN /mob/living/simple_animal/hostile/bigcrab, /mob/living/simple_animal/hostile/blackmesa, /mob/living/simple_animal/hostile/blackmesa/blackops, diff --git a/code/modules/uplink/uplink_items/clownops.dm b/code/modules/uplink/uplink_items/clownops.dm index 73dd3d4c876..8d607cb0d5c 100644 --- a/code/modules/uplink/uplink_items/clownops.dm +++ b/code/modules/uplink/uplink_items/clownops.dm @@ -141,7 +141,7 @@ cost = 80 purchasable_from = UPLINK_CLOWN_OPS -/* //SKYRAT REMOVAL START +/* // SKYRAT EDIT REMOVAL START /datum/uplink_item/stealthy_tools/combatbananashoes name = "Combat Banana Shoes" desc = "While making the wearer immune to most slipping attacks like regular combat clown shoes, these shoes \ @@ -151,7 +151,7 @@ cost = 6 surplus = 0 purchasable_from = UPLINK_CLOWN_OPS -*/ //SKYRAT REMOVAL END +*/ // SKYRAT EDIT REMOVAL END /datum/uplink_item/badass/clownopclumsinessinjector //clowns can buy this too, but it's in the role-restricted items section for them name = "Clumsiness Injector" diff --git a/code/modules/uplink/uplink_items/explosive.dm b/code/modules/uplink/uplink_items/explosive.dm index 59a44325673..0ecea6a5b60 100644 --- a/code/modules/uplink/uplink_items/explosive.dm +++ b/code/modules/uplink/uplink_items/explosive.dm @@ -35,7 +35,8 @@ item = /obj/item/storage/backpack/duffelbag/syndie/x4 cost = 4 cant_discount = TRUE -/* //SKYRAT EDIT REMOVAL START + +/* // SKYRAT EDIT REMOVAL START /datum/uplink_item/explosives/detomatix name = "Detomatix disk" desc = "When inserted into a tablet, this cartridge gives you four opportunities to \ @@ -44,7 +45,7 @@ item = /obj/item/computer_disk/virus/detomatix cost = 6 restricted = TRUE -*/ //SKYRAT REMOVAL END +*/ // SKYRAT EDIT REMOVAL END /datum/uplink_item/explosives/emp name = "EMP Grenades and Implanter Kit" desc = "A box that contains five EMP grenades and an EMP implant with three uses. Useful to disrupt communications, \ @@ -57,6 +58,12 @@ if(HAS_TRAIT(SSstation, STATION_TRAIT_CYBERNETIC_REVOLUTION)) cost *= 3 +/datum/uplink_item/explosives/smoke + name = "Smoke Grenades" + desc = "A box that contains five smoke grenades. Useful for vanishing and ninja fans with katana." + item = /obj/item/storage/box/syndie_kit/smoke + cost = 2 + /datum/uplink_item/explosives/pizza_bomb name = "Pizza Bomb" desc = "A pizza box with a bomb cunningly attached to the lid. The timer needs to be set by opening the box; afterwards, \ diff --git a/code/modules/uplink/uplink_items/job.dm b/code/modules/uplink/uplink_items/job.dm index 0b754875282..dc857c0d0ad 100644 --- a/code/modules/uplink/uplink_items/job.dm +++ b/code/modules/uplink/uplink_items/job.dm @@ -319,7 +319,7 @@ restricted_roles = list(JOB_ROBOTICIST, JOB_RESEARCH_DIRECTOR) surplus = 15 -/* //SKYRAT REMOVAL START +/* // SKYRAT EDIT REMOVAL START /datum/uplink_item/role_restricted/spider_injector name = "Australicus Slime Mutator" desc = "Crikey mate, it's been a wild travel from the Australicus sector but we've managed to get \ @@ -333,7 +333,7 @@ surplus = 10 */ -// SKYRAT EDIT END +// SKYRAT EDIT REMOVAL END /* /datum/uplink_item/role_restricted/blastcannon - BUBBER REMOVE START name = "Blast Cannon" desc = "A highly specialized weapon, the Blast Cannon is actually relatively simple. It contains an attachment for a tank transfer valve mounted to an angled pipe specially constructed \ diff --git a/code/modules/uplink/uplink_items/suits.dm b/code/modules/uplink/uplink_items/suits.dm index 57982a8cf98..8e721274482 100644 --- a/code/modules/uplink/uplink_items/suits.dm +++ b/code/modules/uplink/uplink_items/suits.dm @@ -70,6 +70,6 @@ provides the user with superior armor and mobility compared to the standard Syndicate MODsuit." item = /obj/item/mod/control/pre_equipped/traitor_elite // This one costs more than the nuke op counterpart - purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS) + purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS | UPLINK_SPY) progression_minimum = 90 MINUTES cost = 16 diff --git a/code/modules/vehicles/mecha/combat/reticence.dm b/code/modules/vehicles/mecha/combat/reticence.dm index 5e400b12d97..5dcc5f34e91 100644 --- a/code/modules/vehicles/mecha/combat/reticence.dm +++ b/code/modules/vehicles/mecha/combat/reticence.dm @@ -37,7 +37,7 @@ MECHA_L_ARM = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced, MECHA_R_ARM = /obj/item/mecha_parts/mecha_equipment/rcd, MECHA_UTILITY = list(/obj/item/mecha_parts/mecha_equipment/radio, /obj/item/mecha_parts/mecha_equipment/air_tank/full, /obj/item/mecha_parts/mecha_equipment/thrusters/ion), - MECHA_POWER = /obj/item/mecha_parts/mecha_equipment/generator, + MECHA_POWER = list(/obj/item/mecha_parts/mecha_equipment/generator), MECHA_ARMOR = list(), ) diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index bd9bbfca91f..d13b90e5659 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -580,10 +580,10 @@ . = ..() var/mob/living/mobtarget = target if(mobtarget.move_resist == MOVE_FORCE_OVERPOWERING) //No megafauna or bolted AIs, please. - to_chat(source, "[span_warning("[src] is unable to lift [mobtarget].")]") + balloon_alert(source, "too strong!") return if(secmech.cargo_hold.contents.len >= secmech.cargo_hold.cargo_capacity) - to_chat(source, "[icon2html(src, source)][span_warning("Not enough room in cargo compartment!")]") + balloon_alert(source, "no room!") return playsound(chassis, clampsound, 50, FALSE, -6) diff --git a/code/modules/vehicles/mecha/mech_fabricator.dm b/code/modules/vehicles/mecha/mech_fabricator.dm index 2dce26624ad..47c116cbc60 100644 --- a/code/modules/vehicles/mecha/mech_fabricator.dm +++ b/code/modules/vehicles/mecha/mech_fabricator.dm @@ -260,22 +260,23 @@ * * Returns FALSE is the machine cannot dispense the part on the appropriate turf. * Return TRUE if the part was successfully dispensed. - * * D - Design datum to attempt to dispense. + * * dispensed_design - Design datum to attempt to dispense. */ -/obj/machinery/mecha_part_fabricator/proc/dispense_built_part(datum/design/D) - var/obj/item/I = new D.build_path(src) +/obj/machinery/mecha_part_fabricator/proc/dispense_built_part(datum/design/dispensed_design) + var/obj/item/built_part = new dispensed_design.build_path(src) + SSblackbox.record_feedback("nested tally", "lathe_printed_items", 1, list("[type]", "[built_part.type]")) being_built = null var/turf/exit = get_step(src,(dir)) if(exit.density) say("Error! The part outlet is obstructed.") - desc = "It's trying to dispense the fabricated [D.name], but the part outlet is obstructed." - stored_part = I + desc = "It's trying to dispense the fabricated [dispensed_design.name], but the part outlet is obstructed." + stored_part = built_part return FALSE - say("The fabrication of [I] is now complete.") - I.forceMove(exit) + say("The fabrication of [built_part] is now complete.") + built_part.forceMove(exit) top_job_id += 1 diff --git a/code/modules/vehicles/mecha/working/ripley.dm b/code/modules/vehicles/mecha/working/ripley.dm index a4872289e96..be9dc0d69c3 100644 --- a/code/modules/vehicles/mecha/working/ripley.dm +++ b/code/modules/vehicles/mecha/working/ripley.dm @@ -265,8 +265,6 @@ GLOBAL_DATUM(cargo_ripley, /obj/vehicle/sealed/mecha/ripley/cargo) /obj/vehicle/sealed/mecha/ripley/cargo/Initialize(mapload) . = ..() - if(cell) - cell.charge = FLOOR(cell.charge * 0.25, 1) //Starts at very low charge //Attach hydraulic clamp ONLY var/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/HC = new @@ -398,8 +396,13 @@ GLOBAL_DATUM(cargo_ripley, /obj/vehicle/sealed/mecha/ripley/cargo) return ..() /obj/item/mecha_parts/mecha_equipment/ejector/seccage/container_resist_act(mob/living/user) - to_chat(user, span_notice("You begin attempting a breakout. (This will take around 45 seconds and [chassis] need to remain stationary.)")) - if(!do_after(user, 1 MINUTES, target = chassis)) + var/breakout_time = 1 MINUTES + + if (user.mob_size > MOB_SIZE_HUMAN) + breakout_time = 6 SECONDS + + to_chat(user, span_notice("You begin attempting a breakout. (This will take around [DisplayTimeText(breakout_time)] and [chassis] needs to remain stationary.)")) + if(!do_after(user, breakout_time, target = chassis)) return to_chat(user, span_notice("You break out of the [src].")) playsound(chassis, 'sound/items/crowbar.ogg', 100, TRUE) diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 29641441e67..96dd1a7b3f9 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -1417,7 +1417,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) if(isliving(usr)) living_user = usr card_used = living_user.get_idcard(TRUE) - else if(age_restrictions && item_record.age_restricted && (!card_used.registered_age || card_used.registered_age < AGE_MINOR)) + if(age_restrictions && item_record.age_restricted && (!card_used.registered_age || card_used.registered_age < AGE_MINOR)) speak("You are not of legal age to purchase [item_record.name].") if(!(usr in GLOB.narcd_underages)) if (isnull(sec_radio)) @@ -1458,7 +1458,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) if(usr.CanReach(src) && usr.put_in_hands(vended_item)) to_chat(usr, span_notice("You take [item_record.name] out of the slot.")) else - to_chat(usr, span_warning("[capitalize(item_record.name)] falls onto the floor!")) + to_chat(usr, span_warning("[capitalize(format_text(item_record.name))] falls onto the floor!")) SSblackbox.record_feedback("nested tally", "vending_machine_usage", 1, list("[type]", "[item_record.product_path]")) vend_ready = TRUE @@ -1846,7 +1846,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) if(user.CanReach(src) && user.put_in_hands(dispensed_item)) to_chat(user, span_notice("You take [dispensed_item.name] out of the slot.")) else - to_chat(user, span_warning("[capitalize(dispensed_item.name)] falls onto the floor!")) + to_chat(user, span_warning("[capitalize(format_text(dispensed_item.name))] falls onto the floor!")) return TRUE /obj/machinery/vending/custom/unbreakable diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index f3ca3a08e3f..6f579bfdab0 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -497,6 +497,7 @@ /obj/item/clothing/shoes/laceup = 2, /obj/item/radio/headset/headset_srv = 2, /obj/item/storage/box/evidence = 2, + /obj/item/fish_feed = 1, ) refill_canister = /obj/item/vending_refill/wardrobe/law_wardrobe payment_department = ACCOUNT_SRV diff --git a/code/modules/wiremod/core/component.dm b/code/modules/wiremod/core/component.dm index cf142d1e365..7f7bddaa572 100644 --- a/code/modules/wiremod/core/component.dm +++ b/code/modules/wiremod/core/component.dm @@ -410,7 +410,7 @@ * Called when a circuit component requests to send Ntnet data signal. * * Arguments: - * * port - The required list port needed by the Ntnet recieve + * * port - The required list port needed by the Ntnet receive * * key - The encryption key * * signal_type - The signal type used for sending this global signal (optional, default is COMSIG_GLOB_CIRCUIT_NTNET_DATA_SENT) */ diff --git a/code/modules/wiremod/shell/drone.dm b/code/modules/wiremod/shell/drone.dm index 7d547645cd1..aaeafb6b551 100644 --- a/code/modules/wiremod/shell/drone.dm +++ b/code/modules/wiremod/shell/drone.dm @@ -110,5 +110,10 @@ if(!direction) return + if(ismovable(shell.loc)) //Inside an object, tell it we moved + var/atom/loc_atom = shell.loc + loc_atom.relaymove(shell, direction) + return + if(shell.Process_Spacemove(direction)) shell.Move(get_step(shell, direction), direction) diff --git a/code/world.dm b/code/world.dm index ad1f5261d09..bfc8af30528 100644 --- a/code/world.dm +++ b/code/world.dm @@ -17,8 +17,8 @@ hub_password = "kMZy3U5jJHSiBQjr" name = "/tg/ Station 13" fps = 20 - cache_lifespan = 0 // SKYRAT EDIT - Makes sure TTS shit isnt kept past rounds - //map_format = SIDE_MAP // SKYRAT EDIT - TODO: WALLENING - REMOVE THIS (hopefully the visual z-fighting issues will have been ironed out by then) + cache_lifespan = 0 + //map_format = SIDE_MAP // SKYRAT EDIT - TODO: WALLENING - REMOVE THIS (hopefully the visual z-fighting issues will have been ironed out by then #ifdef FIND_REF_NO_CHECK_TICK loop_checks = FALSE #endif diff --git a/config/dynamic.json b/config/dynamic.json index 1e0e0e99f14..6b8acabd1d7 100644 --- a/config/dynamic.json +++ b/config/dynamic.json @@ -126,10 +126,6 @@ "weight": 0 }, - "Sentient Disease": { - "weight": 0 - }, - "Space Pirates": { "weight": 0 }, @@ -167,6 +163,8 @@ "Station": { "Radioactive Nebula": { + }, + "Background Checks": { } } } diff --git a/html/admin/banpanel.css b/html/admin/banpanel.css index 84412a775ba..8cdfb4233e3 100644 --- a/html/admin/banpanel.css +++ b/html/admin/banpanel.css @@ -73,9 +73,6 @@ background-color: #6d3f40; } -.skyratbanoptions { - background-color: #00f7ff; - .undefineddepartment { background-color: #111cf7; } diff --git a/html/changelogs/AutoChangeLog-pr-27938.yml b/html/changelogs/AutoChangeLog-pr-27938.yml new file mode 100644 index 00000000000..ba7b289db9b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27938.yml @@ -0,0 +1,4 @@ +author: "Jane" +delete-after: True +changes: + - image: "Central Command has cut funding to the Mining department, resulting in leather sleeves for the Shaft Miner Explorer Suit rather than the metal plates of before." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27939.yml b/html/changelogs/AutoChangeLog-pr-27939.yml new file mode 100644 index 00000000000..c621b47fb4d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27939.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "positive viruses are no longer hidden." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27941.yml b/html/changelogs/AutoChangeLog-pr-27941.yml new file mode 100644 index 00000000000..97184a189b2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27941.yml @@ -0,0 +1,4 @@ +author: "grungussuss" +delete-after: True +changes: + - qol: "lathes will now print cables coils in packs of 5" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27942.yml b/html/changelogs/AutoChangeLog-pr-27942.yml new file mode 100644 index 00000000000..30009dab8d5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27942.yml @@ -0,0 +1,5 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "Imaginary friend brain trauma works again." + - bugfix: "Imaginary friends can be heard by their hosts from more than a tile away again." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27943.yml b/html/changelogs/AutoChangeLog-pr-27943.yml new file mode 100644 index 00000000000..8469071787c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27943.yml @@ -0,0 +1,5 @@ +author: "SkyratBot" +delete-after: True +changes: + - spellcheck: "Photo descriptions containing living entities no longer have a pile of unnecessary periods. .. Which they used to have between describing different entities. .. Also removed that additional space they had too sometimes.." + - qol: "Photo descriptions containing living entities have these sub-descriptions split into newlines for ease of reading." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27944.yml b/html/changelogs/AutoChangeLog-pr-27944.yml new file mode 100644 index 00000000000..3eaca275919 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27944.yml @@ -0,0 +1,4 @@ +author: "grungussuss" +delete-after: True +changes: + - bugfix: "added missing context tips for atmos canisters" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27945.yml b/html/changelogs/AutoChangeLog-pr-27945.yml new file mode 100644 index 00000000000..7ff6ea2cf24 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27945.yml @@ -0,0 +1,7 @@ +author: "GoldenAlpharex" +delete-after: True +changes: + - qol: "Fermenting (wooden) barrels can now be emptied when opened by right-clicking with an empty hand!" + - qol: "Fermenting (wooden) barrels can now be anchored/unanchored using wrenches!" + - qol: "Fermenting (wooden) barrels now have contextual helpers, to show what you need to do at a glance to interact with them." + - code_imp: "Documented a few of the fermenting barrel's variables." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27946.yml b/html/changelogs/AutoChangeLog-pr-27946.yml new file mode 100644 index 00000000000..437a103024a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27946.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - balance: "you may not decap people with a plasma cutter" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27947.yml b/html/changelogs/AutoChangeLog-pr-27947.yml new file mode 100644 index 00000000000..ef091b725dd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27947.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - balance: "When an AI is alive, on main power, and not SSD its bolts cannot be raised or lowered externally." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27949.yml b/html/changelogs/AutoChangeLog-pr-27949.yml new file mode 100644 index 00000000000..9b5b46c7ad6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27949.yml @@ -0,0 +1,5 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "The NTSS Independence cryogenics thermomachine is now properly hooked up to the cryo loop." + - qol: "The NTSS Independence's medical bay has received improvements. The medibot and the sleeper are upgraded, and advanced surgery equipment has been added." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27950.yml b/html/changelogs/AutoChangeLog-pr-27950.yml new file mode 100644 index 00000000000..f11a12bfe25 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27950.yml @@ -0,0 +1,8 @@ +author: "Melbert" +delete-after: True +changes: + - balance: "Wearing a mask can now prevent you from being spread airborne diseases. Prior, it only stopped you from spreading it yourself." + - balance: "Wearing a mask no longer 100% guarantees you don't spread viruses to others people - it now scales on the masks BIO armor. Get a sterile mask from Medical for max safety." + - balance: "Wearing a mask to stop you from spreading to other people is doubly effective than wearing a mask to prevent spread to yourself - Mask up for the greater good!" + - balance: "Passive airborne virus spread attempts are now done every time you breathe (every eight seconds), rather than every two seconds. The chance of spread is the same, though - it has been scaled up to accommodate." + - code_imp: "Cleaned up a fair bid of airborne-transmission-code. Report any oddities." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27951.yml b/html/changelogs/AutoChangeLog-pr-27951.yml new file mode 100644 index 00000000000..710a2fed8bb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27951.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - balance: "Attack with a pillow now consumes 5 stamina regardless of wielded or not." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27952.yml b/html/changelogs/AutoChangeLog-pr-27952.yml new file mode 100644 index 00000000000..77face68055 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27952.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "you are now able to cancel the look up/down verbs from anywhere" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27953.yml b/html/changelogs/AutoChangeLog-pr-27953.yml new file mode 100644 index 00000000000..84fe481ced5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27953.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "ambush spider (should instantly agressive grab) and other giant spiders can now agressively grab" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27954.yml b/html/changelogs/AutoChangeLog-pr-27954.yml new file mode 100644 index 00000000000..a1bc0709fb7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27954.yml @@ -0,0 +1,6 @@ +author: "SkyratBot" +delete-after: True +changes: + - rscadd: "You can now flush toilets. You can also put fish in the toilet. And flush them." + - bugfix: "Urinals can no longer be used to delete items." + - bugfix: "Urinals no longer grant infinite urinal cakes." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27955.yml b/html/changelogs/AutoChangeLog-pr-27955.yml new file mode 100644 index 00000000000..e6a37f883a7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27955.yml @@ -0,0 +1,4 @@ +author: "Vekter" +delete-after: True +changes: + - rscadd: "Adds an ion law possibility that changes the human status of station pets." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27956.yml b/html/changelogs/AutoChangeLog-pr-27956.yml new file mode 100644 index 00000000000..142f13c0897 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27956.yml @@ -0,0 +1,4 @@ +author: "xXPawnStarrXx" +delete-after: True +changes: + - rscadd: "Added the Kahraman machines to cargo." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27957.yml b/html/changelogs/AutoChangeLog-pr-27957.yml new file mode 100644 index 00000000000..d45182d03e7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27957.yml @@ -0,0 +1,5 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "Cryo tube respects `NO_DEBRIS_AFTER_DECONSTRUCTION` for the occupants visual contents flags & traits & won't allow hologram/abstract item interactions" + - code_imp: "Cryo has improved attack chain & uses defines for reagent volume rounding" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27958.yml b/html/changelogs/AutoChangeLog-pr-27958.yml new file mode 100644 index 00000000000..7a4fb36efac --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27958.yml @@ -0,0 +1,5 @@ +author: "SkyratBot" +delete-after: True +changes: + - refactor: "ghetto chem separator has been reworked from scratch. See PR 83275 for details" + - qol: "adds examines & screentips for ghetto chem separator" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27960.yml b/html/changelogs/AutoChangeLog-pr-27960.yml new file mode 100644 index 00000000000..90e61b54db0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27960.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "Fixed the biogenerator's tabs" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27963.yml b/html/changelogs/AutoChangeLog-pr-27963.yml new file mode 100644 index 00000000000..ce5da0331d4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27963.yml @@ -0,0 +1,4 @@ +author: "LT3" +delete-after: True +changes: + - bugfix: "Fixed bug where players could be invisibly attached to the tram forever" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27965.yml b/html/changelogs/AutoChangeLog-pr-27965.yml new file mode 100644 index 00000000000..94f8f991825 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27965.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - qol: "Sign language users can now sign in cuffs, but to a very limited degree. They also have more descriptive emotes for questions, exclamations, and a combination of the two." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27966.yml b/html/changelogs/AutoChangeLog-pr-27966.yml new file mode 100644 index 00000000000..ea761d607d8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27966.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "Orbit UI icons are no longer scrollable.." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27967.yml b/html/changelogs/AutoChangeLog-pr-27967.yml new file mode 100644 index 00000000000..7dcc462dc1d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27967.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "COMSIG_ATOM_POST_DIR_CHANGE is now a functional signal" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27968.yml b/html/changelogs/AutoChangeLog-pr-27968.yml new file mode 100644 index 00000000000..816912d4a0d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-27968.yml @@ -0,0 +1,4 @@ +author: "theselfish" +delete-after: True +changes: + - bugfix: "Blast Helmet's toggled OBJ sprite now exists." \ No newline at end of file diff --git a/html/changelogs/archive/2024-05.yml b/html/changelogs/archive/2024-05.yml index 934b7636f13..89b62a8c8a5 100644 --- a/html/changelogs/archive/2024-05.yml +++ b/html/changelogs/archive/2024-05.yml @@ -508,3 +508,323 @@ - qol: Only allow machines located within Syndie areas to connect to Syndie R&D servers (and vice versa) - bugfix: Interdyne brig closets can be accessed by regular crew +2024-05-19: + Melbert: + - rscadd: Adds Minecarts, (possibly admin only depending on when this PR is merged + in relation to the Icebox Bar PR) + NullDagaf: + - image: added a new frill option + - rscadd: worm fertilizer now imcreases plant potency + - refactor: refactored simple farm code + ShizCalev: + - bugfix: Malf AI can now override/overload closed turrets. + - bugfix: Fixed a scenario in which a turret would have its covers closed while + still firing. + SkyratBot: + - qol: The Ansem, suppressor, and SC/FISHER included in the Fisher gimmick bundle + now come together as one whole gun, the Ansem/SC. It's integrally suppressed, + and fires the disruptor on right-click. + - bugfix: The SC/FISHER disrupts APCs for an appropriate amount of time, not ten + times the intended disruption length. + - spellcheck: Fixes some typos in the goodies section and makes it look a bit more + consistent. + - rscdel: Due to a need for company restructuring, virologists have been laid off + by CentCom and doctors can optionally take their place. + - bugfix: You will now be ejected from Space Phase if you lose your focus or lose + consciousness somehow during the jaunt. + - bugfix: Mob spawners (such as lavaland tendrils) won't spawn more mobs than they + are supposed to, faster than they should. + - balance: Nukies ordnance now include more gasses and stock parts + - bugfix: adds missing prefix to name of The Lizard's Gas Lava land ruin. + - bugfix: Snails no longer move at normal speed while resting. + - bugfix: Snails can no longer get insane speed from getting their legs replaced. + - bugfix: Humans don't become immensely slow when getting a Snail leg. + - admin: lube walking element is now much easier to mess with to fit however you + want to use it for. + - bugfix: cell chargers, mechbay port chargers & recharge stations heat lost is + directly proportional to energy drawn from the grid to charge their respective + cells + - bugfix: cyborgs should charge more frequently & to their max capacity at recharge + stations + - qol: Neckties are now worn underneath suit items and accessories, they can still + be optionally worn over them in case you want the "business space suit" look + - bugfix: Fixed a bug where accessories wouldn't correctly apply over suits if you + equipped the jumpsuit they're attached to after the suit + - bugfix: Simplebot UI won't display '0' anymore when locked + - bugfix: fixed malf AI being able to overload shuttle consoles and the gateway + control console + - rscadd: mobile defibrillator mount + - bugfix: Fixes a bunch of hearts turning into errors when you try to eat them + grungussuss: + - qol: suit sensors can now be maxed by ctrl clicking your jumpsuit + jjpark-kb: + - rscadd: 'added two new skills: construction and primitive' + sheets, spacemenart, ben10omintrix, goofball, infrared baron, aofie: + - rscadd: adds lavaland raptors and the raptor ranch +2024-05-21: + Melbert: + - qol: Custom emotes now default to both visible and audible rather than just audible + - qol: Invoking the custom emote verb now explains how to set your custom emote + to visible or audible + - rscadd: 'Icebox: The bar returns to its home.' + - rscadd: 'Icebox: Standardizes some decal styles in the main hallway.' + - bugfix: 'Icebox: The lower brig''s missing air alarm has been found.' + ShizCalev: + - bugfix: Balloons are no longer invisible when held. + - bugfix: Malf AI can now properly interact with APCs under their control + - bugfix: Malf AI & their slaved cyborgs won't be told that access is denied when + trying to right-click lock/unlock APCs. + - bugfix: Icecream vats will no longer eat cyborg beakers. + SkyratBot: + - bugfix: jumpsuit sensors quick maxing now works + - balance: If you can't absorb a species' DNA as a changeling, you also can't use + transform sting to turn someone into that species. + - balance: Buffs Antihol's purge rate to 8u/tick when pure (6u/tick minimum). + - admin: sentience balloon can now assign antag to affected mobs + - balance: Multiver stops purging when Anacea is present in the bloodstream. + - balance: Halved Psyker echolocation cooldown. This will hopefully make it actually + usable. + - bugfix: carps now properly stop floating when you kill them + - rscadd: Nanotrasen has made strides in their frontier sector food networks, increasing + the selection of produce available to chefs. + - balance: Cargo ripley's cell starts fully charged. + - spellcheck: Pulse of entropy description now displays the correct reagents for + the ritual + - bugfix: HoS on birdshot now has a pet like on all other maps + - balance: Ore vents, if blocked off from all four sides while being defended, now + cause a mild gas explosion, resulting in a mild dissuasive explosion. + - bugfix: NODE drones spawned from ore vent defense have lower maximum health. + - admin: Various bad things that can happen as a result of Legion organs are now + logged + - bugfix: playful raptors now correctly play with owners + grungussuss and Virgilcore: + - sound: added sounds for the gateway +2024-05-23: + Bisar: + - balance: A wound being inflicted doesn't get broadcasted to everyone in view until + a higher severity now. + - sound: Wound sounds drop off more quickly, and no longer travel through walls. + This has no effect on attack sounds. + SkyratBot: + - rscadd: Added smoke kit (5 grenades) with four grenades to uplink by 2 TC + - spellcheck: Removes a shit clown name and adds a better clown name instead + - bugfix: 'underage drinkers beware: the Booze-O-Mat and ShadyCigs Deluxe check + your age again' + - rscadd: Adds a new deathmatch modifier that enables quirks + - bugfix: The RD remote works on the AI upload door now + - qol: Crew Monitor UI now scrolls properly even after clicking the inner list. + - bugfix: Viewing Reticence's stats no longer causes an NtOS UI error + - bugfix: Crafting menu loads long lists faster + - spellcheck: The message displayed when adjusting a mask no longer incorrectly + states the way in which the mask has moved. + - bugfix: The deathmatch modifier menu works now + - spellcheck: the nuke op reinforcement beacon no longer talks about clones + - rscdel: Modularizes Night vision quirk + - bugfix: Monkey power reactions are instant and won't occur when exact reagent + requirements (50u power & 1u water) or above aren't met. Stops players from + cheesing monkeys from plumbing factories + - bugfix: ' fixes being able to ride all mobs through space' + - balance: Certain unhealthy organs can be detected via the advanced health scanner + - spellcheck: Correctly spells "received." + - spellcheck: Improved the grammar/spelling of a few raptor descriptions + - bugfix: '[Metastation] Service hallway door being bypassed by lying down' + - bugfix: fixed a weird door in icebox bridge + - qol: New players will no longer start with ghost ears, ghost sight and ghost whispers + on by default. + - spellcheck: Corrects spelling of "amulette" to "amulet" + - bugfix: Fixed spies having a slightly increased chance of getting a different + cost model for the elite syndicate hardsuit + - bugfix: Slimes will no longer consider feeding upon slime people + - image: Medical doctors and CMOs now start with their jumpsuits rather than surgery + scrubs and caps. + - bugfix: Miners can actually access and fix their engineering issues on the lavaland + base via the engineering section of the base. AGAIN. + - bugfix: The gulag SMES unit is no longer needlessly draining the entire power + grid of the main mining base. AGAIN. + - rscadd: The Research Director is now actually strong. + - rscadd: Fitness bros will determine the Research Director to be stronger than + they actually are, without even working out. How does he do it? + - balance: Suplexing a rod grants a large burst of athletics experience. + - rscadd: The more sentient casualties of the rod, the more experience suplexing + that rod grants. Absorb the souls of the weak and feeble. +2024-05-24: + Melbert: + - bugfix: Height now applies less weird to certain worn items, bare-handed bloody + hands, and damage overlays. + - bugfix: Fixed Slimepeople's hair not matching their slimey colors. + NullDagaf: + - rscadd: adds kinetic gauntlets + - bugfix: demon claws now correctly increase the force of whatever they're attached + to + SkyratBot: + - balance: Auto-aim in combat mode at mobs on the floor is disabled after the projectile + passes 10 tiles. + - bugfix: The Lance Crew Evacuation System now moves in the right direction in Hyperspace. + - balance: reduced claymore/weak force from 30 to 24 and armor penetration from + 15 to 10 + - rscadd: Remapped NorthStar's medbay a little bit + - code_imp: The mushroom cap is now an external organ (jungle station will never + happen) + - bugfix: Mushpeople caps are no longer solid black + - spellcheck: Fixes a typo with latejoin AIs + - rscadd: adds a new fish to lava and plasma rivers, the lava loop + - balance: The melee attacks from small mobs spawned by Legions can now be dodged. + - balance: Legions spawn their mobs less often. + - bugfix: Legions cannot spawn mobs while inside pipes or closets. + - rscadd: Added RUN_SERVER.bat for maintainer issues + - bugfix: Smoker quirk users can select a favourite brand again. + by INFRARED_BARON: + - image: 'Changes icons of: Gygax, d-gygax, durand, ripley variants, firefighter + statue, phazon & odysseus. Adds new icons for polar hide item.' + projectkepler-ru: + - bugfix: blueshift not having enough recharger for security even though its a gigantic + map + - bugfix: voidraptor having no paddy +2024-05-26: + PapaMichael: + - bugfix: Epinephrine will prevent metabolism of all allergic reagents (instead + of just one), if taken with multiple chemicals that one is allergic to. + SkyratBot: + - spellcheck: When a vendor tells you something dropped onto the floor, the line + no longer starts with a broken character in the case of cigarette boxes. + - bugfix: '[Ice Box Station] Dorm 1''s door no longer shares ID with dorm 2''s door' + - bugfix: Fixed an inconsistency regarding the interactions between the Piercing + Hypo Borg upgrade and Hacked Borg Hypos. + - qol: Made borg inventory not shift around depending on equipped items + - bugfix: The destructive analyser once more hungers for multitools + - qol: Added a "Remind me later" button for tutorials + - bugfix: Airlock electronics created by deconstructing roundstart airlocks inherit + their cycling id properly. + - code_imp: New signals for atom storage remove and insert + - spellcheck: A handful of grammar errors in some department signs has been fixed. + - bugfix: You can no longer open the loot panel at range as a blind person and cheese + item names + - spellcheck: Examining a renamed airlock assembly no longer says it has a paper + placard that is "labelled with written on it is". + - balance: you can now polymorph into raptors + - balance: raptors overall have less health and no longer have armor against ranged + attacks + - bugfix: Mixing the reagents for moon rocks, bLaSToFF ampoules, or SaturnX globs + in amounts less than the minimum for the recipe no longer eats the reagents + without doing anything. + - image: resprites egg (and more) + - bugfix: Airlocks without access requirements no longer create airlock electronics + with a broken menu. + grungussuss: + - bugfix: changed layout of Northstar dining hall so customer bots can reach the + kitchen counter +2024-05-27: + Melbert: + - refactor: Refactored the way high toxins cause you to vomit. + SkyratBot: + - rscdel: Miasma and gibs no longer generates random diseases + - bugfix: You can shoot at items on the floor again + - qol: The "Proto-Nitrate BZ response" atmsopheric reaction now lists it's required + temperature. + - bugfix: Ghosts can more reliably become a harvester. + - bugfix: Material floor tiles once again have their improved sprite. + by INFRARED_BARON: + - image: Changes the sprites of bone and ash drake armor (suit + helmet mob/objs) + grungussuss: + - qol: tramstation upload now has an extra motion camera + - qol: tramstation SM setup now has an emergency cooling setup +2024-05-29: + Fluffles: + - bugfix: echolocation is less laggy. and works. + LemonInTheDark: + - refactor: I have reworked how parallax and its animations (space travel) work. + Please report any bugs lads! + Majkl-J: + - bugfix: Akula suits no longer error sprite when you have a tail + Melbert: + - bugfix: The Bar on Icebox should receive less trash + ReturnToZender: + - rscadd: Ears now properly display through helmets and hoods + - bugfix: subtyping on the recolorable, standalone hood + SkyratBot: + - image: makes food hud burger icon have a sharp outline + - image: Revamped Contractor Gear. You'll stand out more now, but hey, that's why + the syndicate contracts out work in the first place. + - bugfix: Rust debuffs now gets properly removed if you derust a tile you are standing + on. + - bugfix: Lootpanel no longer opens up when alt clicking objects on your person + - bugfix: Venus Man Traps cannot use vines to drag around machines or objects that + are bolted, welded, rooted to, or otherwise are part of the ground + - bugfix: Standing on a table will not prevent you from being grappled by a Venus + Man Trap + - balance: Mobs significantly larger than humans, such as Space Dragons and Xenomorph + Queens, breakout of being arrested by a mech significantly faster. + - bugfix: computers with no lights can now turn on using the on/off signal + - bugfix: RGB lights on PDA circuits now use a signal + - bugfix: the is_off signal now works on consoles + - bugfix: printing text on a console component now uses a signal + - refactor: each input signal in console circuits now have their own proc + - refactor: Wendigos abilities have been changed into actions that can be added + to any mob. + - balance: Viruses now self-heal much more effectively with good mood, sleep, food, + and spaceacillin. + - balance: Viruses now punish being hungry more. Stay fed! + - balance: Spaceacillin now gives 200 ticks of symptom resistance, declining over + time, rather than 100. + - balance: Viruses now progress slightly slower. + - balance: Viruses now only hide if their stealth stat is greater than their total + computed severity. + - rscadd: Added a screentip for hilbert's hotel door + - bugfix: Fixed alt-click interaction with hilbert's hotel door + - sound: Disposal chutes will no longer play a sound for each item when many items + enter it at once + - bugfix: Fix a rare issue where a turf would remain permanently "elevated" if an + elevated object was initialized inside of a non-turf object. + - spellcheck: Fixes labour camp shuttle retrieval message starting with "/p". + - qol: Traitor-created Infected AIs no longer hear the Malf AI antag sound alert. + Wolf751: + - bugfix: Micro fusion self recharging now actually recharges again,More or less + its exact same values with the power changes. + thegrb93: + - rscadd: Added new leash item to borg dom module +2024-05-31: + Fluffles: + - bugfix: holodecks no longer use increasing amounts of power the longer they're + on + GoldenAlpharex: + - qol: Grown logs no longer spam your chat when cut into planks, instead displaying + balloon alerts informing you of how many planks were made! + - qol: Cotton and Durathread bundles no longer spam your chat either, and display + a balloon alert instead. + - bugfix: Cotton and Durathread bundles no longer runtime when creating raw cotton/durathread + from the created stack having been merged with an existing one. + ShizCalev: + - bugfix: Trees will no longer be growing through railings on forest planets + - bugfix: Trees/plants will no longer grow through wood pathways on Icebox + - bugfix: Railings will no longer appear ontop of rock walls on icebox + SkyratBot: + - bugfix: Fixed a typo preventing creation of paystands using an ID. + - balance: Adds a threshold to oculine and increases metabolism, and reduces the + amount of oculine in a carrot + - sound: The volume of the gravity generator has been halved + - bugfix: viruses can no longer potentially have 8 symptoms + - rscdel: Wipes the last echo of sentient disease from existence + - bugfix: Slightly cleaned up PAI software downloads interface + - balance: Bioscramblers pulse more often but with less range, plus you can see + them pulsing. + - rscdel: Removes sentient disease from the game + - bugfix: "\u0421ertain cooldowns should now be more accurate and will no longer\ + \ take an extra decisecond to clear." + - bugfix: Drones stored inside objects will call the stored object's relaymove() + and return upon move + - sound: Shuttle docking and undocking is quieter now + - bugfix: Fixed screentips not appearing on clip on neckties + - bugfix: fixed watcher wreath bounties being incompletable + - admin: fix_air will also fix the turfs' temperatures. + - spellcheck: Fixed a missing space typo in ion law logic. + Vekter: + - spellcheck: Fixed a grammar inconsistency in round tips. + - bugfix: Fixed a missing access helper in Northstar Medbay. Assistants should no + longer be trapped post-mending. + - bugfix: Replaced an incorrect disposal variant in Northstar's Medbay. + grungussus: + - bugfix: fixed metal foam plating description and add more user friendly explanation + on how to replace tiling. + grungussuss: + - balance: The DNA vault now requires less animal and plant DNA to be completed + - admin: admin RCD now works much faster. diff --git a/html/changelogs/archive/2024-06.yml b/html/changelogs/archive/2024-06.yml new file mode 100644 index 00000000000..ac89adc35f3 --- /dev/null +++ b/html/changelogs/archive/2024-06.yml @@ -0,0 +1,39 @@ +2024-06-02: + '@xXPawnStarrXx, @Majkl-J': + - bugfix: fixed an erroneous path to make the produce bin sprite appear. + NullDagaf: + - rscadd: cyborgs now can do botany + Rhials: + - bugfix: You can no longer force NODE Drones off of ore vents. That includes using + fulton packs! + - bugfix: When a NODE Drone is forcibly separated from its vent, it will fly away. + SkyratBot: + - rscadd: New fish, the anxious zipzap + - rscadd: New syndicate fish, the monocloning jumpercable + - rscadd: New aquarium, the bioelectricity generator + - bugfix: Mixotrophic fish now properly lack food requirements + - rscadd: The Law office now has a pet goldfish. + - rscadd: 'Station-Wide Background Checks (station trait, rare): Disables crew antagonists, + but get a lot more non-crew antagonists' + - balance: Reworks Adrenaline Glands into Repurposed Glands (Realingment). Lose + the use of your arms, but you can escape any situation! + - bugfix: '[Tramstation] Departures and under east tram distro/waste pipes now properly + connected' + - bugfix: Fixes railings being invisible + - bugfix: Snow walls dont spawn on railings anymore in icebox + - rscadd: Changes the layout of MetaStation's cargo to fit with new Nanotrasen guidelines. + - bugfix: When removing a corrupted organ from a patient, the patient will now be + checked for Holy Water or magic resistance, rather than the person performing + the surgery. + - bugfix: Minebots purchased via mining points are no longer stuck in idle mode. + Clicking on them will activate their AI. + - spellcheck: Removed the examine text about feeding ore to minebots; this functionality + was removed already. + - bugfix: Fixes janitor borgs killing the machinery subsystem by charging light + replacers 200k times a tick. + oranges: + - spellcheck: Gripper gloves are now Enhanced Retrieval gloves + thegrb93: + - code_imp: Can now use kink toys on cyborgs + xXPawnStarrXx: + - bugfix: fixed an erroneous path diff --git a/icons/effects/64x64.dmi b/icons/effects/64x64.dmi index fab69031841..2ae6d40fc33 100644 Binary files a/icons/effects/64x64.dmi and b/icons/effects/64x64.dmi differ diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 90b1d018c6b..c989f144cfb 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi index 8bfe0af0854..ad09351e787 100644 Binary files a/icons/effects/mapping_helpers.dmi and b/icons/effects/mapping_helpers.dmi differ diff --git a/icons/mob/clothing/head/helmet.dmi b/icons/mob/clothing/head/helmet.dmi index 523a306749d..ad489609d98 100644 Binary files a/icons/mob/clothing/head/helmet.dmi and b/icons/mob/clothing/head/helmet.dmi differ diff --git a/icons/mob/clothing/head/spacehelm.dmi b/icons/mob/clothing/head/spacehelm.dmi index 181e5eb2e68..0b9f3d4a36e 100644 Binary files a/icons/mob/clothing/head/spacehelm.dmi and b/icons/mob/clothing/head/spacehelm.dmi differ diff --git a/icons/mob/clothing/suits/armor.dmi b/icons/mob/clothing/suits/armor.dmi index c96fb142683..744609ac779 100644 Binary files a/icons/mob/clothing/suits/armor.dmi and b/icons/mob/clothing/suits/armor.dmi differ diff --git a/icons/mob/clothing/suits/spacesuit.dmi b/icons/mob/clothing/suits/spacesuit.dmi index 3c381ecd56f..0067c4bf36a 100644 Binary files a/icons/mob/clothing/suits/spacesuit.dmi and b/icons/mob/clothing/suits/spacesuit.dmi differ diff --git a/icons/mob/clothing/suits/utility.dmi b/icons/mob/clothing/suits/utility.dmi index 40216806f4f..0ef867a2866 100644 Binary files a/icons/mob/clothing/suits/utility.dmi and b/icons/mob/clothing/suits/utility.dmi differ diff --git a/icons/mob/inhands/weapons/melee_lefthand.dmi b/icons/mob/inhands/weapons/melee_lefthand.dmi index 79a362a0090..d1ac470b093 100644 Binary files a/icons/mob/inhands/weapons/melee_lefthand.dmi and b/icons/mob/inhands/weapons/melee_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/melee_righthand.dmi b/icons/mob/inhands/weapons/melee_righthand.dmi index 222f8955396..8c18a06de3a 100644 Binary files a/icons/mob/inhands/weapons/melee_righthand.dmi and b/icons/mob/inhands/weapons/melee_righthand.dmi differ diff --git a/icons/mob/mech_construction.dmi b/icons/mob/mech_construction.dmi index b7b54e3f70e..f26dbe17fd0 100644 Binary files a/icons/mob/mech_construction.dmi and b/icons/mob/mech_construction.dmi differ diff --git a/icons/mob/mecha.dmi b/icons/mob/mecha.dmi index f6dcbdec2b7..e4888cbf462 100644 Binary files a/icons/mob/mecha.dmi and b/icons/mob/mecha.dmi differ diff --git a/icons/obj/aquarium.dmi b/icons/obj/aquarium.dmi deleted file mode 100644 index aa37c035791..00000000000 Binary files a/icons/obj/aquarium.dmi and /dev/null differ diff --git a/icons/obj/aquarium/fish.dmi b/icons/obj/aquarium/fish.dmi new file mode 100644 index 00000000000..ab282e1681b Binary files /dev/null and b/icons/obj/aquarium/fish.dmi differ diff --git a/icons/obj/aquarium/supplies.dmi b/icons/obj/aquarium/supplies.dmi new file mode 100644 index 00000000000..08f4923a0ab Binary files /dev/null and b/icons/obj/aquarium/supplies.dmi differ diff --git a/icons/obj/aquarium/tanks.dmi b/icons/obj/aquarium/tanks.dmi new file mode 100644 index 00000000000..44f526f8c99 Binary files /dev/null and b/icons/obj/aquarium/tanks.dmi differ diff --git a/icons/obj/aquarium_wide.dmi b/icons/obj/aquarium/wide.dmi similarity index 100% rename from icons/obj/aquarium_wide.dmi rename to icons/obj/aquarium/wide.dmi diff --git a/icons/obj/clothing/head/helmet.dmi b/icons/obj/clothing/head/helmet.dmi index 3cf561103a0..47dd36c382e 100644 Binary files a/icons/obj/clothing/head/helmet.dmi and b/icons/obj/clothing/head/helmet.dmi differ diff --git a/icons/obj/clothing/head/spacehelm.dmi b/icons/obj/clothing/head/spacehelm.dmi index ee8127e4964..c2830a9d933 100644 Binary files a/icons/obj/clothing/head/spacehelm.dmi and b/icons/obj/clothing/head/spacehelm.dmi differ diff --git a/icons/obj/clothing/suits/armor.dmi b/icons/obj/clothing/suits/armor.dmi index f68ebc31a47..39317e13685 100644 Binary files a/icons/obj/clothing/suits/armor.dmi and b/icons/obj/clothing/suits/armor.dmi differ diff --git a/icons/obj/clothing/suits/spacesuit.dmi b/icons/obj/clothing/suits/spacesuit.dmi index 84f84ac978e..922ad05c35e 100644 Binary files a/icons/obj/clothing/suits/spacesuit.dmi and b/icons/obj/clothing/suits/spacesuit.dmi differ diff --git a/icons/obj/food/containers.dmi b/icons/obj/food/containers.dmi index aea93b956fc..6c2eda19866 100644 Binary files a/icons/obj/food/containers.dmi and b/icons/obj/food/containers.dmi differ diff --git a/icons/obj/machines/wallmounts.dmi b/icons/obj/machines/wallmounts.dmi index e849746eb0a..e659a0248ec 100644 Binary files a/icons/obj/machines/wallmounts.dmi and b/icons/obj/machines/wallmounts.dmi differ diff --git a/icons/obj/service/bureaucracy.dmi b/icons/obj/service/bureaucracy.dmi index f28eb169cf0..e9f8347b048 100644 Binary files a/icons/obj/service/bureaucracy.dmi and b/icons/obj/service/bureaucracy.dmi differ diff --git a/icons/obj/service/kitchen.dmi b/icons/obj/service/kitchen.dmi index aeafe2591e9..ff9a3e2a58c 100644 Binary files a/icons/obj/service/kitchen.dmi and b/icons/obj/service/kitchen.dmi differ diff --git a/icons/obj/stack_objects.dmi b/icons/obj/stack_objects.dmi index c1fcad67b2b..b4617915e86 100644 Binary files a/icons/obj/stack_objects.dmi and b/icons/obj/stack_objects.dmi differ diff --git a/icons/obj/storage/crates.dmi b/icons/obj/storage/crates.dmi index 9bc8f4d2c27..dc5c045aefa 100644 Binary files a/icons/obj/storage/crates.dmi and b/icons/obj/storage/crates.dmi differ diff --git a/icons/obj/watercloset.dmi b/icons/obj/watercloset.dmi index 93ab67c804c..0168e12accc 100644 Binary files a/icons/obj/watercloset.dmi and b/icons/obj/watercloset.dmi differ diff --git a/icons/obj/weapons/baton.dmi b/icons/obj/weapons/baton.dmi index e97547d8517..2d5100ec4d4 100644 Binary files a/icons/obj/weapons/baton.dmi and b/icons/obj/weapons/baton.dmi differ diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index 29eb7d3eaec..28ad938775d 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index e2d474a485d..37f85e24dab 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -151,8 +151,8 @@ h1.alert, h2.alert {color: #000000;} 75% {color: #410194;} 100% {color: #3bb5d3;} } +// SKYRAT EDIT ADDITION BEGIN -// SKYRAT ADDITION BEGIN .velvet {color: #660015; font-weight: bold; animation: velvet 5000ms infinite;} @keyframes velvet { 0% {color: #400020; } @@ -250,9 +250,7 @@ h1.alert, h2.alert {color: #000000;} .cyan { color: #0ea1e6; } - - -// SKYRAT ADDITION END +// SKYRAT EDIT ADDITION END .phobia {color: #dd0000; font-weight: bold; animation: phobia 750ms infinite;} @keyframes phobia { diff --git a/modular_skyrat/master_files/code/controllers/subsystem/dbcore.dm b/modular_skyrat/master_files/code/controllers/subsystem/dbcore.dm index d734bc62f94..a7f223979f8 100644 --- a/modular_skyrat/master_files/code/controllers/subsystem/dbcore.dm +++ b/modular_skyrat/master_files/code/controllers/subsystem/dbcore.dm @@ -17,7 +17,7 @@ * * log_entry - Associative list representing all of the information that needs to be logged. * Default format is as follows, for the `game_log` table (even if this could be used for another table): * list( - * "datetime" = SQLtime(), + * "datetime" = ISOtime(), * "round_id" = "[GLOB.round_id]", * "ckey" = key_name(src), * "loc" = loc_name(src), diff --git a/modular_skyrat/master_files/code/datums/actions/items/toggles.dm b/modular_skyrat/master_files/code/datums/actions/items/toggles.dm new file mode 100644 index 00000000000..b4abac4a260 --- /dev/null +++ b/modular_skyrat/master_files/code/datums/actions/items/toggles.dm @@ -0,0 +1,2 @@ +/datum/action/item_action/extend_gauntlets + name = "Extend Gauntlets" diff --git a/modular_skyrat/master_files/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm b/modular_skyrat/master_files/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm index 1a86afbea05..130d1277e45 100644 --- a/modular_skyrat/master_files/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm +++ b/modular_skyrat/master_files/code/datums/bodypart_overlays/mutant_bodypart_overlay.dm @@ -34,12 +34,14 @@ /datum/bodypart_overlay/mutant/proc/set_appearance_from_dna(datum/dna/dna, accessory_name, feature_key) if(isnull(feature_key)) // if not explicitly set, just use the feature_key of the bodypart_overlay feature_key = src.feature_key + if(!dna.mutant_bodyparts[feature_key]) + return FALSE sprite_datum = fetch_sprite_datum_from_name(accessory_name ? accessory_name : dna.mutant_bodyparts[feature_key][MUTANT_INDEX_NAME]) modsuit_affected = sprite_datum.use_custom_mod_icon draw_color = dna.mutant_bodyparts[feature_key][MUTANT_INDEX_COLOR_LIST] build_emissive_eligibility(dna.mutant_bodyparts[feature_key][MUTANT_INDEX_EMISSIVE_LIST]) cache_key = jointext(generate_icon_cache(), "_") - + return TRUE // We do this here like this so that we handle matrixed color bodypart overlays and emissives. /datum/bodypart_overlay/mutant/get_overlay(layer, obj/item/bodypart/limb) diff --git a/modular_skyrat/master_files/code/datums/components/crusher.dm b/modular_skyrat/master_files/code/datums/components/crusher.dm new file mode 100644 index 00000000000..14e4f2ba5e0 --- /dev/null +++ b/modular_skyrat/master_files/code/datums/components/crusher.dm @@ -0,0 +1,218 @@ +/datum/component/kinetic_crusher + /// The attached trophies. + var/list/stored_trophies = list() + /// How much damage to deal on mark detonation? + var/detonation_damage + /// How much EXTRA damage to deal on a backstab? + var/backstab_bonus + /// Does what you think it does. + var/recharge_speed + /// Callback to check against for most actions. + var/datum/callback/attack_check + /// Callback to check against for mark detonation. + var/datum/callback/detonate_check + /// Callback to execute after a successful mark detonation. + var/datum/callback/after_detonate + + /// Are we ready to shoot another destabilizer shot? + var/charged = TRUE + /// COMSIG_ITEM_ATTACK procs before the damage is applied. Egh. + var/cached_health = null + +/datum/component/kinetic_crusher/Initialize(detonation_damage, backstab_bonus, recharge_speed, datum/callback/attack_check, datum/callback/detonate_check, datum/callback/after_detonate) + if(!isitem(parent)) + return COMPONENT_INCOMPATIBLE + + src.detonation_damage = detonation_damage + src.backstab_bonus = backstab_bonus + src.recharge_speed = recharge_speed + + src.attack_check = attack_check + src.detonate_check = detonate_check + src.after_detonate = after_detonate + +/datum/component/kinetic_crusher/RegisterWithParent(datum/parent = src.parent) + RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_update_overlays)) + RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(on_attack)) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK, PROC_REF(on_afterattack)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK_SECONDARY, PROC_REF(on_attack_secondary)) + RegisterSignal(parent, COMSIG_ITEM_AFTERATTACK_SECONDARY, PROC_REF(on_afterattack_secondary)) + +/datum/component/kinetic_crusher/Destroy(force) + QDEL_LIST(stored_trophies) //dont be a dummy + attack_check = null + detonate_check = null + after_detonate = null + return ..() + +/datum/component/kinetic_crusher/proc/on_examine(obj/item/source, mob/user, list/examine_list) + SIGNAL_HANDLER + + var/force + var/datum/component/two_handed/comp = source.GetComponent(/datum/component/two_handed) + if(istype(source, /obj/item/clothing/gloves/kinetic_gauntlets)) //ughhhhh + var/obj/item/clothing/gloves/kinetic_gauntlets/gauntlets = parent + force = gauntlets.right_gauntlet?.force || gauntlets.left_gauntlet.force + else if(comp) + force = comp.force_wielded + else + force = source.force + + examine_list += span_notice("Mark a large creature with a destabilizing force with right-click, then hit them in melee to do [force + detonation_damage] damage.") + examine_list += span_notice("Does [force + detonation_damage + backstab_bonus] damage if the target is backstabbed, instead of [force + detonation_damage].") + for(var/obj/item/crusher_trophy/trophy as anything in stored_trophies) + examine_list += span_notice("It has \a [trophy] attached, which causes [trophy.effect_desc()].") + +/datum/component/kinetic_crusher/proc/on_update_overlays(atom/source, list/overlays) + SIGNAL_HANDLER + + if(!charged) + overlays += "[source.icon_state]_uncharged" + +/datum/component/kinetic_crusher/proc/on_attackby(datum/source, obj/item/attacking_item, mob/user, params) + SIGNAL_HANDLER + + if(attacking_item.tool_behaviour == TOOL_CROWBAR) + if(!LAZYLEN(stored_trophies)) + to_chat(user, span_warning("There are no trophies on [source].")) + return COMPONENT_NO_AFTERATTACK + + to_chat(user, span_notice("You remove [source]'s trophies.")) + attacking_item.play_tool_sound(src) + for(var/obj/item/crusher_trophy/trophy as anything in stored_trophies) + trophy.remove_from(parent, user, src) + + if(istype(parent, /obj/item/clothing/gloves/kinetic_gauntlets)) + var/obj/item/clothing/gloves/kinetic_gauntlets/gauntlets = parent //CODE DEBT CODE DEBT WOOOOO + gauntlets.left_gauntlet?.force = gauntlets.force * 5 + gauntlets.right_gauntlet?.force = gauntlets.force * 5 + + return COMPONENT_NO_AFTERATTACK + + if(istype(attacking_item, /obj/item/crusher_trophy)) + var/obj/item/crusher_trophy/trophy = attacking_item + trophy.add_to(parent, user, src) + return COMPONENT_NO_AFTERATTACK + +/datum/component/kinetic_crusher/proc/on_trophy_moved(obj/item/crusher_trophy/source, atom/oldloc, direction) + SIGNAL_HANDLER + + source.remove_from(parent, null, src) + +/datum/component/kinetic_crusher/proc/on_attack(obj/item/source, mob/living/target, mob/living/carbon/user) + SIGNAL_HANDLER + + cached_health = target.health + + var/cancel_attack = NONE + if(attack_check && !attack_check.Invoke(user, &cancel_attack)) + return cancel_attack + + if(!target.has_status_effect(/datum/status_effect/crusher_damage)) + target.apply_status_effect(/datum/status_effect/crusher_damage) + + for(var/obj/item/crusher_trophy/trophy as anything in stored_trophies) + trophy.on_melee_hit(target, user) + +/datum/component/kinetic_crusher/proc/on_afterattack(obj/item/source, mob/living/target, mob/living/user, proximity_flag, click_parameters) + SIGNAL_HANDLER + + if(!proximity_flag) + return + + if(istype(target, /obj/item/crusher_trophy)) + var/obj/item/crusher_trophy/trophy = target + trophy.add_to(parent, user, src) + + if(istype(parent, /obj/item/clothing/gloves/kinetic_gauntlets)) + var/obj/item/clothing/gloves/kinetic_gauntlets/gauntlets = parent //CODE DEBT CODE DEBT WOOOOO + gauntlets.left_gauntlet?.force = gauntlets.force * 5 + gauntlets.right_gauntlet?.force = gauntlets.force * 5 + return + + if(!isliving(target)) + return + + var/datum/status_effect/crusher_damage/damage_effect = target.has_status_effect(/datum/status_effect/crusher_damage) || target.apply_status_effect(/datum/status_effect/crusher_damage) + if(damage_effect && isnum(cached_health)) //legiooooons + damage_effect.total_damage += cached_health - target.health //carry over from the /on_attack() + cached_health = null + + if(detonate_check && !detonate_check.Invoke(user)) + return + + if(!target.remove_status_effect(/datum/status_effect/crusher_mark, src)) + return + + var/backstabbed = FALSE + var/dealt_damage = detonation_damage + if(target.dir & get_dir(user, target)) + backstabbed = TRUE + dealt_damage += backstab_bonus + playsound(user, 'sound/weapons/kinetic_accel.ogg', 100, TRUE) + + damage_effect.total_damage += dealt_damage + new /obj/effect/temp_visual/kinetic_blast(get_turf(target)) + + var/past_damage = target.maxHealth - target.health + for(var/obj/item/crusher_trophy/trophy as anything in stored_trophies) + trophy.on_mark_detonation(target, user) + + damage_effect.total_damage += dealt_damage + target.get_total_damage() - past_damage //we did some damage, but let's not assume how much we did + + after_detonate?.InvokeAsync(user, target) + SEND_SIGNAL(user, COMSIG_LIVING_CRUSHER_DETONATE, target, parent, backstabbed) + target.apply_damage(dealt_damage, BRUTE, blocked = target.getarmor(type = BOMB)) + +/datum/component/kinetic_crusher/proc/on_attack_secondary(obj/item/source, mob/living/victim, mob/living/user, params) + SIGNAL_HANDLER + + var/cancel_attack = NONE + if(attack_check && !attack_check.Invoke(user, &cancel_attack)) + return cancel_attack + + return COMPONENT_SECONDARY_CONTINUE_ATTACK_CHAIN + +/datum/component/kinetic_crusher/proc/on_afterattack_secondary(obj/item/source, atom/target, mob/living/user, proximity_flag, click_parameters) + SIGNAL_HANDLER + + var/_ = TRUE + if(attack_check && _ /*unused var error*/&& !attack_check.Invoke(user, &_)) + return + + if(!ismob(target) && proximity_flag) + return + + if(!charged) + return + + var/turf/proj_turf = user.loc + if(!isturf(proj_turf)) + return + + var/obj/projectile/destabilizer/destabilizer = new(proj_turf) + for(var/obj/item/crusher_trophy/attached_trophy as anything in stored_trophies) + attached_trophy.on_projectile_fire(destabilizer, user) + + destabilizer.preparePixelProjectile(target, user, params2list(click_parameters)) + destabilizer.hammer_synced = src + destabilizer.firer = user + + // just typing spawn(-1) is faster ugghhh tg + INVOKE_ASYNC(destabilizer, TYPE_PROC_REF(/obj/projectile, fire)) + playsound(user, 'sound/weapons/plasma_cutter.ogg', 100, TRUE) + + var/obj/item/crusher = parent + charged = FALSE + crusher.update_appearance() + addtimer(CALLBACK(src, PROC_REF(recharge_shot)), recharge_speed) + return COMPONENT_SECONDARY_CANCEL_ATTACK_CHAIN + +/datum/component/kinetic_crusher/proc/recharge_shot() + var/obj/item/crusher = parent + charged = TRUE + crusher.update_appearance() + playsound(crusher.loc, 'sound/weapons/kinetic_reload.ogg', 60, TRUE) + diff --git a/modular_skyrat/master_files/code/datums/quirks/positive_quirks/life_savings.dm b/modular_skyrat/master_files/code/datums/quirks/positive_quirks/life_savings.dm index acc6728e455..e032278f81f 100644 --- a/modular_skyrat/master_files/code/datums/quirks/positive_quirks/life_savings.dm +++ b/modular_skyrat/master_files/code/datums/quirks/positive_quirks/life_savings.dm @@ -1,6 +1,6 @@ /datum/quirk/life_savings name = "Life Savings" - desc = "Rich are getting richer. Either because of your smart investments or your broad connections you recieve additional currency with each paycheck. Use them wisely or blow it all on drugs. They are yours after all." + desc = "Rich are getting richer. Either because of your smart investments or your broad connections you receive additional currency with each paycheck. Use them wisely or blow it all on drugs. They are yours after all." icon = FA_ICON_PIGGY_BANK value = 4 hardcore_value = -4 diff --git a/modular_skyrat/master_files/code/game/machinery/computer/orders/order_items/mining/order_mining.dm b/modular_skyrat/master_files/code/game/machinery/computer/orders/order_items/mining/order_mining.dm new file mode 100644 index 00000000000..766ba751878 --- /dev/null +++ b/modular_skyrat/master_files/code/game/machinery/computer/orders/order_items/mining/order_mining.dm @@ -0,0 +1,3 @@ +/datum/orderable_item/mining/kinetic_gauntlets + item_path = /obj/item/clothing/gloves/kinetic_gauntlets + cost_per_order = 1250 diff --git a/modular_skyrat/master_files/code/game/objects/items/hhmirror.dm b/modular_skyrat/master_files/code/game/objects/items/hhmirror.dm index 27561067b6a..598cace44c2 100644 --- a/modular_skyrat/master_files/code/game/objects/items/hhmirror.dm +++ b/modular_skyrat/master_files/code/game/objects/items/hhmirror.dm @@ -84,8 +84,6 @@ #undef MIN_MCOLOR_VALUE human_user.update_body() - human_user.update_body_parts() - human_user.update_body_parts() human_user.update_mutations_overlay() // no hulk lizard if("gender") diff --git a/modular_skyrat/master_files/code/modules/antagonists/changeling/changeling.dm b/modular_skyrat/master_files/code/modules/antagonists/changeling/changeling.dm index cd0e229d439..633d7a723f7 100644 --- a/modular_skyrat/master_files/code/modules/antagonists/changeling/changeling.dm +++ b/modular_skyrat/master_files/code/modules/antagonists/changeling/changeling.dm @@ -3,33 +3,34 @@ */ // BUBBER EDIT - Changelings get objectives /datum/changeling_profile - /// The bra worn by the profile source - Skyrats addition + /// The bra worn by the profile source var/bra - /// The color of the underwear used by the profile source - Skyrats addition + /// The color of the underwear used by the profile source var/underwear_color - /// The color of the undershirt used by the profile source - Skyrats addition + /// The color of the undershirt used by the profile source var/undershirt_color - /// The color of the socks used by the profile source - Skyrats addition + /// The color of the socks used by the profile source var/socks_color - /// The color of the bra used by the profile source - Skyrats addition + /// The color of the bra used by the profile source var/bra_color - /// The profile source's left eye color - Skyrats addition + /// The profile source's left eye color var/eye_color_left - /// The profile source's right eye color - Skyrats addition + /// The profile source's right eye color var/eye_color_right - /// Does the profile source's eyes glow - Skyrats addition + /// Does the profile source's eyes glow var/emissive_eyes + /// Profile source digi leg icons var/list/worn_icon_digi_list = list() - /// profile source monkey icons - Skyrats addition + /// profile source monkey icons var/list/worn_icon_monkey_list = list() - /// Profile source vox icons - Skyrats addition + /// Profile source vox icons var/list/worn_icon_teshari_list = list() - /// The bra worn by the profile source - Skyrats addition + /// The bra worn by the profile source var/list/worn_icon_vox_list = list() - /// Support variation flags used by the profile source - Skyrats addition + /// Support variation flags used by the profile source var/list/supports_variations_flags_list = list() - /// The profile source scream type - Skyrats addition + /// The profile source scream type var/scream_type - /// The profile source laugh type - Skyrats addition + /// The profile source laugh type var/laugh_type diff --git a/modular_skyrat/master_files/code/modules/antagonists/traitor/objectives/smuggling.dm b/modular_skyrat/master_files/code/modules/antagonists/traitor/objectives/smuggling.dm index fa618b54e26..6b42e025f1c 100644 --- a/modular_skyrat/master_files/code/modules/antagonists/traitor/objectives/smuggling.dm +++ b/modular_skyrat/master_files/code/modules/antagonists/traitor/objectives/smuggling.dm @@ -16,7 +16,7 @@ progression_reward = list(5 MINUTES, 9 MINUTES) telecrystal_reward = list(0, 1) - /// area type the objective owner must be in to recieve the contraband + /// area type the objective owner must be in to receive the contraband var/area/smuggle_spawn_type /// the contraband that must be exported on the shuttle var/obj/item/contraband @@ -73,7 +73,7 @@ if(generating_for.assigned_role.departments_bitflags & DEPARTMENT_BITFLAG_CARGO) return FALSE - // choose starting area to recieve contraband + // choose starting area to receive contraband var/list/possible_areas = GLOB.the_station_areas.Copy() for(var/area/possible_area as anything in possible_areas) // remove areas too close to the destination, too obvious for our poor shmuck, or just unfair diff --git a/modular_skyrat/master_files/code/modules/client/preferences/mutant_parts.dm b/modular_skyrat/master_files/code/modules/client/preferences/mutant_parts.dm index f3c95e84765..36ebdea6486 100644 --- a/modular_skyrat/master_files/code/modules/client/preferences/mutant_parts.dm +++ b/modular_skyrat/master_files/code/modules/client/preferences/mutant_parts.dm @@ -8,17 +8,32 @@ default_value = FALSE /datum/preference/toggle/allow_mismatched_parts/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences) - return TRUE // we dont actually want this to do anything + return // we dont actually want this to do anything /datum/preference/toggle/allow_mismatched_parts/is_accessible(datum/preferences/preferences) if(CONFIG_GET(flag/disable_mismatched_parts)) return FALSE - . = ..() + return ..() -/datum/preference/toggle/allow_mismatched_parts/deserialize(input, datum/preferences/preferences) +/datum/preference/toggle/allow_mismatched_parts/deserialize(input) if(CONFIG_GET(flag/disable_mismatched_parts)) return FALSE - . = ..() + return ..() + +/datum/preference/toggle/allow_mismatched_hair_color + category = PREFERENCE_CATEGORY_SECONDARY_FEATURES + savefile_identifier = PREFERENCE_CHARACTER + savefile_key = "allow_mismatched_hair_color_toggle" + default_value = TRUE + +/datum/preference/toggle/allow_mismatched_hair_color/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences) + return // applied in apply_supplementary_body_changes() + +/datum/preference/toggle/allow_mismatched_hair_color/is_accessible(datum/preferences/preferences) + var/datum/species/species = preferences.read_preference(/datum/preference/choiced/species) + if(!ispath(species, /datum/species/jelly)) // only slimes can see this pref + return FALSE + return ..() /datum/preference/toggle/allow_emissives category = PREFERENCE_CATEGORY_SECONDARY_FEATURES diff --git a/modular_skyrat/master_files/code/modules/client/preferences/species_features/digitigrade_legs.dm b/modular_skyrat/master_files/code/modules/client/preferences/species_features/digitigrade_legs.dm index 0b4db9245d7..cc88bc9fe56 100644 --- a/modular_skyrat/master_files/code/modules/client/preferences/species_features/digitigrade_legs.dm +++ b/modular_skyrat/master_files/code/modules/client/preferences/species_features/digitigrade_legs.dm @@ -41,5 +41,6 @@ target.dna.features["legs"] = value + target.update_body() target.dna.species.replace_body(target, target.dna.species) // TODO: Replace this with something less stupidly expensive. return TRUE diff --git a/modular_skyrat/master_files/code/modules/clothing/anthro_clothes.dm b/modular_skyrat/master_files/code/modules/clothing/anthro_clothes.dm index ed2c98c535b..666cff9f5d3 100644 --- a/modular_skyrat/master_files/code/modules/clothing/anthro_clothes.dm +++ b/modular_skyrat/master_files/code/modules/clothing/anthro_clothes.dm @@ -9,6 +9,13 @@ /obj/item/clothing/head/wig flags_inv = HIDEHAIR | SHOWSPRITEEARS + +/obj/item/clothing/head/helmet + flags_inv = HIDEHAIR | SHOWSPRITEEARS + +/obj/item/clothing/head/hooded + flags_inv = HIDEFACE | HIDEHAIR | HIDEEARS | SHOWSPRITEEARS + // EARS // EYES diff --git a/modular_skyrat/master_files/code/modules/clothing/under/akula_jobs.dm b/modular_skyrat/master_files/code/modules/clothing/under/akula_jobs.dm index 569a268ae96..f480b03804c 100644 --- a/modular_skyrat/master_files/code/modules/clothing/under/akula_jobs.dm +++ b/modular_skyrat/master_files/code/modules/clothing/under/akula_jobs.dm @@ -87,7 +87,7 @@ if(tail_overlay) user.add_overlay(tail_overlay) - icon_state = "[icon_state]_tail" + worn_icon_state = "[icon_state]_tail" /// Suit armor /datum/armor/clothing_under/wetsuit diff --git a/modular_skyrat/master_files/code/modules/clothing/under/jobs/security.dm b/modular_skyrat/master_files/code/modules/clothing/under/jobs/security.dm index 1288cd35e60..57875823a99 100644 --- a/modular_skyrat/master_files/code/modules/clothing/under/jobs/security.dm +++ b/modular_skyrat/master_files/code/modules/clothing/under/jobs/security.dm @@ -144,10 +144,3 @@ desc = "A tar black naval suit and a rank badge denoting the Officer of The Internal Security Division. Be careful your underlings don't bump their head on a door." name = "head of security's naval jumpsuit" icon_state = "imphos" - -/* -* PRISONER -*/ - -/obj/item/clothing/under/rank/prisoner - greyscale_config_worn_monkey = /datum/greyscale_config/jumpsuit/prison/worn/monkey diff --git a/modular_skyrat/master_files/code/modules/mining/equipment/kinetic_crusher.dm b/modular_skyrat/master_files/code/modules/mining/equipment/kinetic_crusher.dm new file mode 100644 index 00000000000..e1e34e08280 --- /dev/null +++ b/modular_skyrat/master_files/code/modules/mining/equipment/kinetic_crusher.dm @@ -0,0 +1,196 @@ +/obj/item/kinetic_crusher + name = "proto-kinetic crusher" + desc = "An early design of the proto-kinetic accelerator, it is little more than a combination of various mining tools cobbled together, forming a high-tech club. \ + While it is an effective mining tool, it did little to aid any but the most skilled and/or suicidal miners against local fauna." + icon = 'icons/obj/mining.dmi' + icon_state = "crusher" + inhand_icon_state = "crusher0" + lefthand_file = 'icons/mob/inhands/weapons/hammers_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi' + force = 0 //You can't hit stuff unless wielded + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + throwforce = 5 + throw_speed = 4 + armour_penetration = 10 + custom_materials = list( + /datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT * 1.15, + /datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT * 2.075 + ) + hitsound = 'sound/weapons/bladeslice.ogg' + attack_verb_continuous = list("smashes", "crushes", "cleaves", "chops", "pulps") + attack_verb_simple = list("smash", "crush", "cleave", "chop", "pulp") + sharpness = SHARP_EDGED + actions_types = list(/datum/action/item_action/toggle_light) + obj_flags = UNIQUE_RENAME + light_color = "#ffff66" + light_on = FALSE + light_power = 1.2 + light_range = 5 + light_system = OVERLAY_LIGHT + + var/charge_time = 1.5 SECONDS + var/detonation_damage = 50 + var/backstab_bonus = 30 + +/obj/item/kinetic_crusher/Initialize(mapload) + . = ..() + AddComponent(/datum/component/butchering, speed = 6 SECONDS, effectiveness = 110) + AddComponent(/datum/component/kinetic_crusher, detonation_damage, backstab_bonus, charge_time, CALLBACK(src, PROC_REF(attack_check)), CALLBACK(src, PROC_REF(attack_check))) + AddComponent(/datum/component/two_handed, force_wielded = 20, force_unwielded = 0, unwield_callback = CALLBACK(src, PROC_REF(on_unwield))) + RegisterSignal(src, COMSIG_HIT_BY_SABOTEUR, PROC_REF(on_saboteur)) + +/obj/item/kinetic_crusher/proc/attack_check(mob/user, cancel_attack) + if(HAS_TRAIT(src, TRAIT_WIELDED)) + return TRUE + + to_chat(user, span_warning("[src] is too heavy to use with one hand! You fumble and drop everything.")) + user.drop_all_held_items() + if(cancel_attack) + *cancel_attack = COMPONENT_CANCEL_ATTACK_CHAIN + return FALSE + +/obj/item/kinetic_crusher/ui_action_click(mob/user, actiontype) + set_light_on(!light_on) + playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) + update_appearance() + +////////////////////////////////////////////////////////////////////////////////// +/////// HACK TO WORK AROUND TWOHANDED NOT RESPECTING FORCE_UNWIELDED=0 /////////// +////////////////////////////////////////////////////////////////////////////////// +/obj/item/kinetic_crusher/proc/on_unwield() + SIGNAL_HANDLER + + force = 0 //the abrasive comments is so you notice. seriously, this is BAD. + +////////////////////////////////////////////////////////////////////////////////// +/////// HACK TO WORK AROUND TWOHANDED NOT RESPECTING FORCE_UNWIELDED=0 /////////// +////////////////////////////////////////////////////////////////////////////////// + +/obj/item/kinetic_crusher/proc/on_saboteur(datum/source, disrupt_duration) + set_light_on(FALSE) + playsound(src, 'sound/weapons/empty.ogg', 100, TRUE) + return COMSIG_SABOTEUR_SUCCESS + +/obj/item/kinetic_crusher/update_icon_state() + inhand_icon_state = "crusher[HAS_TRAIT(src, TRAIT_WIELDED)]" // this is not icon_state and not supported by 2hcomponent + return ..() + +/obj/item/kinetic_crusher/update_overlays() + . = ..() + if(light_on) + . += "[icon_state]_lit" + +/obj/item/kinetic_crusher/compact //for admins + name = "compact kinetic crusher" + w_class = WEIGHT_CLASS_NORMAL + +//stupid to have both crusher and crusher_comp as params but it helps with reducing core code mods +/obj/item/crusher_trophy/proc/add_to(obj/item/crusher, mob/living/user, datum/component/kinetic_crusher/crusher_comp) + for(var/obj/item/crusher_trophy/trophy as anything in crusher_comp.stored_trophies) + if(istype(trophy, denied_type) || istype(src, trophy.denied_type)) + to_chat(user, span_warning("You can't seem to attach [src] to [crusher]. Maybe remove a few trophies?")) + return FALSE + + if(!user.transferItemToLoc(src, crusher)) + return + + crusher_comp.stored_trophies += src + crusher_comp.RegisterSignal(src, COMSIG_MOVABLE_MOVED, TYPE_PROC_REF(/datum/component/kinetic_crusher, on_trophy_moved)) + to_chat(user, span_notice("You attach [src] to [crusher].")) + return TRUE + +/obj/item/crusher_trophy/proc/remove_from(obj/item/kinetic_crusher/crusher, mob/living/user, datum/component/kinetic_crusher/crusher_comp) + crusher_comp.UnregisterSignal(src, COMSIG_MOVABLE_MOVED) + crusher_comp.stored_trophies -= src + forceMove(get_turf(crusher)) + return TRUE + +/obj/projectile/destabilizer + name = "destabilizing force" + icon_state = "pulse1" + damage = 0 //We're just here to mark people. This is still a melee weapon. + damage_type = BRUTE + armor_flag = BOMB + range = 6 + log_override = TRUE + var/datum/component/kinetic_crusher/hammer_synced + +/obj/projectile/destabilizer/Destroy() + hammer_synced = null + return ..() + +/obj/projectile/destabilizer/on_hit(atom/target, blocked = 0, pierce_hit) + if(isliving(target)) + var/mob/living/living = target + var/has_owned_mark = FALSE + for(var/datum/status_effect/crusher_mark/crusher_mark as anything in living.get_all_status_effect_of_id(/datum/status_effect/crusher_mark)) + if(crusher_mark.hammer_synced != hammer_synced) + continue + + has_owned_mark = TRUE + break + + if(!has_owned_mark) + living.apply_status_effect(/datum/status_effect/crusher_mark, hammer_synced) + + var/turf/closed/mineral/target_turf = get_turf(target) //sure i guess + if(istype(target_turf)) + new /obj/effect/temp_visual/kinetic_blast(target_turf) + target_turf.gets_drilled(firer) + + return ..() + +/obj/item/crusher_trophy/legion_skull/add_to(obj/item/kinetic_crusher/crusher, mob/living/user, datum/component/kinetic_crusher/crusher_comp) + . = ..() + if(.) + crusher_comp.recharge_speed -= bonus_value + +/obj/item/crusher_trophy/legion_skull/remove_from(obj/item/kinetic_crusher/crusher, mob/living/user, datum/component/kinetic_crusher/crusher_comp) + . = ..() + if(.) + crusher_comp.recharge_speed += bonus_value + + +/obj/item/crusher_trophy/demon_claws/add_to(obj/item/kinetic_crusher/crusher, mob/living/user, datum/component/kinetic_crusher/crusher_comp) + . = ..() + if(!.) + return + + crusher.force += bonus_value * 0.2 + crusher_comp.detonation_damage += bonus_value * 0.8 + + var/datum/component/two_handed/two_handed = crusher.GetComponent(/datum/component/two_handed) + two_handed?.force_wielded += bonus_value * 0.2 + +/obj/item/crusher_trophy/demon_claws/remove_from(obj/item/kinetic_crusher/crusher, mob/living/user, datum/component/kinetic_crusher/crusher_comp) + . = ..() + if(!.) + return + + crusher.force -= bonus_value * 0.2 + crusher_comp.detonation_damage -= bonus_value * 0.8 + + var/datum/component/two_handed/two_handed = crusher.GetComponent(/datum/component/two_handed) + two_handed?.force_wielded -= bonus_value * 0.2 + + +/obj/item/crusher_trophy/wendigo_horn/add_to(obj/item/kinetic_crusher/crusher, mob/living/user) + . = ..() + if(!.) + return + + crusher.force *= 2 + + var/datum/component/two_handed/two_handed = crusher.GetComponent(/datum/component/two_handed) + two_handed?.force_wielded *= 2 + +/obj/item/crusher_trophy/wendigo_horn/remove_from(obj/item/kinetic_crusher/crusher, mob/living/user) + . = ..() + if(!.) + return + + crusher.force *= 0.5 + + var/datum/component/two_handed/two_handed = crusher.GetComponent(/datum/component/two_handed) + two_handed?.force_wielded *= 0.5 diff --git a/modular_skyrat/master_files/code/modules/mining/equipment/kinetic_gauntlets.dm b/modular_skyrat/master_files/code/modules/mining/equipment/kinetic_gauntlets.dm new file mode 100644 index 00000000000..ac795f5491f --- /dev/null +++ b/modular_skyrat/master_files/code/modules/mining/equipment/kinetic_gauntlets.dm @@ -0,0 +1,265 @@ +/obj/item/clothing/gloves/kinetic_gauntlets + name = "kinetic gauntlets" + desc = "Nanotrasen's take on the power-fist, originally designed to help the security department but ultimately scrapped due to causing too much collateral damage. \ + Later on, repurposed into a pair of mining tools after a disgruntled shaft miner complained to R&D about mining \"not being metal enough\"." + icon = 'modular_skyrat/master_files/icons/obj/mining.dmi' + icon_state = "kgauntlets" + worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/gloves.dmi' + worn_icon_state = "kgauntlets_off" + + armor_type = /datum/armor/melee_energy + custom_materials = list(/datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT * 1.15, /datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT * 2.075) //copied from kc, idk + light_on = FALSE + light_power = 5 + light_range = 4 + light_system = OVERLAY_LIGHT_DIRECTIONAL + resistance_flags = FIRE_PROOF + + force = 3 //i guess? + obj_flags = UNIQUE_RENAME + throwforce = 3 //why doesnt this have an underscore i hate this + throw_speed = 2 + + + actions_types = list(/datum/action/item_action/extend_gauntlets) + attack_verb_continuous = list("slaps", "challenges") + attack_verb_simple = list("slap", "challenge") + equip_delay_self = 2 SECONDS //that's a lot of bulky + hitsound = 'sound/weapons/slap.ogg' + slot_flags = ITEM_SLOT_GLOVES + w_class = WEIGHT_CLASS_BULKY + + var/obj/item/kinetic_gauntlet/left/left_gauntlet = null + var/obj/item/kinetic_gauntlet/right_gauntlet = null + +/obj/item/clothing/gloves/kinetic_gauntlets/Initialize(mapload) + . = ..() + left_gauntlet = new(src) + right_gauntlet = new(src) + + var/datum/component/crusher_comp = AddComponent(/datum/component/kinetic_crusher, 50, 30, 1.5 SECONDS, CALLBACK(src, PROC_REF(attack_check)), CALLBACK(src, PROC_REF(detonate_check)), CALLBACK(src, PROC_REF(after_detonate))) + crusher_comp.RegisterWithParent(left_gauntlet) + crusher_comp.RegisterWithParent(right_gauntlet) + +/obj/item/clothing/gloves/kinetic_gauntlets/Destroy() + QDEL_NULL(left_gauntlet) + QDEL_NULL(right_gauntlet) + return ..() + +/obj/item/clothing/gloves/kinetic_gauntlets/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change) + . = ..() + left_gauntlet?.forceMove(src) + right_gauntlet?.forceMove(src) + +/obj/item/clothing/gloves/kinetic_gauntlets/ui_action_click(mob/user, datum/action/actiontype) + toggle_gauntlets() + +/obj/item/clothing/gloves/kinetic_gauntlets/proc/on_gauntlet_qdel() + if(QDELETED(left_gauntlet)) + left_gauntlet = null + if(QDELETED(right_gauntlet)) + right_gauntlet = null + + if(isnull(left_gauntlet) && isnull(right_gauntlet) && !QDELING(src)) + qdel(src) + +/obj/item/clothing/gloves/kinetic_gauntlets/proc/attack_check(mob/living/user, cancel_attack) + return left_gauntlet?.loc == user || right_gauntlet?.loc == user + +/obj/item/clothing/gloves/kinetic_gauntlets/proc/detonate_check(mob/living/user) + var/both_gauntlets_deployed = left_gauntlet?.loc == user && right_gauntlet?.loc == user + if(both_gauntlets_deployed) + return left_gauntlet.next_attack >= world.time && right_gauntlet.next_attack >= world.time + + return FALSE //you WILL glass cannon and you WILL like it. + +/obj/item/clothing/gloves/kinetic_gauntlets/proc/after_detonate(mob/living/user, mob/living/target) + playsound(src, 'sound/weapons/resonator_blast.ogg', 40, TRUE) + var/old_dir_user = user.dir + var/old_dir_target = user.dir + step(user, get_dir(target, user)) + step(target, get_dir(user, target)) + user.dir = old_dir_user + target.dir = old_dir_target + + +/obj/item/clothing/gloves/kinetic_gauntlets/proc/toggle_gauntlets() + var/mob/living/carbon/human/wearer = loc + if(!istype(wearer)) + return + + if(left_gauntlet.loc == src || right_gauntlet.loc == src) + deploy_gauntlets() + else + retract_gauntlets() + +/obj/item/clothing/gloves/kinetic_gauntlets/proc/deploy_gauntlets() + var/mob/living/carbon/human/wearer = loc + if(!istype(wearer) || DOING_INTERACTION(wearer, type)) + return + + if(wearer.gloves != src) + to_chat(wearer, span_warning("You must be wearing these to do this!")) + return + + var/left_deployed = isnull(left_gauntlet) || left_gauntlet.loc == wearer + var/right_deployed = isnull(right_gauntlet) || right_gauntlet.loc == wearer + if(left_deployed && right_deployed) + return //nothing to do + + var/can_deploy = TRUE + if(!left_deployed && !wearer.can_put_in_hand(left_gauntlet, 1)) + can_deploy = FALSE + if(!right_deployed && !wearer.can_put_in_hand(right_gauntlet, 2)) + can_deploy = FALSE + + if(!can_deploy) + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + to_chat(wearer, span_warning("You need both free hands to deploy [src]!")) + return + + // equipping/unequipping shall take time + wearer.add_movespeed_modifier(/datum/movespeed_modifier/equipping_gauntlets) + if(!do_after(wearer, 1.5 SECONDS, src, IGNORE_USER_LOC_CHANGE, interaction_key = type)) + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + to_chat(wearer, span_warning("You fail to deploy [src]!")) + wearer.remove_movespeed_modifier(/datum/movespeed_modifier/equipping_gauntlets) + return + + wearer.remove_movespeed_modifier(/datum/movespeed_modifier/equipping_gauntlets) + + if(!left_deployed && !wearer.can_put_in_hand(left_gauntlet, 1)) + can_deploy = FALSE + if(!right_deployed && !wearer.can_put_in_hand(right_gauntlet, 2)) + can_deploy = FALSE + + if(!can_deploy) + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + to_chat(wearer, span_warning("You need both free hands to deploy [src]!")) + return + + if(!left_deployed) + wearer.put_in_l_hand(left_gauntlet) + + if(!right_deployed) + wearer.put_in_r_hand(right_gauntlet) + + ADD_TRAIT(src, TRAIT_NODROP, type) + + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + playsound(src, 'sound/mecha/mechmove01.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + to_chat(wearer, span_notice("You deploy [src].")) + +/obj/item/clothing/gloves/kinetic_gauntlets/proc/retract_gauntlets() + var/mob/living/carbon/human/wearer = loc + if(!istype(wearer) || DOING_INTERACTION(wearer, type)) + return + + if(wearer.gloves != src) + to_chat(wearer, span_warning("You must be wearing these to do this!")) + return + + if(left_gauntlet?.loc == src && right_gauntlet?.loc == src) + return + + wearer.add_movespeed_modifier(/datum/movespeed_modifier/equipping_gauntlets) + if(!do_after(wearer, 1.5 SECONDS, src, IGNORE_USER_LOC_CHANGE)) + wearer.remove_movespeed_modifier(/datum/movespeed_modifier/equipping_gauntlets) + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + to_chat(wearer, span_warning("You fail to retract [src]!")) + return + + wearer.remove_movespeed_modifier(/datum/movespeed_modifier/equipping_gauntlets) + + left_gauntlet?.forceMove(src) + right_gauntlet?.forceMove(src) + + REMOVE_TRAIT(src, TRAIT_NODROP, type) + playsound(src, 'sound/mecha/powerloader_turn2.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + playsound(src, 'sound/mecha/mechmove01.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + to_chat(wearer, span_notice("You retract [src].")) + + +/obj/item/kinetic_gauntlet + name = "kinetic gauntlets" + desc = "Okay, these are pretty metal." + icon = 'modular_skyrat/master_files/icons/obj/mining.dmi' + icon_state = "kgauntlet_r" + inhand_icon_state = "kgauntlet" + lefthand_file = 'modular_skyrat/master_files/icons/mob/inhands/melee_lefthand.dmi' + righthand_file = 'modular_skyrat/master_files/icons/mob/inhands/melee_righthand.dmi' + attack_verb_continuous = list("rams", "fists", "pulverizes", "power-punches") + attack_verb_simple = list("ram", "fist", "pulverize", "power-punch") + + armor_type = /datum/armor/melee_energy + force = 15 // double hit -> 10 more dmg than crusher + obj_flags = DROPDEL + resistance_flags = FIRE_PROOF + + secondary_attack_speed = 0.1 SECONDS + + var/obj/item/clothing/gloves/kinetic_gauntlets/linked_gauntlets = null + var/next_attack = 0 + +/obj/item/kinetic_gauntlet/Initialize(mapload) + . = ..() + if(!istype(loc, /obj/item/clothing/gloves/kinetic_gauntlets)) + return INITIALIZE_HINT_QDEL //le sigh + + linked_gauntlets = loc + ADD_TRAIT(src, TRAIT_NODROP, type) + +/obj/item/kinetic_gauntlet/Destroy(force) + if(linked_gauntlets) //fuck c&d + linked_gauntlets.on_gauntlet_qdel() + linked_gauntlets = null + return ..() + +/obj/item/kinetic_gauntlet/melee_attack_chain(mob/user, atom/target, params) + if(next_attack > world.time) + return + return ..() + +/obj/item/kinetic_gauntlet/attack(mob/living/target_mob, mob/living/user, params) + . = ..() + playsound(src, 'sound/weapons/genhit2.ogg', 40, TRUE) + next_attack = world.time + 0.8 SECONDS // same as a crusher + user.changeNext_move(CLICK_CD_HYPER_RAPID) //forgive me + if(istype(user.get_inactive_held_item(), /obj/item/kinetic_gauntlet)) + user.swap_hand() + +/obj/item/kinetic_gauntlet/attack_self(mob/user, modifiers) + if(linked_gauntlets.left_gauntlet) + return linked_gauntlets.left_gauntlet.attack_self(user, modifiers) + return ..() + +/obj/item/kinetic_gauntlet/left + icon_state = "kgauntlet_l" + actions_types = list(/datum/action/item_action/toggle_light) + +/obj/item/kinetic_gauntlet/left/Initialize(mapload) + . = ..() + if(linked_gauntlets) + RegisterSignal(linked_gauntlets, COMSIG_HIT_BY_SABOTEUR, PROC_REF(on_saboteur)) + +/obj/item/kinetic_gauntlet/left/Destroy(force) + if(linked_gauntlets) + UnregisterSignal(linked_gauntlets, COMSIG_HIT_BY_SABOTEUR) + linked_gauntlets.set_light_on(FALSE) + return ..() + +/obj/item/kinetic_gauntlet/left/update_overlays() + . = ..() + if(linked_gauntlets.light_on) + . += "[icon_state]_lit" + +/obj/item/kinetic_gauntlet/left/attack_self(mob/user, modifiers) + linked_gauntlets.set_light_on(!linked_gauntlets.light_on) + playsound(src, 'sound/weapons/empty.ogg', 100, TRUE) + update_appearance() + +/obj/item/kinetic_gauntlet/left/proc/on_saboteur(datum/source, disrupt_duration) + linked_gauntlets.set_light_on(FALSE) + playsound(src, 'sound/weapons/empty.ogg', 100, TRUE) + update_appearance() + return COMSIG_SABOTEUR_SUCCESS diff --git a/modular_skyrat/master_files/code/modules/movespeed/modifiers/items.dm b/modular_skyrat/master_files/code/modules/movespeed/modifiers/items.dm new file mode 100644 index 00000000000..31dac3faf7d --- /dev/null +++ b/modular_skyrat/master_files/code/modules/movespeed/modifiers/items.dm @@ -0,0 +1,2 @@ +/datum/movespeed_modifier/equipping_gauntlets + multiplicative_slowdown = 0.8 diff --git a/modular_skyrat/master_files/code/modules/research/techweb/all_nodes.dm b/modular_skyrat/master_files/code/modules/research/techweb/all_nodes.dm index b94791a89e3..0181eae08f1 100644 --- a/modular_skyrat/master_files/code/modules/research/techweb/all_nodes.dm +++ b/modular_skyrat/master_files/code/modules/research/techweb/all_nodes.dm @@ -254,10 +254,13 @@ /datum/techweb_node/cyborg_upg_serv/New() design_ids += list( - "borg_upgrade_artistic" + "borg_upgrade_artistic", + "borg_upgrade_botany" ) return ..() + + /datum/techweb_node/basic_mining/New() design_ids += list( "borg_upgrade_welding", diff --git a/modular_skyrat/master_files/icons/mob/clothing/gloves.dmi b/modular_skyrat/master_files/icons/mob/clothing/gloves.dmi new file mode 100644 index 00000000000..f09c1d3dd90 Binary files /dev/null and b/modular_skyrat/master_files/icons/mob/clothing/gloves.dmi differ diff --git a/modular_skyrat/master_files/icons/mob/inhands/melee_lefthand.dmi b/modular_skyrat/master_files/icons/mob/inhands/melee_lefthand.dmi index 2faf2f018cc..2eeed09295c 100644 Binary files a/modular_skyrat/master_files/icons/mob/inhands/melee_lefthand.dmi and b/modular_skyrat/master_files/icons/mob/inhands/melee_lefthand.dmi differ diff --git a/modular_skyrat/master_files/icons/mob/inhands/melee_righthand.dmi b/modular_skyrat/master_files/icons/mob/inhands/melee_righthand.dmi index 993cefaccbb..5e8552f340c 100644 Binary files a/modular_skyrat/master_files/icons/mob/inhands/melee_righthand.dmi and b/modular_skyrat/master_files/icons/mob/inhands/melee_righthand.dmi differ diff --git a/modular_skyrat/master_files/icons/obj/clothing/hats.dmi b/modular_skyrat/master_files/icons/obj/clothing/hats.dmi index b9b1ae60ac5..24230558ba7 100644 Binary files a/modular_skyrat/master_files/icons/obj/clothing/hats.dmi and b/modular_skyrat/master_files/icons/obj/clothing/hats.dmi differ diff --git a/modular_skyrat/master_files/icons/obj/mining.dmi b/modular_skyrat/master_files/icons/obj/mining.dmi new file mode 100644 index 00000000000..1fd01e0e15e Binary files /dev/null and b/modular_skyrat/master_files/icons/obj/mining.dmi differ diff --git a/modular_skyrat/modules/aesthetics/kitchen/kitchen.dm b/modular_skyrat/modules/aesthetics/kitchen/kitchen.dm index 4324487db65..e26b690e975 100644 --- a/modular_skyrat/modules/aesthetics/kitchen/kitchen.dm +++ b/modular_skyrat/modules/aesthetics/kitchen/kitchen.dm @@ -16,14 +16,14 @@ /obj/machinery/gibber icon = 'modular_skyrat/modules/aesthetics/kitchen/kitchen.dmi' -//Different icon file, but it will still go in the kitchen folder!!! +// Different icon file, but it will still go in the kitchen folder!!! /obj/machinery/microwave icon = 'modular_skyrat/modules/aesthetics/kitchen/microwave.dmi' /obj/structure/showcase/machinery/microwave icon = 'modular_skyrat/modules/aesthetics/kitchen/microwave.dmi' -//Skyrat Coffee Maker Icons +// Skyrat Coffee Maker Icons /obj/machinery/coffeemaker icon = 'modular_skyrat/modules/aesthetics/kitchen/coffeemaker.dmi' diff --git a/modular_skyrat/modules/ashwalkers/code/buildings/ash_clothing_vendor.dm b/modular_skyrat/modules/ashwalkers/code/buildings/ash_clothing_vendor.dm index d30ca3ae14d..040c2d8ccbb 100644 --- a/modular_skyrat/modules/ashwalkers/code/buildings/ash_clothing_vendor.dm +++ b/modular_skyrat/modules/ashwalkers/code/buildings/ash_clothing_vendor.dm @@ -24,7 +24,7 @@ /obj/item/clothing/shoes/wraps/ashwalker/tribalwraps = 2, /obj/item/clothing/shoes/colorable_sandals = 10, /obj/item/clothing/head/shamanash = 3, - /obj/item/clothing/head/standalone_hood = 10, + /obj/item/clothing/head/hooded/standalone_hood = 10, /obj/item/clothing/neck/mantle = 15, /obj/item/clothing/neck/cloak/tribalmantle = 2, /obj/item/clothing/neck/mantle/recolorable = 10, diff --git a/modular_skyrat/modules/assault_operatives/code/armaments/armament_implants.dm b/modular_skyrat/modules/assault_operatives/code/armaments/armament_implants.dm index 5c635235eed..ae57e1eca4b 100644 --- a/modular_skyrat/modules/assault_operatives/code/armaments/armament_implants.dm +++ b/modular_skyrat/modules/assault_operatives/code/armaments/armament_implants.dm @@ -5,7 +5,7 @@ /datum/armament_entry/assault_operatives/implants/deathrattle name = "Deathrattle Implant Kit" description = "A collection of implants (and one reusable implanter) that should be injected into the team. When one of the team \ - dies, all other implant holders recieve a mental message informing them of their teammates' name \ + dies, all other implant holders receive a mental message informing them of their teammates' name \ and the location of their death. Unlike most implants, these are designed to be implanted \ in any creature, biological or mechanical." item_type = /obj/item/storage/box/syndie_kit/imp_deathrattle diff --git a/modular_skyrat/modules/borgs/code/robot_upgrade.dm b/modular_skyrat/modules/borgs/code/robot_upgrade.dm index d941e480add..4f41e4b970d 100644 --- a/modular_skyrat/modules/borgs/code/robot_upgrade.dm +++ b/modular_skyrat/modules/borgs/code/robot_upgrade.dm @@ -381,6 +381,54 @@ if (module_item) install.model.remove_module(module_item, TRUE) +/datum/design/borg_upgrade_botany + name = "Botanical Operator Module" + id = "borg_upgrade_botany" + build_type = MECHFAB + build_path = /obj/item/borg/upgrade/botany + materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 2) + construction_time = 10 SECONDS + category = list( + RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_SERVICE + ) + +/obj/item/borg/upgrade/botany + name = "botanical operator upgrade" + desc = "Provides an assortement of tools for dealing with plants." + icon_state = "cyborg_upgrade2" + require_model = TRUE + model_type = list(/obj/item/robot_model/service) + model_flags = BORG_MODEL_SERVICE + + var/static/list/added_stuff = list( + /obj/item/secateurs, + /obj/item/cultivator, + /obj/item/shovel/spade, + /obj/item/plant_analyzer, + /obj/item/storage/bag/plants + ) + +/obj/item/borg/upgrade/botany/action(mob/living/silicon/robot/R) + . = ..() + if(!.) + return + + for(var/type in added_stuff) + var/obj/item/added_item = new type(R.model) + R.model.basic_modules += added_item + R.model.add_module(added_item, FALSE, TRUE) + +/obj/item/borg/upgrade/botany/deactivate(mob/living/silicon/robot/R) + . = ..() + if(!.) + return + + for(var/obj/item/module as anything in R.model.modules) + if(!(module.type in added_stuff)) + continue + + R.model.remove_module(module, TRUE) + /* * UNIVERSAL CYBORG UPGRADES */ diff --git a/modular_skyrat/modules/carriers/code/carrier_component.dm b/modular_skyrat/modules/carriers/code/carrier_component.dm index 5304e531581..4a80209126e 100644 --- a/modular_skyrat/modules/carriers/code/carrier_component.dm +++ b/modular_skyrat/modules/carriers/code/carrier_component.dm @@ -121,16 +121,16 @@ GLOBAL_LIST_EMPTY(soulcatchers) return holder -/// Recieves a message from a carrier room. -/datum/component/carrier/proc/recieve_message(message_to_recieve) - if(!message_to_recieve) +/// receives a message from a carrier room. +/datum/component/carrier/proc/receive_message(message_to_receive) + if(!message_to_receive) return FALSE var/mob/living/carrier_owner = get_current_holder() if(!istype(carrier_owner)) return FALSE - to_chat(carrier_owner, message_to_recieve) + to_chat(carrier_owner, message_to_receive) return TRUE /// Attempts to ping the current user of the carrier, asking them if `joiner_name` is allowed in. If they are, the proc returns `TRUE`, otherwise returns FALSE @@ -397,7 +397,7 @@ GLOBAL_LIST_EMPTY(soulcatchers) if(!recepient_carrier) return FALSE // This really isn't good. - recepient_carrier.recieve_message(message) + recepient_carrier.receive_message(message) return TRUE /datum/carrier_room/Destroy(force, ...) diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/kahraman_industries.dm b/modular_skyrat/modules/company_imports/code/armament_datums/kahraman_industries.dm index f15da1c1750..c8a6d5897b9 100644 --- a/modular_skyrat/modules/company_imports/code/armament_datums/kahraman_industries.dm +++ b/modular_skyrat/modules/company_imports/code/armament_datums/kahraman_industries.dm @@ -2,6 +2,29 @@ category = KAHRAMAN_INDUSTRIES_NAME company_bitflag = CARGO_COMPANY_KAHRAMAN +/// Kahraman-made machines +/datum/armament_entry/company_import/kahraman/machinery + subcategory = "Machinery" + +/datum/armament_entry/company_import/kahraman/machinery/biogenerator + item_type = /obj/item/flatpacked_machine/organics_printer + description = "An advanced machine seen in frontier outposts and colonies capable of turning organic plant matter into \ + reagents and items of use that a fabricator can't typically make." + cost = CARGO_CRATE_VALUE * 3 + +/datum/armament_entry/company_import/kahraman/machinery/ore_thumper + item_type = /obj/item/flatpacked_machine/ore_thumper + description = "A frame with a heavy block of metal suspended atop a pipe. \ + Must be deployed outdoors and given a wired power connection. \ + Forces pressurized gas into the ground which brings up buried resources." + cost = CARGO_CRATE_VALUE * 5 + +/datum/armament_entry/company_import/kahraman/machinery/gps_beacon + item_type = /obj/item/flatpacked_machine/gps_beacon + description = "A packed GPS beacon, can be deployed and anchored into the ground to \ + provide and unobstructed homing beacon for wayward travelers across the galaxy." + cost = PAYCHECK_LOWER + // Mining PPE, SEVAs and hardhats, have you passed your OSHA inspection today? /datum/armament_entry/company_import/kahraman/ppe diff --git a/modular_skyrat/modules/customization/modules/client/augment/_augment.dm b/modular_skyrat/modules/customization/modules/client/augment/_augment.dm index 6b53eb2ef27..e41427b987a 100644 --- a/modular_skyrat/modules/customization/modules/client/augment/_augment.dm +++ b/modular_skyrat/modules/customization/modules/client/augment/_augment.dm @@ -10,7 +10,7 @@ var/path ///How much quirky points does it cost? var/cost = 0 - ///Which biotypes are allowed to recieve the augment + ///Which biotypes are allowed to receive the augment var/allowed_biotypes = MOB_ORGANIC /datum/augment_item/New() diff --git a/modular_skyrat/modules/customization/modules/clothing/head/head.dm b/modular_skyrat/modules/customization/modules/clothing/head/head.dm index f8ad4b1573e..51a6a734619 100644 --- a/modular_skyrat/modules/customization/modules/clothing/head/head.dm +++ b/modular_skyrat/modules/customization/modules/clothing/head/head.dm @@ -177,7 +177,7 @@ icon_state = "detective" inhand_icon_state = "det_hat" -/obj/item/clothing/head/standalone_hood +/obj/item/clothing/head/hooded/standalone_hood name = "hood" desc = "A hood with a bit of support around the neck so it actually stays in place, for all those times you want a hood without the coat." icon = 'modular_skyrat/modules/GAGS/icons/head/head.dmi' diff --git a/modular_skyrat/modules/customization/modules/mob/dead/new_player/preferences_setup.dm b/modular_skyrat/modules/customization/modules/mob/dead/new_player/preferences_setup.dm index c2bfd6c7d49..7246999236c 100644 --- a/modular_skyrat/modules/customization/modules/mob/dead/new_player/preferences_setup.dm +++ b/modular_skyrat/modules/customization/modules/mob/dead/new_player/preferences_setup.dm @@ -111,7 +111,7 @@ parent.show_character_previews(new /mutable_appearance(mannequin)) unset_busy_human_dummy(DUMMY_HUMAN_SLOT_PREFERENCES) -//SKYRAT SPECIFIC PROCS +// SKYRAT SPECIFIC PROCS //This proc makes sure that we only have the parts that the species should have, add missing ones, remove extra ones(should any be changed) //Also, this handles missing color keys diff --git a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories.dm b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories.dm index 27c82614cfb..2efc9ab9f3f 100644 --- a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories.dm +++ b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories.dm @@ -41,8 +41,6 @@ GLOBAL_LIST_EMPTY(cached_mutant_icon_files) var/always_color_customizable ///Special case of whether the accessory should be shifted in the X dimension, check taur genitals for example var/special_x_dimension - ///Special case of whether the accessory should have a different icon, check taur genitals for example - var/special_icon_case ///Special case for MODsuit overlays var/use_custom_mod_icon ///If defined, the accessory will be only available to ckeys inside the list. ITS ASSOCIATIVE, ie. ("ckey" = TRUE). For speed @@ -139,8 +137,27 @@ GLOBAL_LIST_EMPTY(cached_mutant_icon_files) /datum/sprite_accessory/caps key = "caps" generic = "Caps" + icon = 'icons/mob/human/species/mush_cap.dmi' + relevent_layers = list(BODY_ADJ_LAYER) color_src = USE_ONE_COLOR - organ_type = /obj/item/organ/external/cap + organ_type = /obj/item/organ/external/mushroom_cap + genetic = TRUE + +/datum/sprite_accessory/caps/is_hidden(mob/living/carbon/human/human) + if(((human.head?.flags_inv & HIDEHAIR) || (human.wear_mask?.flags_inv & HIDEHAIR)) || (key in human.try_hide_mutant_parts)) + return TRUE + + return FALSE + +/datum/sprite_accessory/caps/none + name = "None" + icon_state = "none" + color_src = null + factual = FALSE + +/datum/sprite_accessory/caps/round + name = "Round" + icon_state = "round" /datum/sprite_accessory/body_markings key = "body_markings" diff --git a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/genitals.dm b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/genitals.dm index 6fa8c6ab2d0..9c080a96621 100644 --- a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/genitals.dm +++ b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/genitals.dm @@ -63,7 +63,6 @@ color_src = USE_MATRIXED_COLORS always_color_customizable = TRUE center = TRUE - special_icon_case = TRUE special_x_dimension = TRUE //default_color = DEFAULT_SKIN_OR_PRIMARY //This is the price we're paying for sheaths relevent_layers = list(BODY_BEHIND_LAYER, BODY_FRONT_LAYER) @@ -138,7 +137,6 @@ associated_organ_slot = ORGAN_SLOT_TESTICLES key = ORGAN_SLOT_TESTICLES always_color_customizable = TRUE - special_icon_case = TRUE special_x_dimension = TRUE default_color = DEFAULT_SKIN_OR_PRIMARY relevent_layers = list(BODY_ADJ_LAYER, BODY_BEHIND_LAYER) diff --git a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/snout.dm b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/snout.dm index 9b5e6fb1f8d..db698f0d979 100644 --- a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/snout.dm +++ b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/snout.dm @@ -30,7 +30,7 @@ return !sprite_datum.is_hidden(human) -/obj/item/organ/external/snout/Insert(mob/living/carbon/reciever, special, movement_flags) +/obj/item/organ/external/snout/Insert(mob/living/carbon/receiver, special, movement_flags) if(sprite_accessory_flags & SPRITE_ACCESSORY_USE_MUZZLED_SPRITE) external_bodyshapes |= BODYSHAPE_SNOUTED if(sprite_accessory_flags & SPRITE_ACCESSORY_USE_ALT_FACEWEAR_LAYER) diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/lizard.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/lizard.dm index 55f20d16e6b..7ca2a6b8e52 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/lizard.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/lizard.dm @@ -16,6 +16,16 @@ "wings" = list("None", FALSE), ) +/datum/species/lizard/ashwalker/get_default_mutant_bodyparts() + var/list/default_parts = ..() + default_parts["spines"] = list("None", TRUE) + return default_parts + +/datum/species/lizard/silverscale/get_default_mutant_bodyparts() + var/list/default_parts = ..() + default_parts["spines"] = list("None", TRUE) + return default_parts + /datum/species/lizard/randomize_features() var/list/features = ..() var/main_color = "#[random_color()]" diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/mushpeople.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/mushpeople.dm index 9a707e5225b..f0a2570ba4c 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/mushpeople.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/mushpeople.dm @@ -1,3 +1,13 @@ +/datum/species/mush/get_default_mutant_bodyparts() + return list( + "caps" = list("Round", FALSE), // we don't want cap-less mushpeople + ) + +/datum/species/mush/randomize_features() + var/list/features = ..() + features["caps"] = pick(GLOB.caps_list - list("None")) // No tail-less monkeys. // No cap-less mushpeople. + return features + /datum/species/mush/prepare_human_for_preview(mob/living/carbon/human/shrooman) shrooman.dna.mutant_bodyparts["caps"] = list(MUTANT_INDEX_NAME = "Round", MUTANT_INDEX_COLOR_LIST = list("#FF4B19")) regenerate_organs(shrooman, src, visual_only = TRUE) diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm index 40c87e3be15..4d6fc47331d 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm @@ -1,6 +1,5 @@ /datum/species/jelly mutant_bodyparts = list() - hair_color = "mutcolor" hair_alpha = 160 //a notch brighter so it blends better. facial_hair_alpha = 160 @@ -55,6 +54,10 @@ return perk_descriptions +/datum/species/jelly/roundstartslime/apply_supplementary_body_changes(mob/living/carbon/human/target, datum/preferences/preferences, visuals_only = FALSE) + if(preferences.read_preference(/datum/preference/toggle/allow_mismatched_hair_color)) + target.dna.species.hair_color_mode = null + /** * Alter Form is the ability of slimes to edit many of their character attributes at will * This covers most thing about their character, from body size or colour, to adding new wings, tails, ears, etc, to changing the presence of their genitalia diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/unathi.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/unathi.dm index bbf7f91b08b..8731ff495d1 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/unathi.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/unathi.dm @@ -29,7 +29,7 @@ "snout" = list("Sharp + Light", TRUE), "spines" = list("None", FALSE), "frills" = list("None", FALSE), - "horns" = list("Curled", TRUE), + "horns" = list("Curled", FALSE), "body_markings" = list("Smooth Belly", TRUE), "legs" = list("Normal Legs", FALSE), ) diff --git a/modular_skyrat/modules/customization/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/modular_skyrat/modules/customization/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 8c4ba3dfe84..d1eb5cbc3f1 100644 --- a/modular_skyrat/modules/customization/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/modular_skyrat/modules/customization/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -22,7 +22,7 @@ /datum/glass_style/drinking_glass/synthanol required_drink_type = /datum/reagent/consumable/ethanol/synthanol - icon = 'modular_skyrat/master_files/icons/obj/drinks.dmi' // This should cover anything synthanol related. Will have to individually tag others unless we make an object path for skyrat drinks. + icon = 'modular_skyrat/master_files/icons/obj/drinks.dmi' // This should cover anything synthanol related. Will have to individually tag others unless we make an object path for Skyrat drinks. icon_state = "synthanolglass" name = "glass of synthanol" desc = "The equivalent of alcohol for synthetic crewmembers. They'd find it awful if they had tastebuds too." diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/cap.dm b/modular_skyrat/modules/customization/modules/surgery/organs/cap.dm index f642a8f0a73..664334aee03 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/cap.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/cap.dm @@ -1,26 +1,30 @@ -/obj/item/organ/external/cap - name = "fungal cap" - desc = "Real. No cap." +/obj/item/organ/external/mushroom_cap icon_state = "random_fly_1" mutantpart_key = "caps" - mutantpart_info = list(MUTANT_INDEX_NAME = "Round", MUTANT_INDEX_COLOR_LIST = list("#FFFFFF")) - - zone = BODY_ZONE_HEAD + mutantpart_info = list(MUTANT_INDEX_NAME = "Round", MUTANT_INDEX_COLOR_LIST = list("#FF4B19")) slot = ORGAN_SLOT_EXTERNAL_CAP - preference = "feature_caps" - bodypart_overlay = /datum/bodypart_overlay/mutant/cap - use_mob_sprite_as_obj_sprite = TRUE +/obj/item/organ/external/mushroom_cap/Initialize(mapload) + if(!ispath(bodypart_overlay)) + mutantpart_info[MUTANT_INDEX_COLOR_LIST] = bodypart_overlay.draw_color + return ..() -/datum/bodypart_overlay/mutant/cap - feature_key = "caps" - layers = EXTERNAL_FRONT | EXTERNAL_ADJACENT | EXTERNAL_BEHIND +/datum/bodypart_overlay/mutant/mushroom_cap color_source = ORGAN_COLOR_OVERRIDE -/datum/bodypart_overlay/mutant/cap/override_color(rgb_value) +/datum/bodypart_overlay/mutant/mushroom_cap/randomize_appearance() + . = ..() + randomize_cap_color() + +/datum/bodypart_overlay/mutant/mushroom_cap/proc/randomize_cap_color() + draw_color = pick("#FF4B19", "#925858","#e6dfdf", "#E7AB33", "#704923", "#5db847", "#b359ab", "#9039a1", "#533ea0", "#3192af") // mushroom colors I guess + +/datum/bodypart_overlay/mutant/mushroom_cap/override_color(rgb_value) + if(isnull(draw_color)) + randomize_cap_color() return draw_color -/datum/bodypart_overlay/mutant/cap/get_global_feature_list() - return GLOB.sprite_accessories["caps"] +/datum/bodypart_overlay/mutant/mushroom_cap/can_draw_on_bodypart(mob/living/carbon/human/human) + return !sprite_datum.is_hidden(human) diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/ears.dm b/modular_skyrat/modules/customization/modules/surgery/organs/ears.dm index 7123f926ba7..db653ddae8f 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/ears.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/ears.dm @@ -2,17 +2,10 @@ name = "fluffy ears" icon = 'icons/obj/clothing/head/costume.dmi' icon_state = "kitty" - mutantpart_key = "ears" - mutantpart_info = list(MUTANT_INDEX_NAME = "Cat", MUTANT_INDEX_COLOR_LIST = list("#FFAA00")) /obj/item/organ/internal/ears/cat - mutantpart_key = "ears" - mutantpart_info = list(MUTANT_INDEX_NAME = "Cat", MUTANT_INDEX_COLOR_LIST = list("#FFAA00")) /obj/item/organ/internal/ears/fox - mutantpart_key = "ears" - mutantpart_info = list(MUTANT_INDEX_NAME = "Cat", MUTANT_INDEX_COLOR_LIST = list("#eebb44")) - /obj/item/organ/external/ears name = "fluffy ears" desc = "Wait, there's two pairs of these?" diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/organ.dm b/modular_skyrat/modules/customization/modules/surgery/organs/organ.dm index e1892fc5543..2e07455af7b 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/organ.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/organ.dm @@ -1,7 +1,4 @@ /obj/item/organ - ///This is for associating an organ with a mutant bodypart. Look at tails for examples - var/mutantpart_key - var/list/list/mutantpart_info /// Do we drop when organs are spilling? var/drop_when_organ_spilling = TRUE /// Special flags that need to be passed over from the sprite_accessory to the organ (but not the opposite). @@ -9,31 +6,44 @@ /// Relevant layer flags, as set by the organ's associated sprite_accessory, should there be one. var/relevant_layers -/obj/item/organ/Initialize(mapload) +/obj/item/organ/external + ///This is for associating an organ with a mutant bodypart. Look at tails for examples + var/mutantpart_key + var/list/list/mutantpart_info + +/obj/item/organ/external/Initialize(mapload) . = ..() if(mutantpart_key) color = mutantpart_info[MUTANT_INDEX_COLOR_LIST][1] -/obj/item/organ/Insert(mob/living/carbon/M, special = FALSE, movement_flags = DELETE_IF_REPLACED) - var/mob/living/carbon/human/H = M - if(mutantpart_key && istype(H)) - H.dna.species.mutant_bodyparts[mutantpart_key] = mutantpart_info.Copy() - if(!special) - H.update_body() - . = ..() +/// Copies the organ's mutantpart_info to the owner's mutant_bodyparts +/obj/item/organ/external/proc/copy_to_mutant_bodyparts(mob/living/carbon/organ_owner, special) + var/mob/living/carbon/human/human_owner = organ_owner + if(!istype(human_owner)) + return -/obj/item/organ/Remove(mob/living/carbon/M, special = FALSE, movement_flags) - var/mob/living/carbon/human/H = M - if(mutantpart_key && istype(H)) - if(H.dna.species.mutant_bodyparts[mutantpart_key]) - mutantpart_info = H.dna.species.mutant_bodyparts[mutantpart_key].Copy() //Update the info in case it was changed on the person - color = mutantpart_info[MUTANT_INDEX_COLOR_LIST][1] - H.dna.species.mutant_bodyparts -= mutantpart_key - if(!special) - H.update_body() - . = ..() + human_owner.dna.species.mutant_bodyparts[mutantpart_key] = mutantpart_info.Copy() + if(!special) + human_owner.update_body() + +/// Copies the mob's mutant_bodyparts data to an organ's mutantpart_info for consistency e.g. on organ removal +/obj/item/organ/external/proc/transfer_mutantpart_info(mob/living/carbon/organ_owner, special) + var/mob/living/carbon/human/human_owner = organ_owner + if(!istype(human_owner)) + return + + if(human_owner.dna.species.mutant_bodyparts[mutantpart_key]) + mutantpart_info = human_owner.dna.species.mutant_bodyparts[mutantpart_key].Copy() //Update the info in case it was changed on the person + + color = mutantpart_info[MUTANT_INDEX_COLOR_LIST][1] + human_owner.dna.species.mutant_bodyparts -= mutantpart_key + if(!special) + human_owner.update_body() /obj/item/organ/proc/build_from_dna(datum/dna/DNA, associated_key) + return + +/obj/item/organ/external/build_from_dna(datum/dna/DNA, associated_key) mutantpart_key = associated_key mutantpart_info = DNA.mutant_bodyparts[associated_key].Copy() color = mutantpart_info[MUTANT_INDEX_COLOR_LIST][1] diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/tails.dm b/modular_skyrat/modules/customization/modules/surgery/organs/tails.dm index 3cafd6852a0..95a7bd1d0c4 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/tails.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/tails.dm @@ -41,7 +41,7 @@ return TRUE -/obj/item/organ/external/tail/Insert(mob/living/carbon/reciever, special, movement_flags) +/obj/item/organ/external/tail/Insert(mob/living/carbon/receiver, special, movement_flags) if(sprite_accessory_flags & SPRITE_ACCESSORY_WAG_ABLE) wag_flags |= WAG_ABLE return ..() diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/taur_body.dm b/modular_skyrat/modules/customization/modules/surgery/organs/taur_body.dm index 147c6b39fe6..709ac6f5a1f 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/taur_body.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/taur_body.dm @@ -31,12 +31,12 @@ return GLOB.sprite_accessories["taur"] -/obj/item/organ/external/taur_body/Insert(mob/living/carbon/reciever, special, movement_flags) +/obj/item/organ/external/taur_body/Insert(mob/living/carbon/receiver, special, movement_flags) if(sprite_accessory_flags & SPRITE_ACCESSORY_HIDE_SHOES) external_bodyshapes |= BODYSHAPE_HIDE_SHOES - old_right_leg = reciever.get_bodypart(BODY_ZONE_R_LEG) - old_left_leg = reciever.get_bodypart(BODY_ZONE_L_LEG) + old_right_leg = receiver.get_bodypart(BODY_ZONE_R_LEG) + old_left_leg = receiver.get_bodypart(BODY_ZONE_L_LEG) var/obj/item/bodypart/leg/left/taur/new_left_leg var/obj/item/bodypart/leg/right/taur/new_right_leg @@ -50,12 +50,12 @@ new_left_leg.bodyshape |= external_bodyshapes - new_left_leg.replace_limb(reciever, TRUE) + new_left_leg.replace_limb(receiver, TRUE) if(old_left_leg) old_left_leg.forceMove(src) new_right_leg.bodyshape |= external_bodyshapes - new_right_leg.replace_limb(reciever, TRUE) + new_right_leg.replace_limb(receiver, TRUE) if(old_right_leg) old_right_leg.forceMove(src) diff --git a/modular_skyrat/modules/deforest_medical_items/code/medstation_designs/medical.dm b/modular_skyrat/modules/deforest_medical_items/code/medstation_designs/medical.dm index 2249061cc15..ddd5ce8e80d 100644 --- a/modular_skyrat/modules/deforest_medical_items/code/medstation_designs/medical.dm +++ b/modular_skyrat/modules/deforest_medical_items/code/medstation_designs/medical.dm @@ -91,7 +91,7 @@ id = "organic_repair_foam" build_type = BIOGENERATOR materials = list(/datum/material/biomass = 100) - build_path = /obj/item/stack/sticky_tape/surgical + build_path = /obj/item/stack/medical/wound_recovery/robofoam category = list( RND_CATEGORY_INITIAL, RND_CATEGORY_DEFOREST_MEDICAL, diff --git a/modular_skyrat/modules/ghostcafe/code/robot_ghostcafe.dm b/modular_skyrat/modules/ghostcafe/code/robot_ghostcafe.dm index d8f9ca2ce28..cf3505f837e 100644 --- a/modular_skyrat/modules/ghostcafe/code/robot_ghostcafe.dm +++ b/modular_skyrat/modules/ghostcafe/code/robot_ghostcafe.dm @@ -75,5 +75,4 @@ ..() var/obj/item/lightreplacer/light_replacer = locate(/obj/item/lightreplacer) in basic_modules if(light_replacer) - for(var/charge in 1 to coeff) - light_replacer.Charge(cyborg) // Make Roleplay Borg Light Replacer recharge, isntead of requiring Glass + light_replacer.Charge(cyborg, coeff) // Make Roleplay Borg Light Replacer recharge, isntead of requiring Glass diff --git a/modular_skyrat/modules/goofsec/code/sol_fed.dm b/modular_skyrat/modules/goofsec/code/sol_fed.dm index 1753ec8e54a..b5bf59d3871 100644 --- a/modular_skyrat/modules/goofsec/code/sol_fed.dm +++ b/modular_skyrat/modules/goofsec/code/sol_fed.dm @@ -101,7 +101,7 @@ GLOBAL_LIST_INIT(call911_do_and_do_not, list( if(EMERGENCY_RESPONSE_POLICE) team_size = 8 cops_to_send = /datum/antagonist/ert/request_911/police - announcement_message = "Crewmembers of [station_name()]. this is the Sol Federation. We've recieved a request for immediate marshal support, and we are \ + announcement_message = "Crewmembers of [station_name()]. this is the Sol Federation. We've received a request for immediate marshal support, and we are \ sending our best marshals to support your station.\n\n\ If the first responders request that they need SWAT support to do their job, or to report a faulty 911 call, we will send them in at additional cost to your station to the \ tune of $20,000.\n\n\ @@ -112,7 +112,7 @@ GLOBAL_LIST_INIT(call911_do_and_do_not, list( if(EMERGENCY_RESPONSE_ATMOS) team_size = tgui_input_number(usr, "How many techs would you like dispatched?", "How badly did you screw up?", 3, 3, 1) cops_to_send = /datum/antagonist/ert/request_911/atmos - announcement_message = "Crewmembers of [station_name()]. this is the Sol Federation's 811 dispatch. We've recieved a report of stationwide structural damage, atmospherics loss, fire, or otherwise, and we are \ + announcement_message = "Crewmembers of [station_name()]. this is the Sol Federation's 811 dispatch. We've received a report of stationwide structural damage, atmospherics loss, fire, or otherwise, and we are \ sending an Advanced Atmospherics team to support your station.\n\n\ The transcript of the call is as follows:\n\ [GLOB.call_911_msg]" @@ -122,7 +122,7 @@ GLOBAL_LIST_INIT(call911_do_and_do_not, list( if(EMERGENCY_RESPONSE_EMT) team_size = 8 cops_to_send = /datum/antagonist/ert/request_911/emt - announcement_message = "Crewmembers of [station_name()]. this is the Sol Federation. We've recieved a request for immediate medical support, and we are \ + announcement_message = "Crewmembers of [station_name()]. this is the Sol Federation. We've received a request for immediate medical support, and we are \ sending our best emergency medical technicians to support your station.\n\n\ If the first responders request that they need SWAT support to do their job, or to report a faulty 911 call, we will send them in at additional cost to your station to the \ tune of $20,000.\n\n\ @@ -696,7 +696,7 @@ GLOBAL_LIST_INIT(call911_do_and_do_not, list( you placed at the Dogginos that's the seventh furthest Dogginos in the galaxy from your station, and we want to ensure maximum customer satisfaction and \ employee satisfaction as well.\n\ We've gone ahead and sent some some of our finest regional managers to handle the situation.\n\ - We hope you enjoy your pizzas, and that we'll be able to recieve the bill of $35,000 plus the fifteen percent tip for our drivers shortly!" + We hope you enjoy your pizzas, and that we'll be able to receive the bill of $35,000 plus the fifteen percent tip for our drivers shortly!" announcement_source = "Dogginos" fine_station = FALSE ghost_poll_msg = "Dogginos is sending regional managers to get the station to pay up the pizza money they owe. Are you ready to do some Customer Relations?" diff --git a/modular_skyrat/modules/icspawning/code/cards_ids.dm b/modular_skyrat/modules/icspawning/code/cards_ids.dm index 345b5b6f4e6..2d8600585a0 100644 --- a/modular_skyrat/modules/icspawning/code/cards_ids.dm +++ b/modular_skyrat/modules/icspawning/code/cards_ids.dm @@ -1,4 +1,4 @@ -//SKYRAT MODULE IC-SPAWNING https://github.com/Skyrat-SS13/Skyrat-tg/pull/104 +// SKYRAT MODULE IC-SPAWNING https://github.com/Skyrat-SS13/Skyrat-tg/pull/104 /obj/item/card/id/advanced/debug/bst name = "\improper Bluespace ID" desc = "A Bluespace ID card. Has ALL the all access, you really shouldn't have this." diff --git a/modular_skyrat/modules/icspawning/code/observer.dm b/modular_skyrat/modules/icspawning/code/observer.dm index 900a73746ab..00320433468 100644 --- a/modular_skyrat/modules/icspawning/code/observer.dm +++ b/modular_skyrat/modules/icspawning/code/observer.dm @@ -1,4 +1,4 @@ -//SKYRAT MODULE IC-SPAWNING https://github.com/Skyrat-SS13/Skyrat-tg/pull/104 +// SKYRAT MODULE IC-SPAWNING https://github.com/Skyrat-SS13/Skyrat-tg/pull/104 /mob/dead/observer/CtrlClickOn(mob/user) quickicspawn(user) diff --git a/modular_skyrat/modules/icspawning/code/standard.dm b/modular_skyrat/modules/icspawning/code/standard.dm index 3f15b6662a0..5c891d5b6ce 100644 --- a/modular_skyrat/modules/icspawning/code/standard.dm +++ b/modular_skyrat/modules/icspawning/code/standard.dm @@ -1,4 +1,4 @@ -//SKYRAT MODULE IC-SPAWNING https://github.com/Skyrat-SS13/Skyrat-tg/pull/104 +// SKYRAT MODULE IC-SPAWNING https://github.com/Skyrat-SS13/Skyrat-tg/pull/104 /obj/item/gun/energy/taser/debug ammo_type = list(/obj/item/ammo_casing/energy/electrode/debug) w_class = WEIGHT_CLASS_TINY diff --git a/modular_skyrat/modules/interaction_menu/code/interaction_datum.dm b/modular_skyrat/modules/interaction_menu/code/interaction_datum.dm index d28aec8e8b0..7826e8d2850 100644 --- a/modular_skyrat/modules/interaction_menu/code/interaction_datum.dm +++ b/modular_skyrat/modules/interaction_menu/code/interaction_datum.dm @@ -30,17 +30,17 @@ GLOBAL_LIST_EMPTY_TYPED(interaction_instances, /datum/interaction) var/list/user_required_parts = list() /// What parts do they need(IMPORTANT TO GET IT TO THE CORRECT DEFINE, ORGAN SLOT)? var/list/target_required_parts = list() - /// The amount of pleasure the target recieves from this interaciton. + /// The amount of pleasure the target receives from this interaciton. var/target_pleasure = 0 - /// The amount of arousal the target recieves from this interaction. + /// The amount of arousal the target receives from this interaction. var/target_arousal = 0 - /// The amount of pain the target recieves. + /// The amount of pain the target receives. var/target_pain = 0 - /// The amount of pleasure the user recieves. + /// The amount of pleasure the user receives. var/user_pleasure = 0 - /// The amount of arousal the user recieves. + /// The amount of arousal the user receives. var/user_arousal = 0 - /// The amount of pain the user recieves. + /// The amount of pain the user receives. var/user_pain = 0 /// A list of possible sounds. var/list/sound_possible = list() diff --git a/modular_skyrat/modules/liquids/code/liquid_systems/liquid_turf.dm b/modular_skyrat/modules/liquids/code/liquid_systems/liquid_turf.dm index 40a376605e1..e1da8f7bd13 100644 --- a/modular_skyrat/modules/liquids/code/liquid_systems/liquid_turf.dm +++ b/modular_skyrat/modules/liquids/code/liquid_systems/liquid_turf.dm @@ -164,8 +164,8 @@ liquids.reagent_list[reagent] += reagent_list[reagent] liquids.total_reagents += reagent_list[reagent] - var/recieved_thermal_energy = (liquids.total_reagents - prev_total_reagents) * chem_temp - liquids.temp = (recieved_thermal_energy + prev_thermal_energy) / liquids.total_reagents + var/received_thermal_energy = (liquids.total_reagents - prev_total_reagents) * chem_temp + liquids.temp = (received_thermal_energy + prev_thermal_energy) / liquids.total_reagents if(!no_react) //We do react so, make a simulation diff --git a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_heads.dm b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_heads.dm index 3769ae03c11..f9bdd75292a 100644 --- a/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_heads.dm +++ b/modular_skyrat/modules/loadouts/loadout_items/loadout_datum_heads.dm @@ -191,7 +191,7 @@ GLOBAL_LIST_INIT(loadout_helmets, generate_loadout_items(/datum/loadout_item/hea /datum/loadout_item/head/standalone_hood name = "Recolorable Standalone Hood" - item_path = /obj/item/clothing/head/standalone_hood + item_path = /obj/item/clothing/head/hooded/standalone_hood /datum/loadout_item/head/mail_cap name = "Mail Cap" diff --git a/modular_skyrat/modules/mapping/code/static_plaques.dm b/modular_skyrat/modules/mapping/code/static_plaques.dm index 65fac01b183..3f87e960373 100644 --- a/modular_skyrat/modules/mapping/code/static_plaques.dm +++ b/modular_skyrat/modules/mapping/code/static_plaques.dm @@ -1,4 +1,4 @@ -//SKYRAT PLAQUES +// SKYRAT PLAQUES //Current stations diff --git a/modular_skyrat/modules/microfusion/code/microfusion_cell_attachments.dm b/modular_skyrat/modules/microfusion/code/microfusion_cell_attachments.dm index 586a20042eb..32716a27c67 100644 --- a/modular_skyrat/modules/microfusion/code/microfusion_cell_attachments.dm +++ b/modular_skyrat/modules/microfusion/code/microfusion_cell_attachments.dm @@ -87,7 +87,7 @@ If the cell isn't stabilised by a stabiliser, it may emit a radiation pulse. icon_state = "attachment_selfcharge" attachment_overlay_icon_state = "microfusion_selfcharge" /// The amount of charge this cell will passively gain! - var/self_charge_amount = 20 + var/self_charge_amount = STANDARD_CELL_CHARGE*(0.02) /obj/item/microfusion_cell_attachment/selfcharging/examine(mob/user) . = ..() diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/shibari_worn_uniform.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/shibari_worn_uniform.dm index 866526dea48..10091f9651e 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/shibari_worn_uniform.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/shibari_worn_uniform.dm @@ -11,7 +11,7 @@ greyscale_colors = "#bd8fcf" has_sensor = NO_SENSORS - ///Tightness of the ropes can be low, medium and hard. This var works as multiplier for arousal and pleasure recieved while wearing this item + ///Tightness of the ropes can be low, medium and hard. This var works as multiplier for arousal and pleasure received while wearing this item var/tightness = SHIBARI_TIGHTNESS_LOW ///should this clothing item use the emissive system diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_helpers/carbon.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_helpers/carbon.dm index fae48e53f14..47cfb0e94b1 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_helpers/carbon.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_helpers/carbon.dm @@ -1,5 +1,5 @@ // Let's not force lewd emotes from folk who don't want them, mmm~? -/mob/living/carbon/proc/try_lewd_autoemote(emote) +/mob/living/proc/try_lewd_autoemote(emote) if(!client?.prefs?.read_preference(/datum/preference/toggle/erp/autoemote)) return emote(emote) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/feather.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/feather.dm index 62c586ed834..575ccc7e6cc 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/feather.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/feather.dm @@ -8,9 +8,16 @@ righthand_file = 'modular_skyrat/modules/modular_items/lewd_items/icons/mob/lewd_inhands/lewd_inhand_right.dmi' w_class = WEIGHT_CLASS_TINY -/obj/item/tickle_feather/attack(mob/living/carbon/human/target, mob/living/carbon/human/user) +/obj/item/tickle_feather/attack(mob/living/target, mob/living/user) . = ..() - if(!istype(target)) + var/mob/living/carbon/human/carbon_target + if(istype(target,/mob/living/carbon/human)) + carbon_target = target + else if(istype(target,/mob/living/silicon/robot)) + // Just use target var, return if it isn't human or robot + else + return + if(!istype(user,/mob/living/carbon/human) && !istype(user,/mob/living/silicon/robot)) return var/message = "" @@ -18,7 +25,7 @@ switch(user.zone_selected) //to let code know what part of body we gonna tickle if(BODY_ZONE_PRECISE_GROIN) targetedsomewhere = TRUE - if(!(target.is_bottomless())) + if(carbon_target && !carbon_target.is_bottomless()) to_chat(user, span_danger("[target]'s groin is covered!")) return message = (user == target) ? pick("tickles [target.p_them()]self with [src]", "gently teases [target.p_their()] belly with [src]") : pick("teases [target]'s belly with [src]", "uses [src] to tickle [target]'s belly", "tickles [target] with [src]") @@ -29,11 +36,15 @@ if(BODY_ZONE_CHEST) targetedsomewhere = TRUE - var/obj/item/organ/external/genital/badonkers = target.get_organ_slot(ORGAN_SLOT_BREASTS) - if(!(target.is_topless() || badonkers.visibility_preference == GENITAL_ALWAYS_SHOW)) - to_chat(user, span_danger("[target]'s chest is covered!")) - return - message = (user == target) ? pick("tickles [target.p_them()]self with [src]", "gently teases [target.p_their()] own nipples with [src]") : pick("teases [target]'s nipples with [src]", "uses [src] to tickle [target]'s left nipple", "uses [src] to tickle [target]'s right nipple") + if(carbon_target) + var/obj/item/organ/external/genital/badonkers = carbon_target.get_organ_slot(ORGAN_SLOT_BREASTS) + if(!(carbon_target.is_topless() || badonkers.visibility_preference == GENITAL_ALWAYS_SHOW)) + to_chat(user, span_danger("[target]'s chest is covered!")) + return + message = (user == target) ? pick("tickles [target.p_them()]self with [src]", "gently teases [target.p_their()] own nipples with [src]") : pick("teases [target]'s nipples with [src]", "uses [src] to tickle [target]'s left nipple", "uses [src] to tickle [target]'s right nipple") + else + message = (user == target) ? pick("tickles [target.p_them()]self with [src]", "gently teases [target.p_their()] synthetic body with [src]") : pick("teases [target]'s touch sensors with [src]") + if(target.stat == DEAD) return if(prob(70)) @@ -41,11 +52,11 @@ if(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) targetedsomewhere = TRUE - if(!target.has_feet()) + if(carbon_target && !carbon_target.has_feet()) to_chat(user, span_danger("[target] doesn't have any feet!")) return - if(!target.is_barefoot()) + if(carbon_target && !carbon_target.is_barefoot()) to_chat(user, span_danger("[target]'s feet are covered!")) return message = (user == target) ? pick("tickles [target.p_them()]self with [src]", "gently teases [target.p_their()] own feet with [src]") : pick("teases [target]'s feet with [src]", "uses [src] to tickle [target]'s [user.zone_selected == BODY_ZONE_L_LEG ? "left" : "right"] foot", "uses [src] to tickle [target]'s toes") @@ -56,7 +67,7 @@ if(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM) targetedsomewhere = TRUE - if(!target.is_topless()) + if(carbon_target && !carbon_target.is_topless()) to_chat(user, span_danger("[target]'s armpits are covered!")) return message = (user == target) ? pick("tickles [target.p_them()]self with [src]", "gently teases [target.p_their()] own armpit with [src]") : pick("teases [target]'s right armpit with [src]", "uses [src] to tickle [target]'s [user.zone_selected == BODY_ZONE_L_ARM ? "left" : "right"] armpit", "uses [src] to tickle [target]'s underarm") @@ -69,7 +80,8 @@ target.do_jitter_animation() target.adjustStaminaLoss(4) target.add_mood_event("tickled", /datum/mood_event/tickled) - target.adjust_arousal(3) + if(carbon_target) + carbon_target.adjust_arousal(3) user.visible_message(span_purple("[user] [message]!")) play_lewd_sound(loc, \ pick( diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/kinky_shocker.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/kinky_shocker.dm index 21328dcea3a..f21e77bdae9 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/kinky_shocker.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/kinky_shocker.dm @@ -106,9 +106,16 @@ icon_state = "[base_icon_state]_[shocker_on? "on" : "off"]" inhand_icon_state = "[base_icon_state]_[shocker_on? "on" : "off"]" -/obj/item/kinky_shocker/attack(mob/living/carbon/human/target, mob/living/carbon/human/user) +/obj/item/kinky_shocker/attack(mob/living/target, mob/living/user) . = ..() - if(!istype(target)) + var/mob/living/carbon/human/carbon_target + if(istype(target,/mob/living/carbon/human)) + carbon_target = target + else if(istype(target,/mob/living/silicon/robot)) + // Just use target var, return if it isn't human or robot + else + return + if(!istype(user,/mob/living/carbon/human) && !istype(user,/mob/living/silicon/robot)) return if(!shocker_on) @@ -124,158 +131,164 @@ switch(user.zone_selected) //to let code know what part of body we gonna tickle if(BODY_ZONE_PRECISE_GROIN) targetedsomewhere = TRUE - var/obj/item/organ/external/genital/penis = target.get_organ_slot(ORGAN_SLOT_PENIS) - var/obj/item/organ/external/genital/vagina = target.get_organ_slot(ORGAN_SLOT_VAGINA) - if(vagina && penis) - if(target.is_bottomless() || (penis.visibility_preference == GENITAL_ALWAYS_SHOW && vagina.visibility_preference == GENITAL_ALWAYS_SHOW)) - message = (user == target) ? pick("leans [src] against [target.p_their()] penis, letting it shock it. Ouch...", - "shocks [target.p_their()] penis with [src]", - "leans [src] against [target.p_their()] vagina, letting it shock it. Ouch...", - "shocks [target.p_their()] pussy with [src]") : pick("uses [src] to shock [target]'s penis", "shocks [target]'s penis with [src]", - "leans [src] against [target]'s penis, turning it on", - "uses [src] to shock [target]'s vagina", - "shocks [target]'s pussy with [src]", - "leans the shocker against [target]'s vagina, turning it on") + if(carbon_target) + var/obj/item/organ/external/genital/penis = carbon_target.get_organ_slot(ORGAN_SLOT_PENIS) + var/obj/item/organ/external/genital/vagina = carbon_target.get_organ_slot(ORGAN_SLOT_VAGINA) + if(vagina && penis) + if(carbon_target.is_bottomless() || (penis.visibility_preference == GENITAL_ALWAYS_SHOW && vagina.visibility_preference == GENITAL_ALWAYS_SHOW)) + message = (user == target) ? pick("leans [src] against [target.p_their()] penis, letting it shock it. Ouch...", + "shocks [target.p_their()] penis with [src]", + "leans [src] against [target.p_their()] vagina, letting it shock it. Ouch...", + "shocks [target.p_their()] pussy with [src]") : pick("uses [src] to shock [target]'s penis", "shocks [target]'s penis with [src]", + "leans [src] against [target]'s penis, turning it on", + "uses [src] to shock [target]'s vagina", + "shocks [target]'s pussy with [src]", + "leans the shocker against [target]'s vagina, turning it on") - else if(target.is_bottomless() || penis.visibility_preference == GENITAL_ALWAYS_SHOW) - message = (user == target) ? pick("leans [src] against [target.p_their()] penis, letting it shock it. Ouch...", - "shocks [target.p_their()] penis with [src]") : pick("uses [src] to shock [target]'s penis", - "shocks [target]'s penis with [src]", - "leans [src] against [target]'s penis, turning shocker on") + else if(carbon_target.is_bottomless() || penis.visibility_preference == GENITAL_ALWAYS_SHOW) + message = (user == target) ? pick("leans [src] against [target.p_their()] penis, letting it shock it. Ouch...", + "shocks [target.p_their()] penis with [src]") : pick("uses [src] to shock [target]'s penis", + "shocks [target]'s penis with [src]", + "leans [src] against [target]'s penis, turning shocker on") + + else if(carbon_target.is_bottomless() || vagina.visibility_preference == GENITAL_ALWAYS_SHOW) + message = (user == target) ? pick("leans [src] against [target.p_their()] vagina, letting it shock it. Ouch...", + "shocks [target.p_their()] pussy with [src]") : pick("uses [src] to shock [target]'s vagina", + "shocks [target]'s pussy with [src]", + "leans [src] against [target]'s vagina, turning it on") + else + to_chat(user, span_danger("Looks like [target]'s groin is covered!")) + return + + else if(penis) + if(carbon_target.is_bottomless() || penis.visibility_preference == GENITAL_ALWAYS_SHOW) + message = (user == target) ? pick("leans [src] against [target.p_their()] penis, letting it shock it. Ouch...", + "shocks [target.p_their()] penis with [src]") : pick("uses [src] to shock [target]'s penis", + "shocks [target]'s penis with [src]", + "leans [src] against [target]'s penis, turning shocker on") + else + to_chat(user, span_danger("Looks like [target]'s groin is covered!")) + return + + else if(vagina) + if(carbon_target.is_bottomless() || vagina.visibility_preference == GENITAL_ALWAYS_SHOW) + message = (user == target) ? pick("leans [src] against [target.p_their()] vagina, letting it shock it. Ouch...", + "shocks [target.p_their()] pussy with [src]") : pick("uses [src] to shock [target]'s vagina", + "shocks [target]'s pussy with [src]", + "leans [src] against [target]'s vagina, turning it on") + else + to_chat(user, span_danger("Looks like [target]'s groin is covered!")) + return - else if(target.is_bottomless() || vagina.visibility_preference == GENITAL_ALWAYS_SHOW) - message = (user == target) ? pick("leans [src] against [target.p_their()] vagina, letting it shock it. Ouch...", - "shocks [target.p_their()] pussy with [src]") : pick("uses [src] to shock [target]'s vagina", - "shocks [target]'s pussy with [src]", - "leans [src] against [target]'s vagina, turning it on") else - to_chat(user, span_danger("Looks like [target]'s groin is covered!")) - return - - else if(penis) - if(target.is_bottomless() || penis.visibility_preference == GENITAL_ALWAYS_SHOW) - message = (user == target) ? pick("leans [src] against [target.p_their()] penis, letting it shock it. Ouch...", - "shocks [target.p_their()] penis with [src]") : pick("uses [src] to shock [target]'s penis", - "shocks [target]'s penis with [src]", - "leans [src] against [target]'s penis, turning shocker on") - else - to_chat(user, span_danger("Looks like [target]'s groin is covered!")) - return - - else if(vagina) - if(target.is_bottomless() || vagina.visibility_preference == GENITAL_ALWAYS_SHOW) - message = (user == target) ? pick("leans [src] against [target.p_their()] vagina, letting it shock it. Ouch...", - "shocks [target.p_their()] pussy with [src]") : pick("uses [src] to shock [target]'s vagina", - "shocks [target]'s pussy with [src]", - "leans [src] against [target]'s vagina, turning it on") - else - to_chat(user, span_danger("Looks like [target]'s groin is covered!")) - return - + if(carbon_target.is_bottomless()) + message = (user == target) ? pick("leans [src] against [target.p_their()] belly, letting it shock it. Ouch...", + "shocks [target.p_their()] tummy with [src]") : pick("uses [src] to shock [target]'s belly", + "shocks [target]'s tummy with [src]", + "leans [src] against [target]'s belly, turning it on") + else + to_chat(user, span_danger("Looks like [target]'s groin is covered!")) + return else - if(target.is_bottomless()) - message = (user == target) ? pick("leans [src] against [target.p_their()] belly, letting it shock it. Ouch...", - "shocks [target.p_their()] tummy with [src]") : pick("uses [src] to shock [target]'s belly", - "shocks [target]'s tummy with [src]", - "leans [src] against [target]'s belly, turning it on") - else - to_chat(user, span_danger("Looks like [target]'s groin is covered!")) - return + message = (user == target) ? pick("leans [src] against [target.p_their()] synthetic genitals, letting it shock them. Ouch...", + "shocks [target.p_their()] tummy with [src]") : pick("uses [src] to shock [target]'s synthetic genitals", + "shocks [target]'s tummy with [src]", + "leans [src] against [target]'s synthetic genitals, turning it on") if(BODY_ZONE_CHEST) targetedsomewhere = TRUE - var/obj/item/organ/external/genital/breasts = target.get_organ_slot(ORGAN_SLOT_BREASTS) - if(breasts) - if(breasts.visibility_preference == GENITAL_ALWAYS_SHOW || target.is_topless()) - message = (user == target) ? pick("leans [src] against [target.p_their()] breasts, letting it shock it.", - "shocks [target.p_their()] tits with [src]") : pick("uses [src] to shock [target]'s breasts", - "shocks [target]'s nipples with [src]", - "leans [src] against [target]'s tits, turning it on") - else - to_chat(user, span_danger("Looks like [target]'s chest is covered!")) - return + if(carbon_target) + var/obj/item/organ/external/genital/breasts = target.get_organ_slot(ORGAN_SLOT_BREASTS) + if(breasts) + if(breasts.visibility_preference == GENITAL_ALWAYS_SHOW || carbon_target.is_topless()) + message = (user == target) ? pick("leans [src] against [target.p_their()] breasts, letting it shock them.", + "shocks [target.p_their()] tits with [src]") : pick("uses [src] to shock [target]'s breasts", + "shocks [target]'s nipples with [src]", + "leans [src] against [target]'s tits, turning it on") + else + to_chat(user, span_danger("Looks like [target]'s chest is covered!")) + return - else - if(target.is_topless()) - message = (user == target) ? pick("leans [src] against [target.p_their()] chest, letting it shock it.", - "shocks [target.p_their()] nipples with [src]") : pick("uses [src] to shock [target]'s chest", - "shocks [target]'s nipples with [src]", - "leans [src] against [target]'s chest, turning it on") else - to_chat(user, span_danger("Looks like [target]'s chest is covered!")) - return + if(carbon_target.is_topless()) + message = (user == target) ? pick("leans [src] against [target.p_their()] chest, letting it shock it.", + "shocks [target.p_their()] nipples with [src]") : pick("uses [src] to shock [target]'s chest", + "shocks [target]'s nipples with [src]", + "leans [src] against [target]'s chest, turning it on") + else + to_chat(user, span_danger("Looks like [target]'s chest is covered!")) + return + else + message = (user == target) ? pick("leans [src] against [target.p_their()] chest, letting it shock them.", + "shocks [target.p_their()] body with [src]") : pick("uses [src] to shock [target]'s chest", + "shocks [target]'s body with [src]", + "leans [src] against [target]'s chest, turning it on") if(BODY_ZONE_R_ARM) targetedsomewhere = TRUE - if(target.has_arms()) - if(target.is_hands_uncovered()) - message = (user == target) ? pick("leans [src] against [target.p_their()] right arm, letting it shock it.", - "shocks [target.p_their()] arm with [src]") : pick("uses [src] to shock [target]'s right arm", - "shocks [target]'s right arm with [src]", - "leans [src] against [target]'s right arm, turning it on") - else + if(carbon_target) + if(!carbon_target.has_arms()) + to_chat(user, span_danger("[target] doesn't have any arms!")) + return + if(!carbon_target.is_hands_uncovered()) to_chat(user, span_danger("[target]'s arms are covered!")) return - else - to_chat(user, span_danger("[target] doesn't have any arms!")) - return + message = (user == target) ? pick("leans [src] against [target.p_their()] right arm, letting it shock it.", + "shocks [target.p_their()] arm with [src]") : pick("uses [src] to shock [target]'s right arm", + "shocks [target]'s right arm with [src]", + "leans [src] against [target]'s right arm, turning it on") if(BODY_ZONE_L_ARM) targetedsomewhere = TRUE - if(target.has_arms()) - if(target.is_hands_uncovered()) - message = (user == target) ? pick("leans [src] against [target.p_their()] left arm, letting it shock it.", - "shocks [target.p_their()] arm with [src]") : pick("uses [src] to shock [target]'s left arm", - "shocks [target]'s left arm with [src]", - "leans [src] against [target]'s left arm, turning it on") - else + if(carbon_target) + if(!carbon_target.has_arms()) + to_chat(user, span_danger("[target] doesn't have any arms!")) + return + if(!carbon_target.is_hands_uncovered()) to_chat(user, span_danger("[target]'s arms are covered!")) return - else - to_chat(user, span_danger("[target] doesn't have any arms!")) - return + message = (user == target) ? pick("leans [src] against [target.p_their()] left arm, letting it shock it.", + "shocks [target.p_their()] arm with [src]") : pick("uses [src] to shock [target]'s left arm", + "shocks [target]'s left arm with [src]", + "leans [src] against [target]'s left arm, turning it on") if(BODY_ZONE_HEAD) targetedsomewhere = TRUE - if(target.is_head_uncovered()) - message = (user == target) ? pick("leans [src] against [target.p_their()] head, letting it shock it. Ouch! Why would they do that?!", - "shocks [target.p_their()] head with [src]") : pick("uses [src] to shock [target]'s head", - "shocks [target]'s neck with [src]", - "leans [src] against [target]'s neck, turning it on") - else + if(carbon_target && !carbon_target.is_head_uncovered()) to_chat(user, span_danger("[target]'s head is covered!")) return + message = (user == target) ? pick("leans [src] against [target.p_their()] head, letting it shock it. Ouch! Why would they do that?!", + "shocks [target.p_their()] head with [src]") : pick("uses [src] to shock [target]'s head", + "shocks [target]'s neck with [src]", + "leans [src] against [target]'s neck, turning it on") + if(BODY_ZONE_L_LEG) targetedsomewhere = TRUE - if(target.has_feet()) - if(target.is_barefoot()) - message = (user == target) ? pick("leans [src] against [target.p_their()] left leg, letting it shock it.", - "shocks [target.p_their()] leg with [src]") : pick("uses [src] to shock [target]'s left leg", - "shocks [target]'s left foot with [src]", - "leans [src] against [target]'s left leg, turning it on") - else - to_chat(user, span_danger("[target]'s toes are covered!")) - return - else + if(carbon_target && !carbon_target.has_feet()) to_chat(user, span_danger("[target] doesn't have any legs!")) return + if(carbon_target && !carbon_target.is_barefoot()) + to_chat(user, span_danger("[target]'s toes are covered!")) + return + message = (user == target) ? pick("leans [src] against [target.p_their()] left leg, letting it shock it.", + "shocks [target.p_their()] leg with [src]") : pick("uses [src] to shock [target]'s left leg", + "shocks [target]'s left foot with [src]", + "leans [src] against [target]'s left leg, turning it on") if(BODY_ZONE_R_LEG) targetedsomewhere = TRUE - if(target.has_feet()) - if(target.is_barefoot()) - message = (user == target) ? pick("leans [src] against [target.p_their()] right leg, letting it shock it.", - "shocks [target.p_their()] leg with [src]") : pick("uses [src] to shock [target]'s right leg", - "shocks [target]'s right foot with [src]", - "leans [src] against [target]'s right leg, turning it on") - - else - to_chat(user, span_danger("[target]'s toes are covered!")) - return - else + if(carbon_target && !carbon_target.has_feet()) to_chat(user, span_danger("[target] doesn't have any legs!")) return + if(carbon_target && !carbon_target.is_barefoot()) + to_chat(user, span_danger("[target]'s toes are covered!")) + return + message = (user == target) ? pick("leans [src] against [target.p_their()] right leg, letting it shock it.", + "shocks [target.p_their()] leg with [src]") : pick("uses [src] to shock [target]'s right leg", + "shocks [target]'s right foot with [src]", + "leans [src] against [target]'s right leg, turning it on") + if(!targetedsomewhere) return user.visible_message(span_purple("[user] [message]!")) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/leash.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/leash.dm index 6d76c684572..66ec89974c8 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/leash.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/leash.dm @@ -24,7 +24,7 @@ /// HERE BE DRAGONS /// /// Checks; leashing start -/obj/item/clothing/erp_leash/attack(mob/living/carbon/human/to_be_leashed, mob/living/user, params) +/obj/item/clothing/erp_leash/attack(mob/living/to_be_leashed, mob/living/user, params) var/datum/component/leash/erp/the_leash_component = our_leash_component?.resolve() if(the_leash_component) if(the_leash_component.parent == to_be_leashed) // We're hooked to them; and we have a component. Get 'em out! @@ -33,7 +33,11 @@ else our_leash_component = null /// Check if we even CAN leash someone / if someone is leashing themselves. If so; prevent it. - if(!istype(to_be_leashed) || user == to_be_leashed) + if(user == to_be_leashed) + return + if(!istype(to_be_leashed,/mob/living/carbon/human) && !istype(to_be_leashed,/mob/living/silicon/robot)) + return + if(!istype(user,/mob/living/carbon/human) && !istype(user,/mob/living/silicon/robot)) return /// Check their ERP prefs; if they don't allow sextoys: BTFO if(!to_be_leashed.check_erp_prefs(/datum/preference/toggle/erp/sex_toy, user, src)) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/leather_whip.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/leather_whip.dm index 83beedd5605..11b86eabe3b 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/leather_whip.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/leather_whip.dm @@ -145,21 +145,26 @@ worn_icon_state = "[base_icon_state]_[current_whip_form]" //safely discipline someone without damage -/obj/item/clothing/mask/leatherwhip/attack(mob/living/carbon/human/target, mob/living/carbon/human/user) +/obj/item/clothing/mask/leatherwhip/attack(mob/living/target, mob/living/user) . = ..() - if(!istype(target)) + var/mob/living/carbon/human/carbon_target + if(istype(target,/mob/living/carbon/human)) + carbon_target = target + else if(istype(target,/mob/living/silicon/robot)) + // Just use target var, return if it isn't human or robot + else + return + if(!istype(user,/mob/living/carbon/human) && !istype(user,/mob/living/silicon/robot)) return var/message = "" - var/targetedsomewhere = FALSE //and there is code for successful check, so we are whipping someone if(!target.check_erp_prefs(/datum/preference/toggle/erp/sex_toy, user, src)) to_chat(user, span_danger("[target] doesn't want you to do that.")) return switch(user.zone_selected) //to let code know what part of body we gonna whip if(BODY_ZONE_L_LEG) - targetedsomewhere = TRUE - if(!target.has_feet()) + if(carbon_target && !carbon_target.has_feet()) to_chat(user, span_danger("[target] is missing their left leg!")) return if(current_whip_type == "hard") @@ -184,8 +189,7 @@ play_lewd_sound(loc, 'sound/weapons/whip.ogg', 60) if(BODY_ZONE_R_LEG) - targetedsomewhere = TRUE - if(!target.has_feet()) + if(carbon_target && !carbon_target.has_feet()) to_chat(user, span_danger("[target] is missing their right leg!")) return if(current_whip_type == "hard") @@ -210,17 +214,16 @@ play_lewd_sound(loc, 'sound/weapons/whip.ogg', 60) if(BODY_ZONE_HEAD) - targetedsomewhere = TRUE message = (user == target) ? pick("wraps [src] around [target.p_their()] neck, choking [target.p_them()]self", "chokes [target.p_them()]self with [src]") : pick("chokes [target] with [src]", "twines [src] around [target]'s neck!") if(prob(70) && (target.stat != DEAD)) target.try_lewd_autoemote(pick("gasp", "choke", "moan")) - target.adjust_arousal(3) + if(carbon_target) + carbon_target.adjust_arousal(3) target.adjust_pain(5) play_lewd_sound(loc, 'modular_skyrat/modules/modular_items/lewd_items/sounds/latex.ogg', 80) if(BODY_ZONE_PRECISE_GROIN) - targetedsomewhere = TRUE - if(!target.is_bottomless()) + if(carbon_target && !carbon_target.is_bottomless()) to_chat(user, span_danger("[target]'s butt is covered!")) return if(current_whip_type == "weak") @@ -230,7 +233,8 @@ target.try_lewd_autoemote(pick("moan", "twitch")) if(prob(10)) target.apply_status_effect(/datum/status_effect/subspace) - target.adjust_arousal(5) + if(carbon_target) + carbon_target.adjust_arousal(5) target.adjust_pain(5) target.apply_status_effect(/datum/status_effect/spanked) if(HAS_TRAIT(target, TRAIT_MASOCHISM || TRAIT_BIMBO)) @@ -244,7 +248,8 @@ target.try_lewd_autoemote(pick("moan", "twitch", "twitch_s", "scream")) if(prob(10)) target.apply_status_effect(/datum/status_effect/subspace) - target.adjust_arousal(3) + if(carbon_target) + carbon_target.adjust_arousal(3) target.adjust_pain(8) target.apply_status_effect(/datum/status_effect/spanked) if(HAS_TRAIT(target, TRAIT_MASOCHISM || TRAIT_BIMBO)) @@ -271,10 +276,10 @@ target.apply_status_effect(/datum/status_effect/subspace) target.do_jitter_animation() target.adjust_pain(4) - target.adjust_arousal(5) + if(carbon_target) + carbon_target.adjust_arousal(5) play_lewd_sound(loc, 'sound/weapons/whip.ogg', 60) - if(!targetedsomewhere) - return + user.visible_message(span_purple("[user] [message]!")) //toggle low pain mode. Because sometimes screaming isn't good diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/magic_wand.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/magic_wand.dm index 631ae2a0b4d..47edb7c10fa 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/magic_wand.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/magic_wand.dm @@ -89,9 +89,17 @@ current_user.adjust_arousal(adjustment_amount * seconds_per_tick) current_user.adjust_pleasure(adjustment_amount * seconds_per_tick) -/obj/item/clothing/sextoy/magic_wand/attack(mob/living/carbon/human/target, mob/living/carbon/human/user) +/obj/item/clothing/sextoy/magic_wand/attack(mob/living/target, mob/living/user) . = ..() - if(!istype(target) || target.stat == DEAD) + + var/mob/living/carbon/human/carbon_target + if(istype(target,/mob/living/carbon/human)) + carbon_target = target + else if(istype(target,/mob/living/silicon/robot)) + // Just use target var, return if it isn't human or robot + else + return FALSE + if(!istype(user,/mob/living/carbon/human) && !istype(user,/mob/living/silicon/robot)) return FALSE var/message = "" @@ -117,42 +125,48 @@ switch(user.zone_selected) if(BODY_ZONE_PRECISE_GROIN) - var/obj/item/organ/external/genital/penis = target.get_organ_slot(ORGAN_SLOT_PENIS) - var/obj/item/organ/external/genital/vagina = target.get_organ_slot(ORGAN_SLOT_VAGINA) + if(carbon_target) + var/obj/item/organ/external/genital/penis = carbon_target.get_organ_slot(ORGAN_SLOT_PENIS) + var/obj/item/organ/external/genital/vagina = carbon_target.get_organ_slot(ORGAN_SLOT_VAGINA) - if(!vagina && !penis) - return FALSE + if(!vagina && !penis) + return FALSE - var/currently_bottomless = target.is_bottomless() - if(!currently_bottomless && !vagina?.visibility_preference && !penis?.visibility_preference) - to_chat(user, span_danger("Looks like [target]'s groin is covered!")) - return FALSE + var/currently_bottomless = carbon_target.is_bottomless() + if(!currently_bottomless && !vagina?.visibility_preference && !penis?.visibility_preference) + to_chat(user, span_danger("Looks like [carbon_target]'s groin is covered!")) + return FALSE - var/target_organs = list() - if(currently_bottomless || penis.visibility_preference == GENITAL_ALWAYS_SHOW) - target_organs += "penis" + var/target_organs = list() + if(currently_bottomless || penis.visibility_preference == GENITAL_ALWAYS_SHOW) + target_organs += "penis" - if(currently_bottomless || vagina.visibility_preference == GENITAL_ALWAYS_SHOW) - target_organs += "vagina" + if(currently_bottomless || vagina.visibility_preference == GENITAL_ALWAYS_SHOW) + target_organs += "vagina" - if(!length(target_organs)) - return FALSE + if(!length(target_organs)) + return FALSE - var/organ_to_use = pick(target_organs) - message = (user == target) ? pick("massages their [organ_to_use] with the [src]", "[first_adjective]teases their [organ_to_use] with [src]") : pick("[second_adjective]massages [target]'s [organ_to_use] with [src]", "uses [src] to [first_adjective]massage [target]'s [organ_to_use]", "leans the vibrator against [target]'s [organ_to_use]") - target.adjust_arousal((vibration_mode == "low" ? 4 : (vibration_mode == "high" ? 8 : 5))) - target.adjust_pleasure((vibration_mode == "low" ? 2 : (vibration_mode == "high" ? 10 : 5))) + var/organ_to_use = pick(target_organs) + message = (user == target) ? pick("massages their [organ_to_use] with the [src]", "[first_adjective]teases their [organ_to_use] with [src]") : pick("[second_adjective]massages [target]'s [organ_to_use] with [src]", "uses [src] to [first_adjective]massage [target]'s [organ_to_use]", "leans the vibrator against [target]'s [organ_to_use]") + carbon_target.adjust_arousal((vibration_mode == "low" ? 4 : (vibration_mode == "high" ? 8 : 5))) + carbon_target.adjust_pleasure((vibration_mode == "low" ? 2 : (vibration_mode == "high" ? 10 : 5))) + else + message = (user == target) ? pick("massages their synthetic genitals with the [src]", "[first_adjective]teases their synthetic genitals with [src]") : pick("[second_adjective]massages [target]'s synthetic genitals with [src]", "uses [src] to [first_adjective]massage [target]'s synthetic genitals", "leans the vibrator against [target]'s synthetic genitals") if(BODY_ZONE_CHEST) - var/obj/item/organ/external/genital/breasts = target.get_organ_slot(ORGAN_SLOT_BREASTS) - if(!(target.is_topless() || breasts.visibility_preference == GENITAL_ALWAYS_SHOW)) - to_chat(user, span_danger("Looks like [target]'s chest is covered!")) - return FALSE + if(carbon_target) + var/obj/item/organ/external/genital/breasts = carbon_target.get_organ_slot(ORGAN_SLOT_BREASTS) + if(!(carbon_target.is_topless() || breasts.visibility_preference == GENITAL_ALWAYS_SHOW)) + to_chat(user, span_danger("Looks like [target]'s chest is covered!")) + return FALSE - var/breasts_or_nipples = breasts ? ORGAN_SLOT_BREASTS : ORGAN_SLOT_NIPPLES - message = (user == target) ? pick("massages their [breasts_or_nipples] with the [src]", "[first_adjective]teases their [breasts ? "tits" : ORGAN_SLOT_NIPPLES] with [src]") : pick("[second_adjective]teases [target]'s [breasts_or_nipples] with [src]", "uses [src] to[vibration_mode == " low" ? " slowly" : ""] massage [target]'s [breasts ? "tits" : ORGAN_SLOT_NIPPLES]", "uses [src] to tease [target]'s [breasts ? "boobs" : ORGAN_SLOT_NIPPLES]") - target.adjust_arousal((vibration_mode == "low" ? 3 : (vibration_mode == "high" ? 7 : 4))) - target.adjust_pleasure((vibration_mode == "low" ? 1 : (vibration_mode == "high" ? 9 : 4))) + var/breasts_or_nipples = breasts ? ORGAN_SLOT_BREASTS : ORGAN_SLOT_NIPPLES + message = (user == target) ? pick("massages their [breasts_or_nipples] with the [src]", "[first_adjective]teases their [breasts ? "tits" : ORGAN_SLOT_NIPPLES] with [src]") : pick("[second_adjective]teases [target]'s [breasts_or_nipples] with [src]", "uses [src] to[vibration_mode == " low" ? " slowly" : ""] massage [target]'s [breasts ? "tits" : ORGAN_SLOT_NIPPLES]", "uses [src] to tease [target]'s [breasts ? "boobs" : ORGAN_SLOT_NIPPLES]") + carbon_target.adjust_arousal((vibration_mode == "low" ? 3 : (vibration_mode == "high" ? 7 : 4))) + carbon_target.adjust_pleasure((vibration_mode == "low" ? 1 : (vibration_mode == "high" ? 9 : 4))) + else + message = (user == target) ? pick("massages their bodily touch sensors with the [src]", "[first_adjective]teases their bodily touch sensors with [src]") : pick("[second_adjective]teases [target]'s bodily touch sensors with [src]", "uses [src] to[vibration_mode == " low" ? " slowly" : ""] massage [target]'s bodily touch sensors", "uses [src] to tease [target]'s bodily touch sensors") if(prob(30)) target.try_lewd_autoemote(pick("twitch_s", "moan")) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/spanking_pad.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/spanking_pad.dm index facf60ea273..81952e5b210 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/spanking_pad.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/spanking_pad.dm @@ -55,9 +55,16 @@ color_changed = TRUE return CLICK_ACTION_SUCCESS -/obj/item/spanking_pad/attack(mob/living/carbon/human/target, mob/living/carbon/human/user) +/obj/item/spanking_pad/attack(mob/living/target, mob/living/user) . = ..() - if(!istype(target)) + var/mob/living/carbon/human/carbon_target + if(istype(target,/mob/living/carbon/human)) + carbon_target = target + else if(istype(target,/mob/living/silicon/robot)) + // Just use target var, return if it isn't human or robot + else + return + if(!istype(user,/mob/living/carbon/human) && !istype(user,/mob/living/silicon/robot)) return var/message = "" @@ -66,13 +73,14 @@ return switch(user.zone_selected) //to let code know what part of body we gonna spank. if(BODY_ZONE_PRECISE_GROIN) - if(!target.is_bottomless()) + if(carbon_target && !carbon_target.is_bottomless()) to_chat(user, span_danger("[target]'s butt is covered!")) return message = (user == target) ? pick("spanks themselves with [src]", "uses [src] to slap their hips") : pick("slaps [target]'s hips with [src]", "uses [src] to slap [target]'s butt", "spanks [target] with [src], making a loud slapping noise", "slaps [target]'s thighs with [src]") if(prob(40) && (target.stat != DEAD)) target.try_lewd_autoemote(pick("twitch_s", "moan", "blush", "gasp")) - target.adjust_arousal(2) + if(carbon_target) + carbon_target.adjust_arousal(2) target.adjust_pain(4) target.apply_status_effect(/datum/status_effect/spanked) if(HAS_TRAIT(target, TRAIT_MASOCHISM || TRAIT_BIMBO)) diff --git a/modular_skyrat/modules/modular_vending/code/clothesmate.dm b/modular_skyrat/modules/modular_vending/code/clothesmate.dm index 101fb2a88b1..50ce6f46ec0 100644 --- a/modular_skyrat/modules/modular_vending/code/clothesmate.dm +++ b/modular_skyrat/modules/modular_vending/code/clothesmate.dm @@ -19,7 +19,7 @@ /obj/item/clothing/head/fedora/brown = 5, /obj/item/clothing/head/fedora/beige = 5, /obj/item/clothing/head/fedora/white = 5, - /obj/item/clothing/head/standalone_hood = 5, + /obj/item/clothing/head/hooded/standalone_hood = 5, /obj/item/clothing/head/small_bow = 5, /obj/item/clothing/head/large_bow = 5, /obj/item/clothing/head/back_bow = 5, diff --git a/code/datums/quirks/positive_quirks/night_vision.dm b/modular_skyrat/modules/night_vision/night_vision.dm similarity index 96% rename from code/datums/quirks/positive_quirks/night_vision.dm rename to modular_skyrat/modules/night_vision/night_vision.dm index 808a213db51..942d52fa645 100644 --- a/code/datums/quirks/positive_quirks/night_vision.dm +++ b/modular_skyrat/modules/night_vision/night_vision.dm @@ -22,7 +22,7 @@ /datum/quirk/night_vision/proc/refresh_quirk_holder_eyes() var/mob/living/carbon/human/human_quirk_holder = quirk_holder var/obj/item/organ/internal/eyes/eyes = human_quirk_holder.get_organ_by_type(/obj/item/organ/internal/eyes) - if(!eyes || eyes.lighting_cutoff) + if(!eyes) return // We've either added or removed TRAIT_NIGHT_VISION before calling this proc. Just refresh the eyes. eyes.refresh() diff --git a/modular_skyrat/modules/oversized/readme.md b/modular_skyrat/modules/oversized/readme.md index f35e32123ed..13ec69e4ca6 100644 --- a/modular_skyrat/modules/oversized/readme.md +++ b/modular_skyrat/modules/oversized/readme.md @@ -8,4 +8,4 @@ Adds a veteran-crew locked perk that makes your sprite much larger with some ass ### Code Embargo: -Anything that could be percieved as a balance or feature change directly to the oversized quirk, be it code in this module or elsewhere in the code, must be passed by the maintainers prior to PRing, or else your PR risks being closed. +Anything that could be perceived as a balance or feature change directly to the oversized quirk, be it code in this module or elsewhere in the code, must be passed by the maintainers prior to PRing, or else your PR risks being closed. diff --git a/modular_skyrat/modules/primitive_catgirls/code/clothing.dm b/modular_skyrat/modules/primitive_catgirls/code/clothing.dm index a053558992b..547b048c8db 100644 --- a/modular_skyrat/modules/primitive_catgirls/code/clothing.dm +++ b/modular_skyrat/modules/primitive_catgirls/code/clothing.dm @@ -129,7 +129,7 @@ // Head -/obj/item/clothing/head/standalone_hood/primitive_catgirl_colors +/obj/item/clothing/head/hooded/standalone_hood/primitive_catgirl_colors greyscale_colors = "#594032#364660" // Misc Items diff --git a/modular_skyrat/modules/primitive_catgirls/code/clothing_vendor.dm b/modular_skyrat/modules/primitive_catgirls/code/clothing_vendor.dm index 2f786daf0ac..a041ff786d7 100644 --- a/modular_skyrat/modules/primitive_catgirls/code/clothing_vendor.dm +++ b/modular_skyrat/modules/primitive_catgirls/code/clothing_vendor.dm @@ -17,7 +17,7 @@ /obj/item/clothing/gloves/fingerless/primitive_catgirl_gauntlets = 10, /obj/item/clothing/mask/primitive_catgirl_greyscale_gaiter = 10, /obj/item/clothing/suit/apron/chef/colorable_apron/primitive_catgirl_leather = 10, - /obj/item/clothing/head/standalone_hood/primitive_catgirl_colors = 10, + /obj/item/clothing/head/hooded/standalone_hood/primitive_catgirl_colors = 10, /obj/item/clothing/neck/scarf/primitive_catgirl_scarf = 5, /obj/item/clothing/neck/face_scarf = 5, /obj/item/clothing/neck/large_scarf/primitive_catgirl_off_white = 5, diff --git a/modular_skyrat/modules/primitive_cooking_additions/code/plant_bag.dm b/modular_skyrat/modules/primitive_cooking_additions/code/plant_bag.dm index d30273c4a5a..d2ec9293531 100644 --- a/modular_skyrat/modules/primitive_cooking_additions/code/plant_bag.dm +++ b/modular_skyrat/modules/primitive_cooking_additions/code/plant_bag.dm @@ -18,7 +18,7 @@ ) // This is so the linen reskin shows properly in the suit storage. -/obj/item/storage/bag/plants/build_worn_icon(default_layer, default_icon_file, isinhands, female_uniform, override_state, override_file, use_height_offset, mutant_styles) +/obj/item/storage/bag/plants/build_worn_icon(default_layer, default_icon_file, isinhands, female_uniform, override_state, override_file, mutant_styles) if(default_layer == SUIT_STORE_LAYER && current_skin == RESKIN_LINEN) override_file = 'modular_skyrat/modules/primitive_cooking_additions/icons/plant_bag_worn_mirror.dmi' diff --git a/modular_skyrat/modules/primitive_structures/code/storage_structures.dm b/modular_skyrat/modules/primitive_structures/code/storage_structures.dm index d35bd9ce1c6..ddba26ba209 100644 --- a/modular_skyrat/modules/primitive_structures/code/storage_structures.dm +++ b/modular_skyrat/modules/primitive_structures/code/storage_structures.dm @@ -50,7 +50,7 @@ icon_state = "producebin" resistance_flags = FLAMMABLE base_build_path = /obj/machinery/smartfridge/wooden - base_icon_state = "producebin" + base_icon_state = "produce" use_power = NO_POWER_USE light_power = 0 idle_power_usage = 0 @@ -82,9 +82,7 @@ /obj/machinery/smartfridge/wooden/produce_bin name = "produce bin" desc = "A wooden hamper, used to hold plant products and try to keep them safe from pests." - icon_state = "producebin" base_build_path = /obj/machinery/smartfridge/wooden/produce_bin - base_icon_state = "producebin" /obj/machinery/smartfridge/wooden/produce_bin/accept_check(obj/item/item_to_check) var/static/list/accepted_items = list( diff --git a/modular_skyrat/modules/verbs/code/subtle.dm b/modular_skyrat/modules/verbs/code/subtle.dm index 56b1d028605..166a279cd18 100644 --- a/modular_skyrat/modules/verbs/code/subtle.dm +++ b/modular_skyrat/modules/verbs/code/subtle.dm @@ -57,8 +57,8 @@ if((ghost.client?.prefs.chat_toggles & CHAT_GHOSTSIGHT) && !(ghost in viewers)) ghost.show_message(subtle_message) - for(var/mob/reciever in viewers) - reciever.show_message(subtle_message, alt_msg = subtle_message) + for(var/mob/receiver in viewers) + receiver.show_message(subtle_message, alt_msg = subtle_message) return TRUE @@ -168,12 +168,12 @@ if(holo?.Impersonation?.client) ghostless |= holo.Impersonation - for(var/mob/reciever in ghostless) - reciever.show_message(subtler_message, alt_msg = subtler_message) + for(var/mob/receiver in ghostless) + receiver.show_message(subtler_message, alt_msg = subtler_message) // BUBBER EDIT BEGIN - Subtler sounds - var/datum/preferences/prefs = reciever.client?.prefs + var/datum/preferences/prefs = receiver.client?.prefs if(prefs && prefs.read_preference(/datum/preference/toggle/subtler_sound)) - reciever.playsound_local(get_turf(reciever), 'sound/effects/glockenspiel_ping.ogg', 50) + receiver.playsound_local(get_turf(receiver), 'sound/effects/glockenspiel_ping.ogg', 50) // BUBBER EDIT END return TRUE diff --git a/sound/attributions.txt b/sound/attributions.txt index bade328eff9..502c412153a 100644 --- a/sound/attributions.txt +++ b/sound/attributions.txt @@ -173,3 +173,5 @@ whistle1.ogg: https://freesound.org/people/taure/sounds/411638/ , license: CC0 1 portal_close, portal_open_1 , portal_open_2 , portal_open_3 , portal_travel made by @virgilcore (discord IGN) +toilet-flush.ogg is made by shw489 (CC0): +https://freesound.org/people/shw489/sounds/234389/ diff --git a/sound/effects/gateway_calibrated.ogg b/sound/effects/gateway_calibrated.ogg new file mode 100644 index 00000000000..c88d0862c98 Binary files /dev/null and b/sound/effects/gateway_calibrated.ogg differ diff --git a/sound/effects/gateway_calibrating.ogg b/sound/effects/gateway_calibrating.ogg new file mode 100644 index 00000000000..09ca63fbc10 Binary files /dev/null and b/sound/effects/gateway_calibrating.ogg differ diff --git a/sound/effects/gateway_close.ogg b/sound/effects/gateway_close.ogg new file mode 100644 index 00000000000..98e964aca13 Binary files /dev/null and b/sound/effects/gateway_close.ogg differ diff --git a/sound/effects/gateway_open.ogg b/sound/effects/gateway_open.ogg new file mode 100644 index 00000000000..f6d11f7eede Binary files /dev/null and b/sound/effects/gateway_open.ogg differ diff --git a/sound/effects/gateway_travel.ogg b/sound/effects/gateway_travel.ogg new file mode 100644 index 00000000000..bbaed502790 Binary files /dev/null and b/sound/effects/gateway_travel.ogg differ diff --git a/sound/machines/hiss.ogg b/sound/machines/hiss.ogg index a1b725eab93..73ace2de31f 100644 Binary files a/sound/machines/hiss.ogg and b/sound/machines/hiss.ogg differ diff --git a/sound/machines/toilet_flush.ogg b/sound/machines/toilet_flush.ogg new file mode 100644 index 00000000000..bddefe76f6a Binary files /dev/null and b/sound/machines/toilet_flush.ogg differ diff --git a/sound/runtime/hyperspace/hyperspace_begin.ogg b/sound/runtime/hyperspace/hyperspace_begin.ogg index 225e2d98820..f1e36f9d8fc 100644 Binary files a/sound/runtime/hyperspace/hyperspace_begin.ogg and b/sound/runtime/hyperspace/hyperspace_begin.ogg differ diff --git a/sound/runtime/hyperspace/hyperspace_begin_distance.ogg b/sound/runtime/hyperspace/hyperspace_begin_distance.ogg index e79363743b4..6b2d3409094 100644 Binary files a/sound/runtime/hyperspace/hyperspace_begin_distance.ogg and b/sound/runtime/hyperspace/hyperspace_begin_distance.ogg differ diff --git a/sound/runtime/hyperspace/hyperspace_end.ogg b/sound/runtime/hyperspace/hyperspace_end.ogg index 64fb5214a96..1c4320ae62c 100644 Binary files a/sound/runtime/hyperspace/hyperspace_end.ogg and b/sound/runtime/hyperspace/hyperspace_end.ogg differ diff --git a/sound/runtime/hyperspace/hyperspace_end_distance.ogg b/sound/runtime/hyperspace/hyperspace_end_distance.ogg index 591abb0ad25..119ff1523e8 100644 Binary files a/sound/runtime/hyperspace/hyperspace_end_distance.ogg and b/sound/runtime/hyperspace/hyperspace_end_distance.ogg differ diff --git a/sound/runtime/hyperspace/hyperspace_progress.ogg b/sound/runtime/hyperspace/hyperspace_progress.ogg index 7cc11a864ae..2072f065905 100644 Binary files a/sound/runtime/hyperspace/hyperspace_progress.ogg and b/sound/runtime/hyperspace/hyperspace_progress.ogg differ diff --git a/sound/runtime/hyperspace/hyperspace_progress_distance.ogg b/sound/runtime/hyperspace/hyperspace_progress_distance.ogg index 2ba8533a845..7113513ed0b 100644 Binary files a/sound/runtime/hyperspace/hyperspace_progress_distance.ogg and b/sound/runtime/hyperspace/hyperspace_progress_distance.ogg differ diff --git a/strings/ion_laws.json b/strings/ion_laws.json index 6e43edaba1e..d40f6e7afa4 100644 --- a/strings/ion_laws.json +++ b/strings/ion_laws.json @@ -1042,5 +1042,16 @@ "SPYING ON", "STALKING", "WATCHING" - ] + ], + "ionpet": [ + "POLY", + "RENAULT", + "IAN", + "PUN PUN", + "LAMARR", + "RUNTIME", + "CITRUS", + "MCGRIFF", + "ARANEUS" + ] } diff --git a/strings/names/clown.txt b/strings/names/clown.txt index 028494580ba..1a5f8740ae7 100644 --- a/strings/names/clown.txt +++ b/strings/names/clown.txt @@ -28,6 +28,7 @@ Delicious Dan Dinkster Dinky Doodle Doctor Greenthumb +Doctor Rockso Doink Early Worm Eggy @@ -118,7 +119,6 @@ Unimaginable Nut Valid Vincent Weather Report Widderwise -Yanye Kest Yesterdays Beef Yobbo Ziggy Yoyo diff --git a/strings/tips.txt b/strings/tips.txt index cd0dbbdf0d0..1f1b26b6116 100644 --- a/strings/tips.txt +++ b/strings/tips.txt @@ -252,7 +252,7 @@ Suit storage units not only remove blood and dirt from clothing, but also radiat The Chaplain can bless any container with water by hitting it with their bible. Holy water has a myriad of uses against both cults and large amounts of it are a great contributor to success against them. The P2P chat function found on tablet computers allows for a stealthy way to communicate with people. The resist button will allow you to resist out of handcuffs, being buckled to a chair or bed, out of locked lockers and more. Whenever you're stuck, try resisting! -The station's self-destruct terminal is invincible. Go find the disk instead of trying to destroy it. +The station's self-destruct terminal is indestructible. Go find the disk instead of trying to destroy it. There are many places around the station to hide contraband. A few for starters: linen boxes, toilet cisterns, body bags. Experiment to find more! To crack the safe in the vault, use a stethoscope or three plastic explosives on it. Using sticky tape on items can make them stick to people and walls! Be careful, grenades might stick to your hand during the moment of truth! @@ -285,3 +285,4 @@ You can use an upgraded microwave to charge your PDA! You'll quickly lose your interest in the game if you play to win and kill. If you find yourself doing this, take a step back and talk to people - it's a much better experience! Some areas of the station use simple nautical directions to indicate their respective locations, like Fore (Front of the ship), Aft (Back), Port (Left side), Starboard (Right), Quarter and Bow (Either sides of Aft and Fore, respectively). You can review these terms on the Notepad App of your PDA. Modular computers are compatible with integrated circuits, but most of the program-dependent circuits require them to be open/backgrounded to work. To install circuits on stationary consoles, you need to toggle interaction with the frame with right-click first. +You don't need to destroy a Spacecoin machine to make your funds stop draining. Swiping your ID on it will stop the withdrawal. diff --git a/tgstation.dme b/tgstation.dme index acd81ef3c22..61f71a34129 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -962,6 +962,7 @@ #include "code\datums\actions\mobs\dash.dm" #include "code\datums\actions\mobs\defensive_mode.dm" #include "code\datums\actions\mobs\fire_breath.dm" +#include "code\datums\actions\mobs\ground_slam.dm" #include "code\datums\actions\mobs\lava_swoop.dm" #include "code\datums\actions\mobs\meteors.dm" #include "code\datums\actions\mobs\mobcooldown.dm" @@ -970,6 +971,7 @@ #include "code\datums\actions\mobs\projectileattack.dm" #include "code\datums\actions\mobs\sign_language.dm" #include "code\datums\actions\mobs\sneak.dm" +#include "code\datums\actions\mobs\teleport.dm" #include "code\datums\actions\mobs\transform_weapon.dm" #include "code\datums\actions\mobs\sequences\dash_attack.dm" #include "code\datums\actions\mobs\sequences\projectile.dm" @@ -1019,6 +1021,7 @@ #include "code\datums\ai\basic_mobs\basic_subtrees\mine_walls.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\move_to_cardinal.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\opportunistic_ventcrawler.dm" +#include "code\datums\ai\basic_mobs\basic_subtrees\play_with_owners.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\prepare_travel_to_destination.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\ranged_skirmish.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\run_emote.dm" @@ -1260,6 +1263,7 @@ #include "code\datums\components\pinnable_accessory.dm" #include "code\datums\components\plundering_attacks.dm" #include "code\datums\components\pricetag.dm" +#include "code\datums\components\profound_fisher.dm" #include "code\datums\components\punchcooldown.dm" #include "code\datums\components\puzzgrid.dm" #include "code\datums\components\radiation_countdown.dm" @@ -1334,6 +1338,7 @@ #include "code\datums\components\temporary_description.dm" #include "code\datums\components\tether.dm" #include "code\datums\components\thermite.dm" +#include "code\datums\components\throwbonus_on_windup.dm" #include "code\datums\components\tippable.dm" #include "code\datums\components\toggle_attached_clothing.dm" #include "code\datums\components\toggle_suit.dm" @@ -1847,7 +1852,6 @@ #include "code\datums\quirks\positive_quirks\light_step.dm" #include "code\datums\quirks\positive_quirks\mime_fan.dm" #include "code\datums\quirks\positive_quirks\musician.dm" -#include "code\datums\quirks\positive_quirks\night_vision.dm" #include "code\datums\quirks\positive_quirks\poster_boy.dm" #include "code\datums\quirks\positive_quirks\self_aware.dm" #include "code\datums\quirks\positive_quirks\settler.dm" @@ -1951,6 +1955,7 @@ #include "code\datums\status_effects\debuffs\strandling.dm" #include "code\datums\status_effects\debuffs\terrified.dm" #include "code\datums\status_effects\debuffs\tower_of_babel.dm" +#include "code\datums\status_effects\debuffs\tox_vomit.dm" #include "code\datums\status_effects\debuffs\slime\slime_food.dm" #include "code\datums\status_effects\debuffs\slime\slime_leech.dm" #include "code\datums\status_effects\debuffs\slime\slimed.dm" @@ -2718,6 +2723,7 @@ #include "code\game\objects\structures\cat_house.dm" #include "code\game\objects\structures\chess.dm" #include "code\game\objects\structures\containers.dm" +#include "code\game\objects\structures\curtains.dm" #include "code\game\objects\structures\deployable_turret.dm" #include "code\game\objects\structures\destructible_structures.dm" #include "code\game\objects\structures\displaycase.dm" @@ -2778,7 +2784,6 @@ #include "code\game\objects\structures\training_machine.dm" #include "code\game\objects\structures\traps.dm" #include "code\game\objects\structures\votingbox.dm" -#include "code\game\objects\structures\watercloset.dm" #include "code\game\objects\structures\windoor_assembly.dm" #include "code\game\objects\structures\window.dm" #include "code\game\objects\structures\beds_chairs\alien_nest.dm" @@ -2844,6 +2849,10 @@ #include "code\game\objects\structures\transit_tubes\transit_tube.dm" #include "code\game\objects\structures\transit_tubes\transit_tube_construction.dm" #include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm" +#include "code\game\objects\structures\water_structures\sink.dm" +#include "code\game\objects\structures\water_structures\toilet.dm" +#include "code\game\objects\structures\water_structures\urinal.dm" +#include "code\game\objects\structures\water_structures\water_source.dm" #include "code\game\turfs\baseturf_skipover.dm" #include "code\game\turfs\baseturfs.dm" #include "code\game\turfs\change_turf.dm" @@ -3159,10 +3168,6 @@ #include "code\modules\antagonists\cult\cult_turf_overlay.dm" #include "code\modules\antagonists\cult\rune_spawn_action.dm" #include "code\modules\antagonists\cult\runes.dm" -#include "code\modules\antagonists\disease\disease_abilities.dm" -#include "code\modules\antagonists\disease\disease_datum.dm" -#include "code\modules\antagonists\disease\disease_disease.dm" -#include "code\modules\antagonists\disease\disease_mob.dm" #include "code\modules\antagonists\ert\ert.dm" #include "code\modules\antagonists\fugitive\fugitive.dm" #include "code\modules\antagonists\fugitive\fugitive_equipment.dm" @@ -3839,7 +3844,9 @@ #include "code\modules\client\preferences\species_features\ethereal.dm" #include "code\modules\client\preferences\species_features\felinid.dm" #include "code\modules\client\preferences\species_features\lizard.dm" +#include "code\modules\client\preferences\species_features\monkey.dm" #include "code\modules\client\preferences\species_features\moth.dm" +#include "code\modules\client\preferences\species_features\mushperson.dm" #include "code\modules\client\preferences\species_features\mutants.dm" #include "code\modules\client\preferences\species_features\pod.dm" #include "code\modules\client\preferences\species_features\vampire.dm" @@ -4089,7 +4096,6 @@ #include "code\modules\events\ghost_role\operative.dm" #include "code\modules\events\ghost_role\revenant_event.dm" #include "code\modules\events\ghost_role\sentience.dm" -#include "code\modules\events\ghost_role\sentient_disease.dm" #include "code\modules\events\ghost_role\slaughter_event.dm" #include "code\modules\events\ghost_role\space_dragon.dm" #include "code\modules\events\ghost_role\space_ninja.dm" @@ -4171,6 +4177,7 @@ #include "code\modules\fishing\fishing_rod.dm" #include "code\modules\fishing\aquarium\aquarium.dm" #include "code\modules\fishing\aquarium\aquarium_kit.dm" +#include "code\modules\fishing\aquarium\aquarium_upgrades.dm" #include "code\modules\fishing\aquarium\fish_analyzer.dm" #include "code\modules\fishing\fish\_fish.dm" #include "code\modules\fishing\fish\chasm_detritus.dm" @@ -4397,7 +4404,6 @@ #include "code\modules\jobs\job_types\antagonists\nuclear_operative.dm" #include "code\modules\jobs\job_types\antagonists\paradox_clone.dm" #include "code\modules\jobs\job_types\antagonists\revenant.dm" -#include "code\modules\jobs\job_types\antagonists\sentient_disease.dm" #include "code\modules\jobs\job_types\antagonists\slaughter_demon.dm" #include "code\modules\jobs\job_types\antagonists\space_dragon.dm" #include "code\modules\jobs\job_types\antagonists\space_ninja.dm" @@ -6076,6 +6082,7 @@ #include "code\modules\transport\tram\tram_structures.dm" #include "code\modules\tutorials\_tutorial.dm" #include "code\modules\tutorials\tutorial_instruction.dm" +#include "code\modules\tutorials\tutorial_skip.dm" #include "code\modules\tutorials\tutorials\drop.dm" #include "code\modules\tutorials\tutorials\switch_hands.dm" #include "code\modules\unit_tests\_unit_tests.dm" @@ -6354,9 +6361,11 @@ #include "modular_skyrat\master_files\code\datums\emotes.dm" #include "modular_skyrat\master_files\code\datums\ert.dm" #include "modular_skyrat\master_files\code\datums\outfit.dm" +#include "modular_skyrat\master_files\code\datums\actions\items\toggles.dm" #include "modular_skyrat\master_files\code\datums\bodypart_overlays\bodypart_overlay.dm" #include "modular_skyrat\master_files\code\datums\bodypart_overlays\mutant_bodypart_overlay.dm" #include "modular_skyrat\master_files\code\datums\components\crafting.dm" +#include "modular_skyrat\master_files\code\datums\components\crusher.dm" #include "modular_skyrat\master_files\code\datums\components\damage_tracker.dm" #include "modular_skyrat\master_files\code\datums\components\fullauto.dm" #include "modular_skyrat\master_files\code\datums\components\grillable.dm" @@ -6407,6 +6416,7 @@ #include "modular_skyrat\master_files\code\game\machinery\hologram.dm" #include "modular_skyrat\master_files\code\game\machinery\limbgrower.dm" #include "modular_skyrat\master_files\code\game\machinery\suit_storage.dm" +#include "modular_skyrat\master_files\code\game\machinery\computer\orders\order_items\mining\order_mining.dm" #include "modular_skyrat\master_files\code\game\machinery\doors\firedoor.dm" #include "modular_skyrat\master_files\code\game\objects\items.dm" #include "modular_skyrat\master_files\code\game\objects\objs.dm" @@ -6606,6 +6616,8 @@ #include "modular_skyrat\master_files\code\modules\mapfluff\ruins\objects_and_mobs\necropolis_gate.dm" #include "modular_skyrat\master_files\code\modules\mapfluff\ruins\spaceruin_code\oldstation\oldstation_cytology.dm" #include "modular_skyrat\master_files\code\modules\mining\equipment\explorer_gear.dm" +#include "modular_skyrat\master_files\code\modules\mining\equipment\kinetic_crusher.dm" +#include "modular_skyrat\master_files\code\modules\mining\equipment\kinetic_gauntlets.dm" #include "modular_skyrat\master_files\code\modules\mob\login.dm" #include "modular_skyrat\master_files\code\modules\mob\dead\new_player\latejoin_menu.dm" #include "modular_skyrat\master_files\code\modules\mob\dead\new_player\preferences_setup.dm" @@ -6649,6 +6661,7 @@ #include "modular_skyrat\master_files\code\modules\mod\modules\modules_supply.dm" #include "modular_skyrat\master_files\code\modules\modular_computers\computers\item\laptop_presets.dm" #include "modular_skyrat\master_files\code\modules\modular_computers\file_system\programs\maintenance\camera.dm" +#include "modular_skyrat\master_files\code\modules\movespeed\modifiers\items.dm" #include "modular_skyrat\master_files\code\modules\orders\order_mining.dm" #include "modular_skyrat\master_files\code\modules\pai\card.dm" #include "modular_skyrat\master_files\code\modules\paperwork\employment_contract.dm" @@ -8016,6 +8029,7 @@ #include "modular_skyrat\modules\nanotrasen_rep\code\clothing.dm" #include "modular_skyrat\modules\nanotrasen_rep\code\nanotrasen_consultant.dm" #include "modular_skyrat\modules\new_cells\code\power_cell.dm" +#include "modular_skyrat\modules\night_vision\night_vision.dm" #include "modular_skyrat\modules\novaya_ert\code\advanced_choice_beacon.dm" #include "modular_skyrat\modules\novaya_ert\code\back.dm" #include "modular_skyrat\modules\novaya_ert\code\belt.dm" diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss index 64a0db0b681..049126d684f 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss @@ -820,8 +820,8 @@ em { color: #7adbf3; } } +// SKYRAT EDIT ADDITION BEGIN -// SKYRAT ADDITION BEGIN .velvet { color: #660015; font-weight: bold; @@ -917,8 +917,7 @@ em { color: #9b6000; } } - -// SKYRAT ADDITION END +// SKYRAT EDIT ADDITION END .phobia { color: #dd0000; @@ -1227,8 +1226,8 @@ $border-width-px: $border-width * 1px; background-color: darken(map.get($alert-stripe-colors, $color-name), 5); } } +/* SKYRAT EDIT ADDITION START - DARK MODE CLASSES */ -/* SKYRAT DARK MODE CLASSES */ .mentor { color: #8a2be2; } @@ -1324,3 +1323,4 @@ $border-width-px: $border-width * 1px; font-weight: bold; font-style: italic; } +// SKYRAT EDIT ADDITION END diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss index 0818d48d77e..36a741520da 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss @@ -1161,8 +1161,8 @@ $border-width-px: $border-width * 1px; ); } } +/* SKYRAT EDIT ADDITION START - LIGHT MODE CLASSES */ -/* SKYRAT LIGHT MODE CLASSES */ .mentor { color: #8a2be2; } @@ -1277,3 +1277,4 @@ $border-width-px: $border-width * 1px; color: #9b6000; } } +// SKYRAT EDIT ADDITION END diff --git a/tgui/packages/tgui/index.tsx b/tgui/packages/tgui/index.tsx index 223e532ff79..14600cc2f00 100644 --- a/tgui/packages/tgui/index.tsx +++ b/tgui/packages/tgui/index.tsx @@ -25,10 +25,8 @@ import './styles/themes/retro.scss'; import './styles/themes/syndicate.scss'; import './styles/themes/wizard.scss'; import './styles/themes/admin.scss'; -// SKYRAT ADDITION START -import './styles/themes/clockwork.scss'; +import './styles/themes/clockwork.scss'; // SKYRAT EDIT ADDITION -// SKYRAT ADDITION END import { perf } from 'common/perf'; import { setupHotReloading } from 'tgui-dev-server/link/client.cjs'; diff --git a/tgui/packages/tgui/interfaces/AntagInfoWizard.tsx b/tgui/packages/tgui/interfaces/AntagInfoWizard.tsx index c726bf9bee8..1eee2fd37c7 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoWizard.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoWizard.tsx @@ -54,7 +54,7 @@ type Info = { can_change_objective: BooleanLike; }; -// SKYRAT CHANGE height from 630 to 700 +// SKYRAT EDIT CHANGE - height from 630 to 700 export const AntagInfoWizard = (props) => { const { data, act } = useBackend(); const { ritual, objectives, can_change_objective } = data; diff --git a/tgui/packages/tgui/interfaces/Biogenerator.tsx b/tgui/packages/tgui/interfaces/Biogenerator.tsx index 072be4944fb..24597404396 100644 --- a/tgui/packages/tgui/interfaces/Biogenerator.tsx +++ b/tgui/packages/tgui/interfaces/Biogenerator.tsx @@ -1,10 +1,12 @@ import { BooleanLike } from 'common/react'; import { classes } from 'common/react'; +import { useState } from 'react'; -import { useBackend, useLocalState } from '../backend'; +import { useBackend } from '../backend'; import { Box, Button, + Icon, LabeledList, NoticeBox, NumberInput, @@ -16,162 +18,75 @@ import { } from '../components'; import { Window } from '../layouts'; -type BiogeneratorData = { - processing: BooleanLike; +type Data = { beaker: BooleanLike; - reagent_color: string; - biomass: number; - max_visual_biomass: number; - can_process: BooleanLike; beakerCurrentVolume: number; beakerMaxVolume: number; - max_output: number; - efficiency: number; + biomass: number; + can_process: BooleanLike; categories: Category[]; + efficiency: number; + max_output: number; + max_visual_biomass: number; + processing: BooleanLike; + reagent_color: string; }; type Category = { - name: string; items: Design[]; + name: string; }; type Design = { - id: number; - name: string; - is_reagent: BooleanLike; - disable: BooleanLike; - cost: number; amount: number; + cost: number; + disable: BooleanLike; + id: string; + is_reagent: BooleanLike; + name: string; }; -export const Biogenerator = (props) => { - const { act, data } = useBackend(); - const { - processing, - beaker, - reagent_color, - biomass, - max_visual_biomass, - can_process, - beakerCurrentVolume, - beakerMaxVolume, - max_output, - efficiency, - categories, - } = data; - const [selectedCategory, setSelectedCategory] = useLocalState( - 'category', +export function Biogenerator(props) { + const { data } = useBackend(); + const { beaker, beakerCurrentVolume, beakerMaxVolume, categories } = data; + + const [selectedCategory, setSelectedCategory] = useState( data.categories[0]?.name, ); + const items = categories.find((category) => category.name === selectedCategory)?.items || []; + + const space = beaker ? beakerMaxVolume - beakerCurrentVolume : 1; + return ( -
- - act('activate')} - /> - } - > - - - {`${parseFloat(biomass.toFixed(2))} units`} - - - - {!!beaker && ( - act('eject')} - /> - } - > - - - {`${beakerCurrentVolume} of ${beakerMaxVolume} units`} - - - - )} - {!beaker && ( - - - No liquid container - - - )} - -
+
- {categories.map((category) => ( + {categories.map(({ name }) => ( setSelectedCategory(category.name)} + key={name} + selected={name === selectedCategory} + onClick={() => setSelectedCategory(name)} > - {category.name} + {name} ))} - +
- + {items.map((item) => ( + + ))}
@@ -179,68 +94,165 @@ export const Biogenerator = (props) => {
); +} + +function Controls() { + const { act, data } = useBackend(); + const { + beaker, + beakerCurrentVolume, + beakerMaxVolume, + biomass, + can_process, + max_visual_biomass, + processing, + reagent_color, + } = data; + + return ( +
+ + act('activate')} + > + Generate + + } + > + + + {`${parseFloat(biomass.toFixed(2))} units`} + + + + {!!beaker && ( + act('eject')} + > + Eject + + } + > + + + {`${beakerCurrentVolume} of ${beakerMaxVolume} units`} + + + + )} + {!beaker && ( + + + No liquid container + + + )} + +
+ ); +} + +type Props = { + item: Design; + space: number; }; -const ItemList = (props) => { - const { act } = useBackend(); - const items = props.items.map((item) => { - const [amount, setAmount] = useLocalState( - 'amount' + item.name, - item.is_reagent ? Math.min(Math.max(props.space, 1), 10) : 1, - ); - const disabled = - props.processing || - (item.is_reagent && !props.beaker) || - (item.is_reagent && props.space < amount) || - props.biomass < Math.ceil((item.cost * amount) / props.efficiency); - const max_possible = Math.floor( - (props.efficiency * props.biomass) / item.cost, - ); - const max_capacity = item.is_reagent ? props.space : props.max_output; - const max_amount = Math.max(1, Math.min(max_capacity, max_possible)); - return { - ...item, - disabled, - max_amount, - amount, - setAmount, - }; - }); - return items.map((item) => ( - +function Item(props: Props) { + const { item, space } = props; + const { cost, id, is_reagent, name } = item; + + const { act, data } = useBackend(); + const { biomass, beaker, efficiency, max_output, processing } = data; + + const minAmount = is_reagent ? Math.min(Math.max(space, 1), 10) : 1; + + const [amount, setAmount] = useState(minAmount); + + const disabled = + processing || + (is_reagent && !beaker) || + (is_reagent && space < amount) || + biomass < Math.ceil((cost * amount) / efficiency); + + const maxPossible = Math.floor((efficiency * biomass) / cost); + + const maxCapacity = is_reagent ? space : max_output; + const maxAmount = Math.max(1, Math.min(maxCapacity, maxPossible)); + + return ( + {' '} - {item.name} + {name} item.setAmount(value)} + maxValue={maxAmount} + onChange={(value) => setAmount(value)} /> - )); -}; + ); +} diff --git a/tgui/packages/tgui/interfaces/ChemSeparator.tsx b/tgui/packages/tgui/interfaces/ChemSeparator.tsx index 7d6d645f17a..e6be430466f 100644 --- a/tgui/packages/tgui/interfaces/ChemSeparator.tsx +++ b/tgui/packages/tgui/interfaces/ChemSeparator.tsx @@ -4,136 +4,69 @@ import { useBackend } from '../backend'; import { Box, Button, + Knob, LabeledList, - NoticeBox, ProgressBar, - Section, + Stack, } from '../components'; import { Window } from '../layouts'; +type RegHolderData = { + total_volume: number; + maximum_volume: number; + temp: number; + color: string; +}; + type Data = { - is_burning: BooleanLike; - temperature: number; - own_total_volume: number; - own_maximum_volume: number; - own_reagent_color: string; - beaker: BooleanLike; - beaker_total_volume: number; - beaker_maximum_volume: number; - beaker_reagent_color: string; + flask: RegHolderData; + beaker: RegHolderData; + fuel: RegHolderData; + burner_on: BooleanLike; + knob: number; + condenser_installed: BooleanLike; + condenser_on: BooleanLike; + max_burner_knob_settings: number; }; export const ChemSeparator = (props) => { const { act, data } = useBackend(); + const { + flask, + beaker, + fuel, + burner_on, + knob, + condenser_installed, + condenser_on, + max_burner_knob_settings, + } = data; + return ( - + -
- - - + + + + {beaker && ( + + Beaker: + + } + > + + + + + {`${Math.ceil(beaker.total_volume)} of ${ + beaker.maximum_volume + } units at ${Math.ceil(beaker.temp)}K`} + + + + + + + + + )} + + Burner Knob: + + } + > + + act('knob', { + amount: value, + }) + } + /> + + {fuel && ( + + Fuel Source: + + } + > + + + {`${Math.ceil(fuel.total_volume)} of ${ + fuel.maximum_volume + } units at ${Math.ceil(fuel.temp)}K`} + + + + )} + {!!condenser_installed && + (flask.total_volume > 0 || beaker?.total_volume > 0) && + fuel?.total_volume > 0 && ( + + Cooling: + + } + > + )} - -
+
); diff --git a/tgui/packages/tgui/interfaces/CrewConsole.tsx b/tgui/packages/tgui/interfaces/CrewConsole.tsx index aa4f272f248..52af3eaff43 100644 --- a/tgui/packages/tgui/interfaces/CrewConsole.tsx +++ b/tgui/packages/tgui/interfaces/CrewConsole.tsx @@ -175,7 +175,6 @@ const CrewTable = () => { return (
diff --git a/tgui/packages/tgui/interfaces/LootPanel/LootBox.tsx b/tgui/packages/tgui/interfaces/LootPanel/LootBox.tsx index 137021b34ef..3fb94324b6a 100644 --- a/tgui/packages/tgui/interfaces/LootPanel/LootBox.tsx +++ b/tgui/packages/tgui/interfaces/LootPanel/LootBox.tsx @@ -1,3 +1,4 @@ +import { BooleanLike } from 'common/react'; import { capitalizeAll, capitalizeFirst } from 'common/string'; import { useBackend } from '../../backend'; @@ -5,6 +6,10 @@ import { Tooltip } from '../../components'; import { IconDisplay } from './IconDisplay'; import { SearchGroup, SearchItem } from './types'; +type Data = { + is_blind: BooleanLike; +}; + type Props = | { item: SearchItem; @@ -14,7 +19,8 @@ type Props = }; export function LootBox(props: Props) { - const { act } = useBackend(); + const { act, data } = useBackend(); + const { is_blind } = data; let amount = 0; let item: SearchItem; @@ -29,32 +35,35 @@ export function LootBox(props: Props) { ? '???' : capitalizeFirst(item.name.split(' ')[0]).slice(0, 5); - return ( - -
-
- act('grab', { - alt: event.altKey, - ctrl: event.ctrlKey, - ref: item.ref, - shift: event.shiftKey, - }) - } - onContextMenu={(event) => { - event.preventDefault(); - act('grab', { - right: true, - ref: item.ref, - }); - }} - > - - {amount > 1 &&
{amount}
} -
- {name} + // So we can conditionally wrap tooltip + const content = ( +
+
+ act('grab', { + alt: event.altKey, + ctrl: event.ctrlKey, + ref: item.ref, + shift: event.shiftKey, + }) + } + onContextMenu={(event) => { + event.preventDefault(); + act('grab', { + right: true, + ref: item.ref, + }); + }} + > + + {amount > 1 &&
{amount}
}
- + {!is_blind && {name}} +
); + + if (is_blind) return content; + + return {content}; } diff --git a/tgui/packages/tgui/interfaces/MessageMonitor.tsx b/tgui/packages/tgui/interfaces/MessageMonitor.tsx index 091210e1b34..ed3afac07a2 100644 --- a/tgui/packages/tgui/interfaces/MessageMonitor.tsx +++ b/tgui/packages/tgui/interfaces/MessageMonitor.tsx @@ -1,6 +1,7 @@ import { BooleanLike } from 'common/react'; +import { Dispatch, SetStateAction, useState } from 'react'; -import { useBackend, useLocalState } from '../backend'; +import { useBackend } from '../backend'; import { Box, Button, @@ -160,13 +161,12 @@ const HackedScreen = (props) => { ); }; -const MainScreenAuth = (props) => { +const MainScreenAuth = (props: AuthScreenProps) => { + const { auth_password, setPassword } = props; + const { act, data } = useBackend(); - const { status, is_malf, password } = data; - const [auth_password, setPassword] = useLocalState( - 'input_password', - password, - ); + const { status, is_malf } = data; + return ( <> @@ -260,13 +260,15 @@ const MainScreenAuth = (props) => { ); }; -const MainScreenNotAuth = (props) => { +type AuthScreenProps = { + auth_password: string; + setPassword: Dispatch>; +}; + +const MainScreenNotAuth = (props: AuthScreenProps) => { + const { auth_password, setPassword } = props; const { act, data } = useBackend(); - const { status, is_malf, password } = data; - const [auth_password, setPassword] = useLocalState( - 'input_password', - password, - ); + const { status, is_malf } = data; return ( <> @@ -319,11 +321,24 @@ const MainScreenNotAuth = (props) => { }; const MainScreen = (props) => { - const { act, data } = useBackend(); - const { auth } = data; + const { data } = useBackend(); + const { auth, password } = data; + + const [auth_password, setPassword] = useState(password); + return ( - {auth ? : } + {auth ? ( + + ) : ( + + )} ); }; diff --git a/tgui/packages/tgui/interfaces/NifSoulPoem.jsx b/tgui/packages/tgui/interfaces/NifSoulPoem.jsx index acbd502c1c7..9e397962c59 100644 --- a/tgui/packages/tgui/interfaces/NifSoulPoem.jsx +++ b/tgui/packages/tgui/interfaces/NifSoulPoem.jsx @@ -41,7 +41,7 @@ export const NifSoulPoem = (props) => { {message.message}
-
Time Recieved: {message.timestamp}
+
Time received: {message.timestamp}
))}
diff --git a/tgui/packages/tgui/interfaces/Orbit/JobIcon.tsx b/tgui/packages/tgui/interfaces/Orbit/JobIcon.tsx index 70c3ae0f5dc..f102927e9bc 100644 --- a/tgui/packages/tgui/interfaces/Orbit/JobIcon.tsx +++ b/tgui/packages/tgui/interfaces/Orbit/JobIcon.tsx @@ -13,7 +13,7 @@ type IconSettings = { const normalIcon: IconSettings = { dmi: 'icons/mob/huds/hud.dmi', - transform: 'scale(2.3) translateX(8px) translateY(1px)', + transform: 'scale(2.3) translateX(9px) translateY(1px)', }; const antagIcon: IconSettings = { diff --git a/tgui/packages/tgui/interfaces/PaiInterface/Available.tsx b/tgui/packages/tgui/interfaces/PaiInterface/Available.tsx index fb0b5930c12..361afdd0eb7 100644 --- a/tgui/packages/tgui/interfaces/PaiInterface/Available.tsx +++ b/tgui/packages/tgui/interfaces/PaiInterface/Available.tsx @@ -15,7 +15,15 @@ import { PaiData } from './types'; /** * Renders a list of available software and the ram with which to download it */ -export const AvailableDisplay = () => { +export function AvailableDisplay(props) { + const { data } = useBackend(); + const { available } = data; + + const entries = Object.entries(available); + if (entries.length === 0) { + return null; + } + return (
} @@ -23,13 +31,17 @@ export const AvailableDisplay = () => { scrollable title="Available Software" > - + + {entries?.map(([name, cost]) => { + return ; + })} +
); -}; +} /** Displays the remaining RAM left as a progressbar. */ -const MemoryDisplay = (props) => { +function MemoryDisplay(props) { const { data } = useBackend(); const { ram } = data; @@ -50,70 +62,55 @@ const MemoryDisplay = (props) => { bad: [0, 33], }} value={ram} - /> + width={5} + > + {ram} +
); -}; +} -/** A list of available software. - * creates table rows for each, like a vendor. - */ -const SoftwareList = (props) => { - const { data } = useBackend(); - const { available } = data; - if (!available) { - return null; - } - const entries = Object.entries(available); - if (entries.length === 0) { - return null; - } - - return ( - - {entries?.map(([name, cost], index) => { - return ; - })} -
- ); +type ListItemProps = { + cost: number; + name: string; }; /** A row for an individual software listing. */ -const ListItem = (props) => { +function ListItem(props: ListItemProps) { const { act, data } = useBackend(); const { installed, ram } = data; const { cost, name } = props; + const purchased = installed.includes(name); + const tooExpensive = ram < cost; return ( - - - {name} - - - - {!purchased && cost}{' '} - = cost ? 'purple' : 'bad'} - name={purchased ? 'check' : 'microchip'} + + + + {name} + + + + {!purchased && cost}{' '} + = cost ? 'purple' : 'bad'} + name={purchased ? 'check' : 'microchip'} + /> + + + + - - + + + ); -}; +} diff --git a/tgui/packages/tgui/interfaces/PaiInterface/Directives.tsx b/tgui/packages/tgui/interfaces/PaiInterface/Directives.tsx index 02da38a319e..33f664be956 100644 --- a/tgui/packages/tgui/interfaces/PaiInterface/Directives.tsx +++ b/tgui/packages/tgui/interfaces/PaiInterface/Directives.tsx @@ -6,7 +6,7 @@ import { DIRECTIVE_COMPREHENSION, DIRECTIVE_ORDER } from './constants'; import { PaiData } from './types'; /** Shows the hardcoded PAI info along with any supplied orders. */ -export const DirectiveDisplay = (props) => { +export function DirectiveDisplay(props) { const { data } = useBackend(); const { directives = [], master_name } = data; const displayedLaw = directives?.length @@ -43,4 +43,4 @@ export const DirectiveDisplay = (props) => { ); -}; +} diff --git a/tgui/packages/tgui/interfaces/PaiInterface/Installed.tsx b/tgui/packages/tgui/interfaces/PaiInterface/Installed.tsx index 4b7c65e8d34..edabfc620bb 100644 --- a/tgui/packages/tgui/interfaces/PaiInterface/Installed.tsx +++ b/tgui/packages/tgui/interfaces/PaiInterface/Installed.tsx @@ -1,4 +1,5 @@ -import { useBackend, useLocalState } from 'tgui/backend'; +import { useState } from 'react'; +import { useBackend } from 'tgui/backend'; import { Button, NoticeBox, Section, Stack } from 'tgui/components'; import { DOOR_JACK, HOST_SCAN, PHOTO_MODE, SOFTWARE_DESC } from './constants'; @@ -9,69 +10,63 @@ import { PaiData } from './types'; * another section that displays the selected installed * software info. */ -export const InstalledDisplay = (props) => { - return ( - - - - - - - - - ); -}; - -/** Iterates over installed software to render buttons. */ -const InstalledSoftware = (props) => { +export function InstalledDisplay(props) { const { data } = useBackend(); const { installed = [] } = data; - const [currentSelection, setCurrentSelection] = useLocalState('software', ''); - return ( -
- {!installed.length ? ( - Nothing installed! - ) : ( - installed.map((software, index) => { - return ( - - ); - }) - )} -
- ); -}; + const [currentSelection, setCurrentSelection] = useState(''); -/** Software info for buttons clicked. */ -const InstalledInfo = (props) => { - const [currentSelection] = useLocalState('software', ''); const title = !currentSelection ? 'Select a Program' : currentSelection; return ( -
- {currentSelection && ( - - {SOFTWARE_DESC[currentSelection]} - - - - - )} -
+ + +
+ {currentSelection && ( + + {SOFTWARE_DESC[currentSelection]} + + + + + )} +
+
+ +
+ {!installed.length ? ( + Nothing installed! + ) : ( + installed.map((software, index) => { + return ( + + ); + }) + )} +
+
+
); +} + +type SoftwareButtonsProps = { + currentSelection: string; }; /** * Once a software is selected, generates custom buttons or a default * power toggle. */ -const SoftwareButtons = (props) => { +function SoftwareButtons(props: SoftwareButtonsProps) { + const { currentSelection } = props; + const { act, data } = useBackend(); const { door_jack, languages, master_name } = data; - const [currentSelection] = useLocalState('software', ''); switch (currentSelection) { case 'Door Jack': @@ -170,4 +165,4 @@ const SoftwareButtons = (props) => { ); } -}; +} diff --git a/tgui/packages/tgui/interfaces/PaiInterface/System.tsx b/tgui/packages/tgui/interfaces/PaiInterface/System.tsx index fce6cb7e095..2281411dc1f 100644 --- a/tgui/packages/tgui/interfaces/PaiInterface/System.tsx +++ b/tgui/packages/tgui/interfaces/PaiInterface/System.tsx @@ -4,7 +4,7 @@ import { Box, Button, LabeledList, Section, Stack } from 'tgui/components'; import { ICON_MAP } from './constants'; import { PaiData } from './types'; -export const SystemDisplay = (props) => { +export function SystemDisplay(props) { return ( @@ -15,10 +15,10 @@ export const SystemDisplay = (props) => { ); -}; +} /** Renders some ASCII art. Changes to red on emag. */ -const SystemWallpaper = (props) => { +function SystemWallpaper(props) { const { data } = useBackend(); const { emagged } = data; @@ -58,12 +58,12 @@ const SystemWallpaper = (props) => { ); -}; +} /** Displays master info. * You can check their DNA and change your image here. */ -const SystemInfo = (props) => { +function SystemInfo(props) { const { act, data } = useBackend(); const { image, master_dna, master_name } = data; @@ -101,4 +101,4 @@ const SystemInfo = (props) => { ); -}; +} diff --git a/tgui/packages/tgui/interfaces/PaiInterface/index.tsx b/tgui/packages/tgui/interfaces/PaiInterface/index.tsx index c581dfd52f4..c085bf32107 100644 --- a/tgui/packages/tgui/interfaces/PaiInterface/index.tsx +++ b/tgui/packages/tgui/interfaces/PaiInterface/index.tsx @@ -1,4 +1,4 @@ -import { useLocalState } from 'tgui/backend'; +import { useState } from 'react'; import { Stack, Tabs } from 'tgui/components'; import { Window } from 'tgui/layouts'; @@ -8,8 +8,8 @@ import { DirectiveDisplay } from './Directives'; import { InstalledDisplay } from './Installed'; import { SystemDisplay } from './System'; -export const PaiInterface = (props) => { - const [tab] = useLocalState('tab', PAI_TAB.System); +export function PaiInterface(props) { + const [tab, setTab] = useState(PAI_TAB.System); return ( @@ -22,51 +22,39 @@ export const PaiInterface = (props) => { {tab === PAI_TAB.Available && } - + + setTab(PAI_TAB.System)} + selected={tab === PAI_TAB.System} + > + System + + setTab(PAI_TAB.Directive)} + selected={tab === PAI_TAB.Directive} + > + Directives + + setTab(PAI_TAB.Installed)} + selected={tab === PAI_TAB.Installed} + > + Installed + + setTab(PAI_TAB.Available)} + selected={tab === PAI_TAB.Available} + > + Download + + ); -}; - -/** - * Tabs at bottom of screen. YES THIS IS INTENTIONAL. It's a phone screen - * and the buttons are on the bottom. Android! - */ -const TabDisplay = (props) => { - const [tab, setTab] = useLocalState('tab', PAI_TAB.System); - - return ( - - setTab(PAI_TAB.System)} - selected={tab === PAI_TAB.System} - > - System - - setTab(PAI_TAB.Directive)} - selected={tab === PAI_TAB.Directive} - > - Directives - - setTab(PAI_TAB.Installed)} - selected={tab === PAI_TAB.Installed} - > - Installed - - setTab(PAI_TAB.Available)} - selected={tab === PAI_TAB.Available} - > - Download - - - ); -}; +} diff --git a/tgui/packages/tgui/interfaces/PaiInterface/types.ts b/tgui/packages/tgui/interfaces/PaiInterface/types.ts index 28c91da7a9c..33b4a2a5952 100644 --- a/tgui/packages/tgui/interfaces/PaiInterface/types.ts +++ b/tgui/packages/tgui/interfaces/PaiInterface/types.ts @@ -1,7 +1,7 @@ import { BooleanLike } from 'common/react'; export type PaiData = { - available: ReadonlyArray<{ name: string; value: number }>; + available: Record; directives: string; door_jack: string | null; emagged: BooleanLike; diff --git a/tgui/packages/tgui/interfaces/Pandemic/Specimen.tsx b/tgui/packages/tgui/interfaces/Pandemic/Specimen.tsx index 9f37778605f..c52e20980f4 100644 --- a/tgui/packages/tgui/interfaces/Pandemic/Specimen.tsx +++ b/tgui/packages/tgui/interfaces/Pandemic/Specimen.tsx @@ -1,4 +1,5 @@ -import { useBackend, useLocalState } from 'tgui/backend'; +import { useState } from 'react'; +import { useBackend } from 'tgui/backend'; import { Button, NoticeBox, Section, Stack, Tabs } from 'tgui/components'; import { SymptomDisplay } from './Symptom'; @@ -6,13 +7,53 @@ import { Data } from './types'; import { VirusDisplay } from './Virus'; export const SpecimenDisplay = (props) => { - const { data } = useBackend(); - const { viruses = [] } = data; - const [tab, setTab] = useLocalState('tab', 0); + const { act, data } = useBackend(); + const { is_ready, viruses = [] } = data; + + const [tab, setTab] = useState(0); const virus = viruses[tab]; return ( -
}> +
+ {viruses.length > 1 && ( + + + {viruses.map((virus, index) => { + return ( + setTab(index)} + key={index} + > + {virus.name} + + ); + })} + + + )} + + + + + } + > {!virus ? ( Nothing detected. ) : ( @@ -28,45 +69,3 @@ export const SpecimenDisplay = (props) => {
); }; - -const Buttons = (props) => { - const { act, data } = useBackend(); - const { is_ready, viruses = [] } = data; - const [tab, setTab] = useLocalState('tab', 0); - const virus = viruses[tab]; - - return ( - - {viruses.length > 1 && ( - - - {viruses.map((virus, index) => { - return ( - setTab(index)} - key={index} - > - {virus.name} - - ); - })} - - - )} - -
-
- - - - - - - - - - - - - - -
-
- -
- - - + + + {desc ? : null} + + +
+
+
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
); }; diff --git a/tgui/packages/tgui/interfaces/PersonalCrafting.tsx b/tgui/packages/tgui/interfaces/PersonalCrafting.tsx index d45890d271a..4063a2a2102 100644 --- a/tgui/packages/tgui/interfaces/PersonalCrafting.tsx +++ b/tgui/packages/tgui/interfaces/PersonalCrafting.tsx @@ -15,6 +15,7 @@ import { Stack, Tabs, Tooltip, + VirtualList, } from '../components'; import { Window } from '../layouts'; import { Food } from './PreferencesMenu/data'; @@ -499,32 +500,36 @@ export const PersonalCrafting = (props) => { style={{ overflowY: 'auto' }} > {recipes.length > 0 ? ( - recipes - .slice(0, displayLimit) - .map((item) => - display_compact ? ( - - ) : ( - - ), - ) + + {recipes + .slice(0, displayLimit) + .map((item) => + display_compact ? ( + + ) : ( + + ), + )} + ) : ( No recipes found. diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/sentientdisease.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/sentientdisease.ts deleted file mode 100644 index a9c11eda729..00000000000 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/sentientdisease.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Antagonist, Category } from '../base'; - -const SentientDisease: Antagonist = { - key: 'sentientdisease', - name: 'Sentient Disease', - description: [ - ` - Mutate and spread yourself and infect as much of the crew as possible - with a deadly plague of your own creation. - `, - ], - category: Category.Midround, -}; - -export default SentientDisease; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/base.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/base.tsx index 26a05dfbad6..8dbe75ccc4b 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/base.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/base.tsx @@ -266,8 +266,7 @@ export const FeatureShortTextInput = ( /> ); }; - -// SKYRAT FEATURES DOWN HERE +// SKYRAT EDIT ADDITION START - SKYRAT FEATURES DOWN HERE export const FeatureTextInput = ( props: FeatureValueProps, @@ -355,3 +354,4 @@ export const FeatureTriBoolInput = (props: FeatureValueProps) => { ); }; +// SKYRAT EDIT ADDITION END diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx index 120e2fdd5c8..9fb2dbda5ce 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx @@ -129,6 +129,13 @@ export const allow_mismatched_parts_toggle: FeatureToggle = { component: CheckboxInput, }; +export const allow_mismatched_hair_color_toggle: FeatureToggle = { + name: 'Allow Mismatched Hair Color', + description: + 'Allows species who normally have a fixed hair color to have different hair colors. This includes in-round sources such as dyeing hair, alter form, etc. Currently only applicable to slimes.', + component: CheckboxInput, +}; + export const allow_genitals_toggle: FeatureToggle = { name: 'Allow Genital Parts', description: 'Enables if you want to have genitals on your character.', diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/skyrat/erp_preferences.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/skyrat/erp_preferences.tsx index fefa333fd7b..4830f93422a 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/skyrat/erp_preferences.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/skyrat/erp_preferences.tsx @@ -35,7 +35,7 @@ export const aphro_pref: FeatureToggle = { name: 'Aphrodisiacs', category: 'ERP', description: - 'Toggles whether you wish to recieve the effects of aphrodisiacs', + 'Toggles whether you wish to receive the effects of aphrodisiacs', component: CheckboxInput, }; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/skyrat/ticket_ping.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/skyrat/ticket_ping.tsx index 55e07f0e10d..ed68e4bff93 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/skyrat/ticket_ping.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/game_preferences/skyrat/ticket_ping.tsx @@ -5,6 +5,6 @@ export const ticket_ping_pref: FeatureToggle = { name: 'Ticket ping', category: 'ADMIN', description: - 'When enabled, you will recieve regular pings from unhandled tickets.', + 'When enabled, you will receive regular pings from unhandled tickets.', component: CheckboxInput, }; diff --git a/tgui/packages/tgui/interfaces/RequestsConsole/AnnouncementTab.tsx b/tgui/packages/tgui/interfaces/RequestsConsole/AnnouncementTab.tsx index 5ffeed57137..77a0b3558b7 100644 --- a/tgui/packages/tgui/interfaces/RequestsConsole/AnnouncementTab.tsx +++ b/tgui/packages/tgui/interfaces/RequestsConsole/AnnouncementTab.tsx @@ -1,11 +1,13 @@ -import { useBackend, useLocalState } from '../../backend'; +import { useState } from 'react'; + +import { useBackend } from '../../backend'; import { Button, NoticeBox, Section, TextArea } from '../../components'; import { RequestsData } from './types'; export const AnnouncementTab = (props) => { const { act, data } = useBackend(); const { authentication_data, is_admin_ghost_ai } = data; - const [messageText, setMessageText] = useLocalState('messageText', ''); + const [messageText, setMessageText] = useState(''); return (